From e5094e5bf2aee3516d04ce35ba2fb27e70ea9858 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 6 Nov 2023 13:18:58 +0800 Subject: [PATCH 001/656] fix(deps): update all non-major dependencies (#14883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- package.json | 10 +- .../create-vite/template-lit-ts/package.json | 4 +- .../create-vite/template-lit/package.json | 4 +- .../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 | 12 +- .../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 | 2 +- .../create-vite/template-vue/package.json | 2 +- packages/plugin-legacy/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/package.json | 2 +- playground/legacy/package.json | 2 +- playground/optimize-deps/package.json | 2 +- playground/preload/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- pnpm-lock.yaml | 238 +++++++++--------- 26 files changed, 167 insertions(+), 161 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 83948b84d2cf07..663a72aabbb9b1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@bfc49f4cff6934aa236c171f9bcbf1dd6b1ef438 # v40.0.1 + uses: tj-actions/changed-files@18c8a4ecebe93d32ed8a88e1d0c098f5f68c221b # v40.1.0 with: files: | docs/** diff --git a/package.json b/package.json index a2f07dd2b200b3..7a28a09b3cf6ab 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "@types/convert-source-map": "^2.0.2", "@types/cross-spawn": "^6.0.4", "@types/debug": "^4.1.10", - "@types/estree": "^1.0.3", + "@types/estree": "^1.0.4", "@types/etag": "^1.8.2", "@types/fs-extra": "^11.0.3", "@types/json-stable-stringify": "^1.0.35", @@ -59,11 +59,11 @@ "@types/sass": "~1.43.1", "@types/stylus": "^0.48.41", "@types/ws": "^8.5.8", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", + "@typescript-eslint/eslint-plugin": "^6.9.1", + "@typescript-eslint/parser": "^6.9.1", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^3.0.0", - "eslint": "^8.52.0", + "eslint": "^8.53.0", "eslint-define-config": "^1.24.1", "eslint-plugin-import": "^2.29.0", "eslint-plugin-n": "^16.2.0", @@ -83,7 +83,7 @@ "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", - "vitepress": "1.0.0-rc.24", + "vitepress": "1.0.0-rc.25", "vitest": "^0.34.6", "vue": "^3.3.7" }, diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 64bd3e38ccdff4..a164138deb6613 100644 --- a/packages/create-vite/template-lit-ts/package.json +++ b/packages/create-vite/template-lit-ts/package.json @@ -9,10 +9,10 @@ "preview": "vite preview" }, "dependencies": { - "lit": "^3.0.1" + "lit": "^3.0.2" }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 81979702df847f..e925d2aaacd99f 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -9,9 +9,9 @@ "preview": "vite preview" }, "dependencies": { - "lit": "^3.0.1" + "lit": "^3.0.2" }, "devDependencies": { - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 95c5ff727f9e2c..d8c49975dd64cc 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.18.1" + "preact": "^10.18.2" }, "devDependencies": { "@preact/preset-vite": "^2.6.0", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index fdf20eaecf1bd1..9594c3784cbb4b 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.18.1" + "preact": "^10.18.2" }, "devDependencies": { "@preact/preset-vite": "^2.6.0", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index ef7f1a6a037c29..d69981eeb4b5d8 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -10,9 +10,9 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" }, "dependencies": { - "@builder.io/qwik": "^1.2.15" + "@builder.io/qwik": "^1.2.17" } } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index ef7f1a6a037c29..d69981eeb4b5d8 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,9 +10,9 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" }, "dependencies": { - "@builder.io/qwik": "^1.2.15" + "@builder.io/qwik": "^1.2.17" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 9bc5e3858211d1..ba38c3d46f844e 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,15 +14,15 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.33", + "@types/react": "^18.2.35", "@types/react-dom": "^18.2.14", - "@typescript-eslint/eslint-plugin": "^6.9.0", - "@typescript-eslint/parser": "^6.9.0", - "@vitejs/plugin-react": "^4.1.0", - "eslint": "^8.52.0", + "@typescript-eslint/eslint-plugin": "^6.9.1", + "@typescript-eslint/parser": "^6.9.1", + "@vitejs/plugin-react": "^4.1.1", + "eslint": "^8.53.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index f3fd48fea70e9d..5a17edca52ee62 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,13 +14,13 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.33", + "@types/react": "^18.2.35", "@types/react-dom": "^18.2.14", - "@vitejs/plugin-react": "^4.1.0", - "eslint": "^8.52.0", + "@vitejs/plugin-react": "^4.1.1", + "eslint": "^8.53.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 17015cfa428849..a5af9452971b17 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.4" + "solid-js": "^1.8.5" }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13", + "vite": "^5.0.0-beta.16", "vite-plugin-solid": "^2.7.2" } } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index 28065b344f429a..ed565d1c9716a6 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.4" + "solid-js": "^1.8.5" }, "devDependencies": { - "vite": "^5.0.0-beta.13", + "vite": "^5.0.0-beta.16", "vite-plugin-solid": "^2.7.2" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index bd416eb20d2b9f..78dcfd9ad4b69c 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": "^3.5.2", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 550db4b3eef105..78b990f8315507 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.0.0-next.2", "svelte": "^4.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index e636147bd68a0f..372ae57710021b 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.2.2", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index f7b023f0855165..b1923cdd236a1e 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.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 253adb1c9d559b..13e7cd06634184 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@vitejs/plugin-vue": "^4.4.0", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.13", + "vite": "^5.0.0-beta.16", "vue-tsc": "^1.8.22" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 3797b540b07e5c..74bd0c5c5bc0a9 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^4.4.0", - "vite": "^5.0.0-beta.13" + "vite": "^5.0.0-beta.16" } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index da8235a26f3329..c7730b29fea36e 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -44,7 +44,7 @@ "@babel/core": "^7.23.2", "@babel/preset-env": "^7.23.2", "browserslist": "^4.22.1", - "core-js": "^3.33.1", + "core-js": "^3.33.2", "magic-string": "^0.30.5", "regenerator-runtime": "^0.14.0", "systemjs": "^6.14.2" diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index 5fe1540ce52f68..987aa56d5ee66d 100644 --- a/playground/css-sourcemap/package.json +++ b/playground/css-sourcemap/package.json @@ -13,7 +13,7 @@ "less": "^4.2.0", "magic-string": "^0.30.5", "sass": "^1.69.5", - "stylus": "^0.60.0", + "stylus": "^0.61.0", "sugarss": "^4.0.1" } } diff --git a/playground/css/package.json b/playground/css/package.json index 73ab82355c0245..6fb10230fec845 100644 --- a/playground/css/package.json +++ b/playground/css/package.json @@ -24,7 +24,7 @@ "less": "^4.2.0", "postcss-nested": "^6.0.1", "sass": "^1.69.5", - "stylus": "^0.60.0", + "stylus": "^0.61.0", "sugarss": "^4.0.1" } } diff --git a/playground/legacy/package.json b/playground/legacy/package.json index 61047309b5595c..542fe20286f04a 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -16,6 +16,6 @@ "devDependencies": { "@vitejs/plugin-legacy": "workspace:*", "express": "^4.18.2", - "terser": "^5.22.0" + "terser": "^5.24.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 34546d0178a7ca..9d1b189a7aa59b 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -36,7 +36,7 @@ "@vitejs/test-added-in-entries": "file:./added-in-entries", "lodash-es": "^4.17.21", "@vitejs/test-nested-exclude": "file:./nested-exclude", - "phoenix": "^1.7.9", + "phoenix": "^1.7.10", "react": "^18.2.0", "react-dom": "^18.2.0", "@vitejs/test-resolve-linked": "workspace:0.0.0", diff --git a/playground/preload/package.json b/playground/preload/package.json index 790ab57e8c58cb..c79cd1ed11a13a 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.ts" }, "devDependencies": { - "terser": "^5.22.0", + "terser": "^5.24.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 3fc4dca1a07f90..44a0afb9eef28f 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.20231025.0", + "miniflare": "^3.20231025.1", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51f54a210996e2..2c6a5017e2d748 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,8 +49,8 @@ importers: specifier: ^4.1.10 version: 4.1.10 '@types/estree': - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^1.0.4 + version: 1.0.4 '@types/etag': specifier: ^1.8.2 version: 1.8.2 @@ -82,11 +82,11 @@ importers: specifier: ^8.5.8 version: 8.5.8 '@typescript-eslint/eslint-plugin': - specifier: ^6.9.0 - version: 6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2) + specifier: ^6.9.1 + version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.9.0 - version: 6.9.0(eslint@8.52.0)(typescript@5.2.2) + specifier: ^6.9.1 + version: 6.9.1(eslint@8.53.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -94,20 +94,20 @@ importers: specifier: ^3.0.0 version: 3.0.0 eslint: - specifier: ^8.52.0 - version: 8.52.0 + specifier: ^8.53.0 + version: 8.53.0 eslint-define-config: specifier: ^1.24.1 version: 1.24.1 eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0) + version: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.53.0) eslint-plugin-n: specifier: ^16.2.0 - version: 16.2.0(eslint@8.52.0) + version: 16.2.0(eslint@8.53.0) eslint-plugin-regexp: specifier: ^2.1.1 - version: 2.1.1(eslint@8.52.0) + version: 2.1.1(eslint@8.53.0) execa: specifier: ^8.0.1 version: 8.0.1 @@ -154,8 +154,8 @@ importers: specifier: workspace:* version: link:packages/vite vitepress: - specifier: 1.0.0-rc.24 - version: 1.0.0-rc.24(typescript@5.2.2) + specifier: 1.0.0-rc.25 + version: 1.0.0-rc.25(typescript@5.2.2) vitest: specifier: ^0.34.6 version: 0.34.6 @@ -199,8 +199,8 @@ importers: specifier: ^4.22.1 version: 4.22.1 core-js: - specifier: ^3.33.1 - version: 3.33.1 + specifier: ^3.33.2 + version: 3.33.2 magic-string: specifier: ^0.30.5 version: 0.30.5 @@ -512,8 +512,8 @@ importers: specifier: ^1.69.5 version: 1.69.5 stylus: - specifier: ^0.60.0 - version: 0.60.0 + specifier: ^0.61.0 + version: 0.61.0 sugarss: specifier: ^4.0.1 version: 4.0.1 @@ -551,8 +551,8 @@ importers: specifier: ^1.69.5 version: 1.69.5 stylus: - specifier: ^0.60.0 - version: 0.60.0 + specifier: ^0.61.0 + version: 0.61.0 sugarss: specifier: ^4.0.1 version: 4.0.1 @@ -711,8 +711,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 terser: - specifier: ^5.22.0 - version: 5.22.0 + specifier: ^5.24.0 + version: 5.24.0 playground/lib: devDependencies: @@ -886,8 +886,8 @@ importers: specifier: ^4.5.0 version: 4.5.0 phoenix: - specifier: ^1.7.9 - version: 1.7.9 + specifier: ^1.7.10 + version: 1.7.10 react: specifier: ^18.2.0 version: 18.2.0 @@ -1011,8 +1011,8 @@ importers: specifier: file:./dep-including-a version: file:playground/preload/dep-including-a terser: - specifier: ^5.22.0 - version: 5.22.0 + specifier: ^5.24.0 + version: 5.24.0 playground/preload/dep-a: {} @@ -1409,8 +1409,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20231025.0 - version: 3.20231025.0 + specifier: ^3.20231025.1 + version: 3.20231025.1 playground/ssr-webworker/browser-exports: {} @@ -1464,8 +1464,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@adobe/css-tools@4.2.0: - resolution: {integrity: sha512-E09FiIft46CmH5Qnjb0wsW54/YQd69LsxeKUOWawmws1XWvyFGURnAChH0mlr7YPFR1ofwvUQfcL0J3lMxXqPA==} + /@adobe/css-tools@4.3.1: + resolution: {integrity: sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==} dev: true /@algolia/autocomplete-core@1.9.3(algoliasearch@4.20.0): @@ -3230,13 +3230,13 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.52.0): + /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.52.0 + eslint: 8.53.0 eslint-visitor-keys: 3.4.3 dev: true @@ -3245,8 +3245,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.2: - resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + /@eslint/eslintrc@2.1.3: + resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 @@ -3262,8 +3262,8 @@ packages: - supports-color dev: true - /@eslint/js@8.52.0: - resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==} + /@eslint/js@8.53.0: + resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true @@ -3592,7 +3592,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.4 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 3.29.2 @@ -3807,8 +3807,8 @@ packages: resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} dev: true - /@types/estree@1.0.3: - resolution: {integrity: sha512-CS2rOaoQ/eAgAfcTfq6amKG7bsN+EMcgGY4FAFQdvSj2y1ixvOZTUA9mOtCai7E1SYu283XNw7urKK30nP3wkQ==} + /@types/estree@1.0.4: + resolution: {integrity: sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==} dev: true /@types/etag@1.8.2: @@ -3939,8 +3939,8 @@ packages: '@types/node': 20.8.10 dev: true - /@typescript-eslint/eslint-plugin@6.9.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-lgX7F0azQwRPB7t7WAyeHWVfW1YJ9NIgd9mvGhfQpRY56X6AVf8mwM8Wol+0z4liE7XX3QOt8MN1rUKCfSjRIA==} + /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -3951,13 +3951,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/type-utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/type-utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4 - eslint: 8.52.0 + eslint: 8.53.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 @@ -3968,8 +3968,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-GZmjMh4AJ/5gaH4XF2eXA8tMnHWP+Pm1mjQR2QN4Iz+j/zO04b9TOvJYOX2sCNIQHtRStKTxRY1FX7LhpJT4Gw==} + /@typescript-eslint/parser@6.9.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3978,27 +3978,27 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4 - eslint: 8.52.0 + eslint: 8.53.0 typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@6.9.0: - resolution: {integrity: sha512-1R8A9Mc39n4pCCz9o79qRO31HGNDvC7UhPhv26TovDsWPBDx+Sg3rOZdCELIA3ZmNoWAuxaMOT7aWtGRSYkQxw==} + /@typescript-eslint/scope-manager@6.9.1: + resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 dev: true - /@typescript-eslint/type-utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-XXeahmfbpuhVbhSOROIzJ+b13krFmgtc4GlEuu1WBT+RpyGPIA4Y/eGnXzjbDj5gZLzpAXO/sj+IF/x2GtTMjQ==} + /@typescript-eslint/type-utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4007,23 +4007,23 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) debug: 4.3.4 - eslint: 8.52.0 + eslint: 8.53.0 ts-api-utils: 1.0.1(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/types@6.9.0: - resolution: {integrity: sha512-+KB0lbkpxBkBSiVCuQvduqMJy+I1FyDbdwSpM3IoBS7APl4Bu15lStPjgBIdykdRqQNYqYNMa8Kuidax6phaEw==} + /@typescript-eslint/types@6.9.1: + resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.9.0(typescript@5.2.2): - resolution: {integrity: sha512-NJM2BnJFZBEAbCfBP00zONKXvMqihZCrmwCaik0UhLr0vAgb6oguXxLX1k00oQyD+vZZ+CJn3kocvv2yxm4awQ==} + /@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2): + resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4031,8 +4031,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/visitor-keys': 6.9.0 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/visitor-keys': 6.9.1 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4043,30 +4043,30 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.9.0(eslint@8.52.0)(typescript@5.2.2): - resolution: {integrity: sha512-5Wf+Jsqya7WcCO8me504FBigeQKVLAMPmUzYgDbWchINNh1KJbxCgVya3EQ2MjvJMVeXl3pofRmprqX6mfQkjQ==} + /@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.9.0 - '@typescript-eslint/types': 6.9.0 - '@typescript-eslint/typescript-estree': 6.9.0(typescript@5.2.2) - eslint: 8.52.0 + '@typescript-eslint/scope-manager': 6.9.1 + '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.9.0: - resolution: {integrity: sha512-dGtAfqjV6RFOtIP8I0B4ZTBRrlTT8NHHlZZSchQx3qReaoDeXhYM++M4So2AgFK9ZB0emRPA6JI1HkafzA2Ibg==} + /@typescript-eslint/visitor-keys@6.9.1: + resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.0 + '@typescript-eslint/types': 6.9.1 eslint-visitor-keys: 3.4.3 dev: true @@ -5205,8 +5205,8 @@ packages: browserslist: 4.22.1 dev: false - /core-js@3.33.1: - resolution: {integrity: sha512-qVSq3s+d4+GsqN0teRCJtM6tdEEXyWxjzbhVrCHmBS5ZTM0FS2MOS0D13dUXAWDUN6a+lHI/N1hF9Ytz6iLl9Q==} + /core-js@3.33.2: + resolution: {integrity: sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==} requiresBuild: true dev: false @@ -5673,7 +5673,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5694,26 +5694,26 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) debug: 3.2.7 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color dev: true - /eslint-plugin-es-x@7.2.0(eslint@8.52.0): + /eslint-plugin-es-x@7.2.0(eslint@8.53.0): resolution: {integrity: sha512-9dvv5CcvNjSJPqnS5uZkqb3xmbeqRLnvXKK7iI5+oK/yTusyc46zbBZKENGsOfojm/mKfszyZb+wNqNPAPeGXA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.9.1 - eslint: 8.52.0 + eslint: 8.53.0 dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.0)(eslint@8.52.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.53.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -5723,16 +5723,16 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.9.0(eslint@8.52.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 array.prototype.flatmap: 1.3.2 debug: 3.2.7 doctrine: 2.1.0 - eslint: 8.52.0 + eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.0)(eslint-import-resolver-node@0.3.9)(eslint@8.52.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5748,16 +5748,16 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.2.0(eslint@8.52.0): + /eslint-plugin-n@16.2.0(eslint@8.53.0): resolution: {integrity: sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) builtins: 5.0.1 - eslint: 8.52.0 - eslint-plugin-es-x: 7.2.0(eslint@8.52.0) + eslint: 8.53.0 + eslint-plugin-es-x: 7.2.0(eslint@8.53.0) get-tsconfig: 4.7.2 ignore: 5.2.4 is-core-module: 2.13.0 @@ -5766,16 +5766,16 @@ packages: semver: 7.5.4 dev: true - /eslint-plugin-regexp@2.1.1(eslint@8.52.0): + /eslint-plugin-regexp@2.1.1(eslint@8.53.0): resolution: {integrity: sha512-FGa/idrL5tzMCnGylyx8DCWTX3vDuEtE/CVqTx+yYwe5qY3JRppbNVkOVGIkQF0klVlrG+LxwAXRXTUr5yU5uA==} engines: {node: ^18 || >=20} peerDependencies: eslint: '>=8.44.0' dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.9.1 comment-parser: 1.4.0 - eslint: 8.52.0 + eslint: 8.53.0 jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -5795,15 +5795,15 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.52.0: - resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==} + /eslint@8.53.0: + resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.2 - '@eslint/js': 8.52.0 + '@eslint/eslintrc': 2.1.3 + '@eslint/js': 8.53.0 '@humanwhocodes/config-array': 0.11.13 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 @@ -6781,13 +6781,13 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.4 dev: true /is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} dependencies: - '@types/estree': 1.0.3 + '@types/estree': 1.0.4 dev: true /is-regex@1.1.4: @@ -7437,8 +7437,8 @@ packages: engines: {node: '>=4'} dev: true - /miniflare@3.20231025.0: - resolution: {integrity: sha512-pFcr2BRaGIQ26UfdDo8BMJ6kkd/Jo/FkQ/4K7UG/eORlDepsLrR/sTJddcSSIGl07MA+MGjhzopFTPpFskkS+g==} + /miniflare@3.20231025.1: + resolution: {integrity: sha512-zwvu/f6eivBBF2shuom5DibnZjGSxt6FiC8sZlj+CcqTRss1D2ZHYD09odhAZLY9DYXE0orBFkJKnIDx/QmYdQ==} engines: {node: '>=16.13'} dependencies: acorn: 8.11.2 @@ -8063,8 +8063,8 @@ packages: zimmerframe: 1.0.0 dev: true - /phoenix@1.7.9: - resolution: {integrity: sha512-oHBka/WCKVtFHNCCqnVDxiSHQZ0vvV0pU1I4oBmm68rNvGH3lVjdNGLRhK0+c3zcfsrqgpRS2p+Et6N4QAd2LQ==} + /phoenix@1.7.10: + resolution: {integrity: sha512-akfr/QvLPFRB8sORyc8FQFY/YoGwjWhka/YRcu45sKlBOZHvA80EkLYBUsYlW63UicxgrXABZdrjDkv54LTE+g==} dev: false /picocolors@1.0.0: @@ -8843,6 +8843,12 @@ packages: /sax@1.2.4: resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + requiresBuild: true + dev: true + optional: true + + /sax@1.3.0: + resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} dev: true /scheduler@0.23.0: @@ -9229,14 +9235,14 @@ packages: acorn: 8.11.2 dev: true - /stylus@0.60.0: - resolution: {integrity: sha512-j2pBgEwzCu05yCuY4cmyp0FtPQQFBBAGB7TY7QaNl7eztiHwkxzwvIp5vjZJND/a1JNOka+ZW9ewVPFZpI3pcA==} + /stylus@0.61.0: + resolution: {integrity: sha512-oaV9T4sRBiQfChXE0av9SrLD+ovEdQiWzPJ5kwIeYvMhjUDJnZtdubAG6lSSbaR4sCnoT6sw411IOl5Akcht4Q==} hasBin: true dependencies: - '@adobe/css-tools': 4.2.0 + '@adobe/css-tools': 4.3.1 debug: 4.3.4 glob: 7.2.0 - sax: 1.2.4 + sax: 1.3.0 source-map: 0.7.3 transitivePeerDependencies: - supports-color @@ -9346,8 +9352,8 @@ packages: uuid: 3.4.0 dev: true - /terser@5.22.0: - resolution: {integrity: sha512-hHZVLgRA2z4NWcN6aS5rQDc+7Dcy58HOf2zbYwmFcQ+ua3h6eEFf5lIDKTzbWwlazPyOZsFQO8V80/IjVNExEw==} + /terser@5.24.0: + resolution: {integrity: sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9803,8 +9809,8 @@ packages: - supports-color dev: true - /vitepress@1.0.0-rc.24(typescript@5.2.2): - resolution: {integrity: sha512-RpnL8cnOGwiRlBbrYQUm9sYkJbtyOt/wYXk2diTcokY4yvks/5lq9LuSt+MURWB6ZqwpSNHvTmxgaSfLoG0/OA==} + /vitepress@1.0.0-rc.25(typescript@5.2.2): + resolution: {integrity: sha512-1dqWiHNThNrVZ08ixmfEDBEH+764KOgnev9oXga/x6cN++Vb9pnuu8p3K6DQP+KZrYcG+WiX7jxal0iSNpAWuQ==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4.3.2 From 1426f574156e2e4da59ae8e04b249e1d74ef23d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Mon, 6 Nov 2023 17:32:24 +0900 Subject: [PATCH 002/656] test: use `isPreview` instead of `previewBase` (#14878) --- .../assets/vite.config-relative-base.js | 9 ++-- playground/css/vite.config-relative-base.js | 9 ++-- .../vite.config-no-polyfills-no-systemjs.js | 9 ++-- playground/legacy/vite.config-no-polyfills.js | 9 ++-- playground/vitestSetup.ts | 51 ++++++++----------- .../worker/vite.config-relative-base-iife.js | 9 ++-- .../worker/vite.config-relative-base.js | 9 ++-- 7 files changed, 40 insertions(+), 65 deletions(-) diff --git a/playground/assets/vite.config-relative-base.js b/playground/assets/vite.config-relative-base.js index bcbb28f1e5e2c8..451ca7090d023a 100644 --- a/playground/assets/vite.config-relative-base.js +++ b/playground/assets/vite.config-relative-base.js @@ -1,9 +1,9 @@ import { defineConfig } from 'vite' import baseConfig from './vite.config.js' -export default defineConfig({ +export default defineConfig(({ isPreview }) => ({ ...baseConfig, - base: './', // relative base to make dist portable + base: !isPreview ? './' : '/relative-base/', // relative base to make dist portable build: { ...baseConfig.build, outDir: 'dist/relative-base', @@ -18,8 +18,5 @@ export default defineConfig({ }, }, }, - testConfig: { - previewBase: '/relative-base/', - }, cacheDir: 'node_modules/.vite-relative-base', -}) +})) diff --git a/playground/css/vite.config-relative-base.js b/playground/css/vite.config-relative-base.js index bcbb28f1e5e2c8..451ca7090d023a 100644 --- a/playground/css/vite.config-relative-base.js +++ b/playground/css/vite.config-relative-base.js @@ -1,9 +1,9 @@ import { defineConfig } from 'vite' import baseConfig from './vite.config.js' -export default defineConfig({ +export default defineConfig(({ isPreview }) => ({ ...baseConfig, - base: './', // relative base to make dist portable + base: !isPreview ? './' : '/relative-base/', // relative base to make dist portable build: { ...baseConfig.build, outDir: 'dist/relative-base', @@ -18,8 +18,5 @@ export default defineConfig({ }, }, }, - testConfig: { - previewBase: '/relative-base/', - }, cacheDir: 'node_modules/.vite-relative-base', -}) +})) diff --git a/playground/legacy/vite.config-no-polyfills-no-systemjs.js b/playground/legacy/vite.config-no-polyfills-no-systemjs.js index 3e3c93f31d63ff..388ee5a3ba71a4 100644 --- a/playground/legacy/vite.config-no-polyfills-no-systemjs.js +++ b/playground/legacy/vite.config-no-polyfills-no-systemjs.js @@ -2,8 +2,8 @@ import path from 'node:path' import legacy from '@vitejs/plugin-legacy' import { defineConfig } from 'vite' -export default defineConfig({ - base: './', +export default defineConfig(({ isPreview }) => ({ + base: !isPreview ? './' : '/no-polyfills-no-systemjs/', plugins: [ legacy({ renderModernChunks: false, @@ -25,7 +25,4 @@ export default defineConfig({ }, }, }, - testConfig: { - previewBase: '/no-polyfills-no-systemjs/', - }, -}) +})) diff --git a/playground/legacy/vite.config-no-polyfills.js b/playground/legacy/vite.config-no-polyfills.js index e1bb5d364851a1..a33a34aa20e556 100644 --- a/playground/legacy/vite.config-no-polyfills.js +++ b/playground/legacy/vite.config-no-polyfills.js @@ -2,8 +2,8 @@ import path from 'node:path' import legacy from '@vitejs/plugin-legacy' import { defineConfig } from 'vite' -export default defineConfig({ - base: './', +export default defineConfig(({ isPreview }) => ({ + base: !isPreview ? './' : '/no-polyfills/', plugins: [ legacy({ renderModernChunks: false, @@ -24,7 +24,4 @@ export default defineConfig({ }, }, }, - testConfig: { - previewBase: '/no-polyfills/', - }, -}) +})) diff --git a/playground/vitestSetup.ts b/playground/vitestSetup.ts index 51d94b449bde19..c73b358f5731c7 100644 --- a/playground/vitestSetup.ts +++ b/playground/vitestSetup.ts @@ -177,14 +177,9 @@ beforeAll(async (s) => { } }) -export async function startDefaultServe(): Promise { +async function loadConfig(configEnv: ConfigEnv) { let config: UserConfig | null = null - const configEnv: ConfigEnv = { - command: isBuild ? 'build' : 'serve', - mode: isBuild ? 'production' : 'development', - } - // config file named by convention as the *.spec.ts folder const variantName = path.basename(dirname(testPath)) if (variantName !== '__tests__') { @@ -231,13 +226,16 @@ export async function startDefaultServe(): Promise { }, customLogger: createInMemoryLogger(serverLogs), } + return mergeConfig(options, config || {}) +} +export async function startDefaultServe(): Promise { setupConsoleWarnCollector(serverLogs) if (!isBuild) { process.env.VITE_INLINE = 'inline-serve' - const testConfig = mergeConfig(options, config || {}) - viteServer = server = await (await createServer(testConfig)).listen() + const config = await loadConfig({ command: 'serve', mode: 'development' }) + viteServer = server = await (await createServer(config)).listen() viteTestUrl = server.resolvedUrls.local[0] if (server.config.base === '/') { viteTestUrl = viteTestUrl.replace(/\/$/, '') @@ -252,24 +250,30 @@ export async function startDefaultServe(): Promise { resolvedConfig = config }, }) - options.plugins = [resolvedPlugin()] - const testConfig = mergeConfig(options, config || {}) - const rollupOutput = await build(testConfig) + const buildConfig = mergeConfig( + await loadConfig({ command: 'build', mode: 'production' }), + { + plugins: [resolvedPlugin()], + }, + ) + const rollupOutput = await build(buildConfig) const isWatch = !!resolvedConfig!.build.watch // in build watch,call startStaticServer after the build is complete if (isWatch) { watcher = rollupOutput as RollupWatcher await notifyRebuildComplete(watcher) } - if (config && config.__test__) { - config.__test__() - } - // TODO: use something like ConfigEnv['cmd'] https://github.com/vitejs/vite/pull/12298 - if (config?.testConfig?.previewBase) { - testConfig.base = config.testConfig.previewBase + if (buildConfig.__test__) { + buildConfig.__test__() } + + const previewConfig = await loadConfig({ + command: 'serve', + mode: 'development', + isPreview: true, + }) const _nodeEnv = process.env.NODE_ENV - const previewServer = await preview(testConfig) + const previewServer = await preview(previewConfig) // prevent preview change NODE_ENV process.env.NODE_ENV = _nodeEnv viteTestUrl = previewServer.resolvedUrls.local[0] @@ -348,16 +352,5 @@ declare module 'vite' { * runs after build and before preview */ __test__?: () => void - /** - * special test only configs - */ - testConfig?: { - /** - * a base used for preview - * - * useful for relative base tests - */ - previewBase?: string - } } } diff --git a/playground/worker/vite.config-relative-base-iife.js b/playground/worker/vite.config-relative-base-iife.js index 3addae454039e0..0ea1a872d59e82 100644 --- a/playground/worker/vite.config-relative-base-iife.js +++ b/playground/worker/vite.config-relative-base-iife.js @@ -1,8 +1,8 @@ import { defineConfig } from 'vite' import workerPluginTestPlugin from './worker-plugin-test-plugin' -export default defineConfig({ - base: './', +export default defineConfig(({ isPreview }) => ({ + base: !isPreview ? './' : '/relative-base-iife/', resolve: { alias: { '@': __dirname, @@ -30,9 +30,6 @@ export default defineConfig({ }, }, }, - testConfig: { - previewBase: '/relative-base-iife/', - }, plugins: [workerPluginTestPlugin()], cacheDir: 'node_modules/.vite-relative-base-iife', -}) +})) diff --git a/playground/worker/vite.config-relative-base.js b/playground/worker/vite.config-relative-base.js index 73fbaa33e32882..d5935bb3ef9132 100644 --- a/playground/worker/vite.config-relative-base.js +++ b/playground/worker/vite.config-relative-base.js @@ -1,8 +1,8 @@ import { defineConfig } from 'vite' import workerPluginTestPlugin from './worker-plugin-test-plugin' -export default defineConfig({ - base: './', +export default defineConfig(({ isPreview }) => ({ + base: !isPreview ? './' : '/relative-base/', resolve: { alias: { '@': __dirname, @@ -30,9 +30,6 @@ export default defineConfig({ }, }, }, - testConfig: { - previewBase: '/relative-base/', - }, plugins: [ workerPluginTestPlugin(), { @@ -48,4 +45,4 @@ export default defineConfig({ }, ], cacheDir: 'node_modules/.vite-relative-base', -}) +})) From 1bfb584e5b1d9d236692883d282a2a7079f2b384 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Mon, 6 Nov 2023 17:35:06 +0900 Subject: [PATCH 003/656] fix: file link in overlay with custom backend (#14879) --- packages/vite/src/client/overlay.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/client/overlay.ts b/packages/vite/src/client/overlay.ts index 508eaf7e05bc9e..327b306f6be18f 100644 --- a/packages/vite/src/client/overlay.ts +++ b/packages/vite/src/client/overlay.ts @@ -221,7 +221,12 @@ export class ErrorOverlay extends HTMLElement { link.textContent = file link.className = 'file-link' link.onclick = () => { - fetch(`${base}__open-in-editor?file=` + encodeURIComponent(file)) + fetch( + new URL( + `${base}__open-in-editor?file=${encodeURIComponent(file)}`, + import.meta.url, + ), + ) } el.appendChild(link) curIndex += frag.length + file.length From 5684382f482bae5f27b8d68687ada72bf56d4bfa Mon Sep 17 00:00:00 2001 From: bluwy Date: Sun, 5 Nov 2023 16:57:34 +0800 Subject: [PATCH 004/656] chore: refactor as functions --- packages/vite/rollup.dts.config.ts | 164 ++++++++++++++++------------- 1 file changed, 91 insertions(+), 73 deletions(-) diff --git a/packages/vite/rollup.dts.config.ts b/packages/vite/rollup.dts.config.ts index ab26ba8e44d165..cc1b20267c2d3f 100644 --- a/packages/vite/rollup.dts.config.ts +++ b/packages/vite/rollup.dts.config.ts @@ -1,7 +1,8 @@ import { readFileSync } from 'node:fs' import { fileURLToPath } from 'node:url' import { findStaticImports } from 'mlly' -import { type Plugin, defineConfig } from 'rollup' +import { defineConfig } from 'rollup' +import type { Plugin, PluginContext, RenderedChunk } from 'rollup' import dts from 'rollup-plugin-dts' const depTypesDir = new URL('./src/types/', import.meta.url) @@ -80,89 +81,106 @@ function patchTypes(): Plugin { } }, renderChunk(code, chunk) { - // Validate that chunk imports do not import dev deps - const deps = Object.keys(pkg.dependencies) - for (const id of chunk.imports) { - if ( - !id.startsWith('./') && - !id.startsWith('../') && - !id.startsWith('node:') && - !deps.includes(id) && - !deps.some((name) => id.startsWith(name + '/')) - ) { - // If validation failed, only warn and set exit code 1 so that files - // are written to disk for inspection, but the build will fail - this.warn(`${chunk.fileName} imports "${id}" which is not allowed`) - process.exitCode = 1 - } - } + validateChunkImports.call(this, chunk) + code = replaceConfusingTypeNames.call(this, code, chunk) + code = cleanUnnecessaryComments(code) + return code + }, + } +} - // Rollup deduplicate type names with a trailing `$1` or `$2`, which can be - // confusing when showed in autocompletions. Try to replace with a better name - const imports = findStaticImports(code) - for (const modName in identifierReplacements) { - const imp = imports.find( - (imp) => imp.specifier === modName && imp.imports.includes('{'), - ) - // Validate that `identifierReplacements` is not outdated if there's no match - if (!imp) { - this.warn( - `${chunk.fileName} does not import "${modName}" for replacement`, - ) - process.exitCode = 1 - continue - } +/** + * Validate that chunk imports do not import dev deps + */ +function validateChunkImports(this: PluginContext, chunk: RenderedChunk) { + const deps = Object.keys(pkg.dependencies) + for (const id of chunk.imports) { + if ( + !id.startsWith('./') && + !id.startsWith('../') && + !id.startsWith('node:') && + !deps.includes(id) && + !deps.some((name) => id.startsWith(name + '/')) + ) { + // If validation failed, only warn and set exit code 1 so that files + // are written to disk for inspection, but the build will fail + this.warn(`${chunk.fileName} imports "${id}" which is not allowed`) + process.exitCode = 1 + } + } +} - const replacements = identifierReplacements[modName] - for (const id in replacements) { - // Validate that `identifierReplacements` is not outdated if there's no match - if (!imp.imports.includes(id)) { - this.warn( - `${chunk.fileName} does not import "${id}" from "${modName}" for replacement`, - ) - process.exitCode = 1 - continue - } +/** + * Rollup deduplicate type names with a trailing `$1` or `$2`, which can be + * confusing when showed in autocompletions. Try to replace with a better name + */ +function replaceConfusingTypeNames( + this: PluginContext, + code: string, + chunk: RenderedChunk, +) { + const imports = findStaticImports(code) - const betterId = replacements[id] - const regexEscapedId = escapeRegex(id) - // If the better id accesses a namespace, the existing `Foo as Foo$1` - // named import cannot be replaced with `Foo as Namespace.Foo`, so we - // pre-emptively remove the whole named import - if (betterId.includes('.')) { - code = code.replace( - new RegExp(`\\b\\w+\\b as ${regexEscapedId},?\\s?`), - '', - ) - } - code = code.replace( - new RegExp(`\\b${regexEscapedId}\\b`, 'g'), - betterId, - ) - } - } - const unreplacedIds = unique( - Array.from(code.matchAll(identifierWithTrailingDollarRE), (m) => m[0]), + for (const modName in identifierReplacements) { + const imp = imports.find( + (imp) => imp.specifier === modName && imp.imports.includes('{'), + ) + // Validate that `identifierReplacements` is not outdated if there's no match + if (!imp) { + this.warn( + `${chunk.fileName} does not import "${modName}" for replacement`, ) - if (unreplacedIds.length) { - const unreplacedStr = unreplacedIds.map((id) => `\n- ${id}`).join('') + process.exitCode = 1 + continue + } + + const replacements = identifierReplacements[modName] + for (const id in replacements) { + // Validate that `identifierReplacements` is not outdated if there's no match + if (!imp.imports.includes(id)) { this.warn( - `${chunk.fileName} contains confusing identifier names${unreplacedStr}`, + `${chunk.fileName} does not import "${id}" from "${modName}" for replacement`, ) process.exitCode = 1 + continue } - // Clean unnecessary comments - code = code - .replace(singlelineCommentsRE, '') - .replace(multilineCommentsRE, (m) => { - return licenseCommentsRE.test(m) ? '' : m - }) - .replace(consecutiveNewlinesRE, '\n\n') + const betterId = replacements[id] + const regexEscapedId = escapeRegex(id) + // If the better id accesses a namespace, the existing `Foo as Foo$1` + // named import cannot be replaced with `Foo as Namespace.Foo`, so we + // pre-emptively remove the whole named import + if (betterId.includes('.')) { + code = code.replace( + new RegExp(`\\b\\w+\\b as ${regexEscapedId},?\\s?`), + '', + ) + } + code = code.replace(new RegExp(`\\b${regexEscapedId}\\b`, 'g'), betterId) + } + } - return code - }, + const unreplacedIds = unique( + Array.from(code.matchAll(identifierWithTrailingDollarRE), (m) => m[0]), + ) + if (unreplacedIds.length) { + const unreplacedStr = unreplacedIds.map((id) => `\n- ${id}`).join('') + this.warn( + `${chunk.fileName} contains confusing identifier names${unreplacedStr}`, + ) + process.exitCode = 1 } + + return code +} + +function cleanUnnecessaryComments(code: string) { + return code + .replace(singlelineCommentsRE, '') + .replace(multilineCommentsRE, (m) => { + return licenseCommentsRE.test(m) ? '' : m + }) + .replace(consecutiveNewlinesRE, '\n\n') } const escapeRegexRE = /[-/\\^$*+?.()|[\]{}]/g From 1168e5709765097f49d48d843015b7e9eabfcda9 Mon Sep 17 00:00:00 2001 From: bluwy Date: Sun, 5 Nov 2023 17:33:09 +0800 Subject: [PATCH 005/656] build: strip internal parameters --- packages/vite/package.json | 1 + packages/vite/rollup.dts.config.ts | 65 +++++++++++++++++++- packages/vite/src/node/server/moduleGraph.ts | 3 + pnpm-lock.yaml | 3 + 4 files changed, 71 insertions(+), 1 deletion(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index 0015355c94d0e0..671b38c8408441 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -83,6 +83,7 @@ }, "devDependencies": { "@ampproject/remapping": "^2.2.1", + "@babel/parser": "^7.23.0", "@jridgewell/trace-mapping": "^0.3.20", "@rollup/plugin-alias": "^5.0.1", "@rollup/plugin-commonjs": "^25.0.7", diff --git a/packages/vite/rollup.dts.config.ts b/packages/vite/rollup.dts.config.ts index cc1b20267c2d3f..cb767b2ab5bf02 100644 --- a/packages/vite/rollup.dts.config.ts +++ b/packages/vite/rollup.dts.config.ts @@ -4,6 +4,9 @@ import { findStaticImports } from 'mlly' import { defineConfig } from 'rollup' import type { Plugin, PluginContext, RenderedChunk } from 'rollup' import dts from 'rollup-plugin-dts' +import { parse } from '@babel/parser' +import { walk } from 'estree-walker' +import MagicString from 'magic-string' const depTypesDir = new URL('./src/types/', import.meta.url) const pkg = JSON.parse( @@ -58,7 +61,8 @@ const identifierReplacements: Record> = { * 1. Resolve `dep-types/*` and `types/*` imports * 2. Validate unallowed dependency imports * 3. Replace confusing type names - * 4. Clean unnecessary comments + * 4. Strip leftover internal types + * 5. Clean unnecessary comments */ function patchTypes(): Plugin { return { @@ -83,6 +87,7 @@ function patchTypes(): Plugin { renderChunk(code, chunk) { validateChunkImports.call(this, chunk) code = replaceConfusingTypeNames.call(this, code, chunk) + code = stripInternalTypes.call(this, code, chunk) code = cleanUnnecessaryComments(code) return code }, @@ -174,6 +179,64 @@ function replaceConfusingTypeNames( return code } +/** + * While we already enable `compilerOptions.stripInternal`, some internal comments + * like internal parameters are still not stripped by TypeScript, so we run another + * pass here. + */ +function stripInternalTypes( + this: PluginContext, + code: string, + chunk: RenderedChunk, +) { + if (code.includes('@internal')) { + const s = new MagicString(code) + const ast = parse(code, { + plugins: ['typescript'], + sourceType: 'module', + }) + + walk(ast as any, { + enter(node: any) { + if (removeInternal(s, node)) { + this.skip() + } + }, + }) + + code = s.toString() + + if (code.includes('@internal')) { + this.warn(`${chunk.fileName} has unhandled @internal declarations`) + process.exitCode = 1 + } + } + + return code +} + +/** + * Remove `@internal` comments not handled by `compilerOptions.stripInternal` + * Reference: https://github.com/vuejs/core/blob/main/rollup.dts.config.js + */ +function removeInternal(s: MagicString, node: any): boolean { + if ( + node.leadingComments && + node.leadingComments.some((c: any) => { + return c.type === 'CommentBlock' && c.value.includes('@internal') + }) + ) { + // Examples: + // function a(foo: string, /* @internal */ bar: number) + // ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + // strip trailing comma + const end = s.original[node.end] === ',' ? node.end + 1 : node.end + s.remove(node.leadingComments[0].start, end) + return true + } + return false +} + function cleanUnnecessaryComments(code: string) { return code .replace(singlelineCommentsRE, '') diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts index 9266e2090e29cb..7985258187a469 100644 --- a/packages/vite/src/node/server/moduleGraph.ts +++ b/packages/vite/src/node/server/moduleGraph.ts @@ -152,7 +152,9 @@ export class ModuleGraph { seen: Set = new Set(), timestamp: number = Date.now(), isHmr: boolean = false, + /** @internal */ hmrBoundaries: ModuleNode[] = [], + /** @internal */ softInvalidate = false, ): void { const prevInvalidationState = mod.invalidationState @@ -249,6 +251,7 @@ export class ModuleGraph { acceptedExports: Set | null, isSelfAccepting: boolean, ssr?: boolean, + /** @internal */ staticImportedUrls?: Set, ): Promise | undefined> { mod.isSelfAccepting = isSelfAccepting diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2c6a5017e2d748..907924494bdd86 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -240,6 +240,9 @@ importers: '@ampproject/remapping': specifier: ^2.2.1 version: 2.2.1 + '@babel/parser': + specifier: ^7.23.0 + version: 7.23.0 '@jridgewell/trace-mapping': specifier: ^0.3.20 version: 0.3.20 From 461f6c422542c5ab35c91c5be11394431f491628 Mon Sep 17 00:00:00 2001 From: Maciek Palmowski Date: Mon, 6 Nov 2023 10:05:39 +0100 Subject: [PATCH 006/656] docs: add Kinsta deployment guide (#14755) --- docs/guide/static-deploy.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/guide/static-deploy.md b/docs/guide/static-deploy.md index bb2f6cfdb6cab8..c439d8ee8f747e 100644 --- a/docs/guide/static-deploy.md +++ b/docs/guide/static-deploy.md @@ -341,3 +341,7 @@ Deploy your static site using [Flightcontrol](https://www.flightcontrol.dev/?ref ## AWS Amplify Hosting Deploy your static site using [AWS Amplify Hosting](https://aws.amazon.com/amplify/hosting/), by following these [instructions](https://docs.amplify.aws/guides/hosting/vite/q/platform/js/) + +## Kinsta Static Site Hosting + +You can deploy your Vite app as a Static Site on [Kinsta](https://kinsta.com/static-site-hosting/) by following these [instructions](https://kinsta.com/docs/react-vite-example/). From 0873bae0cfe0f0718ad2f5743dd34a17e4ab563d Mon Sep 17 00:00:00 2001 From: patak Date: Mon, 6 Nov 2023 11:40:25 +0100 Subject: [PATCH 007/656] fix: processNodeUrl for srcset (#14870) --- .../src/node/server/middlewares/indexHtml.ts | 64 ++++++++++--------- playground/assets/__tests__/assets.spec.ts | 12 ++++ playground/assets/index.html | 6 ++ 3 files changed, 51 insertions(+), 31 deletions(-) diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts index f248107e259ac4..c6548de0f14c65 100644 --- a/packages/vite/src/node/server/middlewares/indexHtml.ts +++ b/packages/vite/src/node/server/middlewares/indexHtml.ts @@ -113,44 +113,46 @@ const processNodeUrl = ( htmlPath: string, originalUrl?: string, server?: ViteDevServer, -): string | undefined => { - if (server?.moduleGraph) { - const mod = server.moduleGraph.urlToModuleMap.get(url) - if (mod && mod.lastHMRTimestamp > 0) { - url = injectQuery(url, `t=${mod.lastHMRTimestamp}`) +): string => { + // prefix with base (dev only, base is never relative) + const replacer = (url: string) => { + if (server?.moduleGraph) { + const mod = server.moduleGraph.urlToModuleMap.get(url) + if (mod && mod.lastHMRTimestamp > 0) { + url = injectQuery(url, `t=${mod.lastHMRTimestamp}`) + } } - } - if ( - (url[0] === '/' && url[1] !== '/') || - // #3230 if some request url (localhost:3000/a/b) return to fallback html, the relative assets - // path will add `/a/` prefix, it will caused 404. - // - // skip if url contains `:` as it implies a url protocol or Windows path that we don't want to replace. - // - // rewrite `./index.js` -> `localhost:5173/a/index.js`. - // rewrite `../index.js` -> `localhost:5173/index.js`. - // rewrite `relative/index.js` -> `localhost:5173/a/relative/index.js`. - ((url[0] === '.' || (wordCharRE.test(url[0]) && !url.includes(':'))) && - originalUrl && - originalUrl !== '/' && - htmlPath === '/index.html') - ) { - // prefix with base (dev only, base is never relative) - const replacer = (url: string) => { + if ( + (url[0] === '/' && url[1] !== '/') || + // #3230 if some request url (localhost:3000/a/b) return to fallback html, the relative assets + // path will add `/a/` prefix, it will caused 404. + // + // skip if url contains `:` as it implies a url protocol or Windows path that we don't want to replace. + // + // rewrite `./index.js` -> `localhost:5173/a/index.js`. + // rewrite `../index.js` -> `localhost:5173/index.js`. + // rewrite `relative/index.js` -> `localhost:5173/a/relative/index.js`. + ((url[0] === '.' || (wordCharRE.test(url[0]) && !url.includes(':'))) && + originalUrl && + originalUrl !== '/' && + htmlPath === '/index.html') + ) { const devBase = config.base const fullUrl = path.posix.join(devBase, url) if (server && shouldPreTransform(url, config)) { preTransformRequest(server, fullUrl, devBase) } return fullUrl + } else { + return url } - - const processedUrl = useSrcSetReplacer - ? processSrcSetSync(url, ({ url }) => replacer(url)) - : replacer(url) - return processedUrl } + + const processedUrl = useSrcSetReplacer + ? processSrcSetSync(url, ({ url }) => replacer(url)) + : replacer(url) + return processedUrl } const devHtmlHook: IndexHtmlTransformHook = async ( html, @@ -246,7 +248,7 @@ const devHtmlHook: IndexHtmlTransformHook = async ( originalUrl, server, ) - if (processedUrl) { + if (processedUrl !== src.value) { overwriteAttrValue(s, sourceCodeLocation!, processedUrl) } } else if (isModule && node.childNodes.length) { @@ -267,7 +269,7 @@ const devHtmlHook: IndexHtmlTransformHook = async ( htmlPath, originalUrl, ) - if (processedUrl) { + if (processedUrl !== url) { s.update(start, end, processedUrl) } } @@ -306,7 +308,7 @@ const devHtmlHook: IndexHtmlTransformHook = async ( htmlPath, originalUrl, ) - if (processedUrl) { + if (processedUrl !== p.value) { overwriteAttrValue( s, node.sourceCodeLocation!.attrs![attrKey], diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index d3de2304894584..846f8c304a2088 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -283,6 +283,18 @@ describe('image', () => { expect(s).toMatch(/\/foo\/bar\/icon\.png \dx/) }) }) + + // TODO: fix build + test.runIf(!isBuild)('srcset (mixed)', async () => { + const img = await page.$('.img-src-set-mixed') + const srcset = await img.getAttribute('srcset') + const srcs = srcset.split(', ') + expect(srcs[1]).toMatch( + isBuild + ? /\/foo\/bar\/assets\/asset-[-\w]{8}\.png \dx/ + : /\/foo\/bar\/nested\/asset.png \dx/, + ) + }) }) describe('svg fragments', () => { diff --git a/playground/assets/index.html b/playground/assets/index.html index 94dfe6b31ad196..ebb938d72f75a1 100644 --- a/playground/assets/index.html +++ b/playground/assets/index.html @@ -151,6 +151,12 @@

Image Src Set

srcset="/icon.png 1x, /icon.png 2x" alt="" /> +

HTML only asset

From fc24b07ac181a7728df006a1a6c8f6598961dc37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 7 Nov 2023 01:39:17 +0900 Subject: [PATCH 008/656] docs: add #14834 to migration guide (#14889) --- docs/guide/migration.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/guide/migration.md b/docs/guide/migration.md index e17b5458efaead..a6f708702e6668 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -207,6 +207,8 @@ There are some changes which only affect plugin/tool creators. - The `configurePreviewServer` hook now accepts the `PreviewServer` type instead of `PreviewServerForHook` type. - [[#14818] refactor(preview)!: use base middleware](https://github.com/vitejs/vite/pull/14818) - Middlewares added from the returned function in `configurePreviewServer` now does not have access to the `base` when comparing the `req.url` value. This aligns the behaviour with the dev server. You can check the `base` from the `configResolved` hook if needed. +- [[#14834] fix(types)!: expose httpServer with Http2SecureServer union](https://github.com/vitejs/vite/pull/14834) + - `http.Server | http2.Http2SecureServer` is now used instead of `http.Server` where appropriate. Also there are other breaking changes which only affect few users. From b6b382c8510f845ef1fcb8e79174ef9bc22c8ff4 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 7 Nov 2023 16:00:33 +0800 Subject: [PATCH 009/656] fix: use latest module graph in transform middleware (#14892) --- .../src/node/server/middlewares/transform.ts | 22 ++++++++----------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/packages/vite/src/node/server/middlewares/transform.ts b/packages/vite/src/node/server/middlewares/transform.ts index fd0685e79f639e..22cb736909dc6b 100644 --- a/packages/vite/src/node/server/middlewares/transform.ts +++ b/packages/vite/src/node/server/middlewares/transform.ts @@ -47,11 +47,6 @@ const knownIgnoreList = new Set(['/', '/favicon.ico']) export function transformMiddleware( server: ViteDevServer, ): Connect.NextHandleFunction { - const { - config: { root, logger }, - moduleGraph, - } = server - // Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...` return async function viteTransformMiddleware(req, res, next) { if (req.method !== 'GET' || knownIgnoreList.has(req.url!)) { @@ -80,7 +75,7 @@ export function transformMiddleware( // means that the dependency has already been pre-bundled and loaded const sourcemapPath = url.startsWith(FS_PREFIX) ? fsPathFromId(url) - : normalizePath(path.resolve(root, url.slice(1))) + : normalizePath(path.resolve(server.config.root, url.slice(1))) try { const map = JSON.parse( await fsp.readFile(sourcemapPath, 'utf-8'), @@ -90,7 +85,7 @@ export function transformMiddleware( map, sourcemapPath, server.config.server.sourcemapIgnoreList, - logger, + server.config.logger, ) return send(req, res, JSON.stringify(map), 'json', { @@ -115,8 +110,9 @@ export function transformMiddleware( } } else { const originalUrl = url.replace(/\.map($|\?)/, '$1') - const map = (await moduleGraph.getModuleByUrl(originalUrl, false)) - ?.transformResult?.map + const map = ( + await server.moduleGraph.getModuleByUrl(originalUrl, false) + )?.transformResult?.map if (map) { return send(req, res, JSON.stringify(map), 'json', { headers: server.config.server.headers, @@ -162,7 +158,7 @@ export function transformMiddleware( )}.` } - logger.warn(colors.yellow(warning)) + server.config.logger.warn(colors.yellow(warning)) } } @@ -192,10 +188,10 @@ export function transformMiddleware( const ifNoneMatch = req.headers['if-none-match'] if ( ifNoneMatch && - (await moduleGraph.getModuleByUrl(url, false))?.transformResult + (await server.moduleGraph.getModuleByUrl(url, false))?.transformResult ?.etag === ifNoneMatch ) { - debugCache?.(`[304] ${prettifyUrl(url, root)}`) + debugCache?.(`[304] ${prettifyUrl(url, server.config.root)}`) res.statusCode = 304 return res.end() } @@ -227,7 +223,7 @@ export function transformMiddleware( res.end() } // This timeout is unexpected - logger.error(e.message) + server.config.logger.error(e.message) return } if (e?.code === ERR_OUTDATED_OPTIMIZED_DEP) { From bd4d29f9fc03ab92b351ae503c44f82ec0290795 Mon Sep 17 00:00:00 2001 From: patak Date: Tue, 7 Nov 2023 09:14:47 +0100 Subject: [PATCH 010/656] fix: resovedUrls is null after server restart (#14890) --- packages/vite/src/node/server/index.ts | 21 ++++++++++++++---- .../src/node/server/middlewares/indexHtml.ts | 22 ++++++++++++++----- playground/cli/__tests__/cli.spec.ts | 9 ++++++-- 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 13be3ad0d9561a..c810c7889a59e8 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -305,6 +305,10 @@ export interface ViteDevServer extends AsyncDisposable { * Open browser */ openBrowser(): void + /** + * @internal + */ + _setInternalServer(server: ViteDevServer): void /** * @internal */ @@ -393,7 +397,9 @@ export async function _createServer( let exitProcess: () => void - const server: ViteDevServer = { + const devHtmlTransformFn = createDevHtmlTransformFn(config) + + let server: ViteDevServer = { config, middlewares, httpServer, @@ -429,7 +435,9 @@ export async function _createServer( }) }) }, - transformIndexHtml: null!, // to be immediately set + transformIndexHtml(url, html, originalUrl) { + return devHtmlTransformFn(server, url, html, originalUrl) + }, async ssrLoadModule(url, opts?: { fixStacktrace?: boolean }) { if (isDepsOptimizerEnabled(config, true)) { await initDevSsrDepsOptimizer(config, server) @@ -570,6 +578,11 @@ export async function _createServer( return server._restartPromise }, + _setInternalServer(_server: ViteDevServer) { + // Rebind internal the server variable so functions reference the user + // server instance after a restart + server = _server + }, _restartPromise: null, _importGlobMap: new Map(), _forceOptimizeOnRestart: false, @@ -578,8 +591,6 @@ export async function _createServer( _shortcutsOptions: undefined, } - server.transformIndexHtml = createDevHtmlTransformFn(server) - if (!middlewareMode) { exitProcess = async () => { try { @@ -918,6 +929,8 @@ async function restartServer(server: ViteDevServer) { // Assign new server props to existing server instance Object.assign(server, newServer) + // Rebind internal server variable so functions reference the user server + newServer._setInternalServer(server) const { logger, diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts index c6548de0f14c65..0a5b1f81e48f11 100644 --- a/packages/vite/src/node/server/middlewares/indexHtml.ts +++ b/packages/vite/src/node/server/middlewares/indexHtml.ts @@ -58,19 +58,29 @@ interface InlineStyleAttribute { } export function createDevHtmlTransformFn( + config: ResolvedConfig, +): ( server: ViteDevServer, -): (url: string, html: string, originalUrl: string) => Promise { + url: string, + html: string, + originalUrl?: string, +) => Promise { const [preHooks, normalHooks, postHooks] = resolveHtmlTransforms( - server.config.plugins, - server.config.logger, + config.plugins, + config.logger, ) - return (url: string, html: string, originalUrl: string): Promise => { + return ( + server: ViteDevServer, + url: string, + html: string, + originalUrl?: string, + ): Promise => { return applyHtmlTransforms( html, [ - preImportMapHook(server.config), + preImportMapHook(config), ...preHooks, - htmlEnvHook(server.config), + htmlEnvHook(config), devHtmlHook, ...normalHooks, ...postHooks, diff --git a/playground/cli/__tests__/cli.spec.ts b/playground/cli/__tests__/cli.spec.ts index 7915ea4ae992d4..bcaa81b61c2520 100644 --- a/playground/cli/__tests__/cli.spec.ts +++ b/playground/cli/__tests__/cli.spec.ts @@ -23,10 +23,15 @@ test('cli should work', async () => { test('should restart', async () => { editFile('./vite.config.js', (content) => content) await withRetry(async () => { - expect(streams.server.out).toEqual( + const logs = streams.server.out.slice(2) + expect(logs).toEqual( expect.arrayContaining([expect.stringMatching('server restarted')]), ) - expect(streams.server.out).not.toEqual( + // Don't reprint the server URLs as they are the same + expect(logs).not.toEqual( + expect.arrayContaining([expect.stringMatching('http://localhost')]), + ) + expect(logs).not.toEqual( expect.arrayContaining([expect.stringMatching('error')]), ) }) From b5653d3075559a327b8d87a3863be3260d880e3a Mon Sep 17 00:00:00 2001 From: patak Date: Tue, 7 Nov 2023 10:01:48 +0100 Subject: [PATCH 011/656] fix(build): mixed external and transpiled srcset (#14888) --- packages/vite/src/node/plugins/html.ts | 177 ++++++++++++--------- playground/assets/__tests__/assets.spec.ts | 3 +- 2 files changed, 104 insertions(+), 76 deletions(-) diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index a56927d14b992f..f12531bdc2c698 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -294,11 +294,10 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { preHooks.push(htmlEnvHook(config)) postHooks.push(postImportMapHook()) const processedHtml = new Map() + const isExcludedUrl = (url: string) => - url[0] === '#' || - isExternalUrl(url) || - isDataUrl(url) || - checkPublicFile(url, config) + url[0] === '#' || isExternalUrl(url) || isDataUrl(url) + // Same reason with `htmlInlineProxyPlugin` isAsyncScriptMap.set(config, new Map()) @@ -367,10 +366,6 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { let js = '' const s = new MagicString(html) - const assetUrls: { - attr: Token.Attribute - sourceCodeLocation: Token.Location - }[] = [] const scriptUrls: ScriptAssetsUrl[] = [] const styleUrls: ScriptAssetsUrl[] = [] let inlineModuleIndex = -1 @@ -379,6 +374,31 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { let someScriptsAreAsync = false let someScriptsAreDefer = false + const assetUrlsPromises: Promise[] = [] + + // for each encountered asset url, rewrite original html so that it + // references the post-build location, ignoring empty attributes and + // attributes that directly reference named output. + const namedOutput = Object.keys( + config?.build?.rollupOptions?.input || {}, + ) + const processAssetUrl = async (url: string) => { + if ( + url !== '' && // Empty attribute + !namedOutput.includes(url) && // Direct reference to named output + !namedOutput.includes(removeLeadingSlash(url)) // Allow for absolute references as named output can't be an absolute path + ) { + try { + return await urlToBuiltUrl(url, id, config, this) + } catch (e) { + if (e.code !== 'ENOENT') { + throw e + } + } + } + return url + } + await traverseHtml(html, id, (node) => { if (!nodeIsElement(node)) { return @@ -404,7 +424,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { if (isModule) { inlineModuleIndex++ - if (url && !isExcludedUrl(url)) { + if (url && !isExcludedUrl(url) && !isPublicFile) { // asset for (const { start, end, url } of scriptUrls) { - if (!isExcludedUrl(url)) { - s.update(start, end, await urlToBuiltUrl(url, id, config, this)) - } else if (checkPublicFile(url, config)) { + if (checkPublicFile(url, config)) { s.update(start, end, toOutputPublicFilePath(url)) + } else if (!isExcludedUrl(url)) { + s.update(start, end, await urlToBuiltUrl(url, id, config, this)) } } @@ -1331,3 +1353,10 @@ function incrementIndent(indent: string = '') { export function getAttrKey(attr: Token.Attribute): string { return attr.prefix === undefined ? attr.name : `${attr.prefix}:${attr.name}` } + +function getAttrSourceCodeLocation( + node: DefaultTreeAdapterMap['element'], + attrKey: string, +) { + return node.sourceCodeLocation!.attrs![attrKey] +} diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index 846f8c304a2088..f6190536493643 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -284,8 +284,7 @@ describe('image', () => { }) }) - // TODO: fix build - test.runIf(!isBuild)('srcset (mixed)', async () => { + test('srcset (mixed)', async () => { const img = await page.$('.img-src-set-mixed') const srcset = await img.getAttribute('srcset') const srcs = srcset.split(', ') From 3a8d5a4df759eccef00302674f487b834d6cffe1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rush=20=5BR=C3=B4j=5D?= Date: Tue, 7 Nov 2023 12:21:13 +0100 Subject: [PATCH 012/656] =?UTF-8?q?docs:=20=F0=9F=87=A9=F0=9F=87=AA=20adde?= =?UTF-8?q?d=20german=20locale=20link=20to=20config.ts;=20(#14724)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 9cc84c010ea6df..ed1f090ee8ec83 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -93,6 +93,7 @@ export default defineConfig({ 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' }, }, themeConfig: { From cd9e3e1d9f220820502a11e17958790f49ac3119 Mon Sep 17 00:00:00 2001 From: patak Date: Tue, 7 Nov 2023 16:57:00 +0100 Subject: [PATCH 013/656] docs: add note about complex env based replacement (#14899) Co-authored-by: Bjorn Lu --- docs/guide/env-and-mode.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/guide/env-and-mode.md b/docs/guide/env-and-mode.md index 888b516821b7b4..047a1d46c8efdc 100644 --- a/docs/guide/env-and-mode.md +++ b/docs/guide/env-and-mode.md @@ -108,6 +108,8 @@ Vite also supports replacing env variables in HTML files. Any properties in `imp If the env doesn't exist in `import.meta.env`, e.g. `%NON_EXISTENT%`, it will be ignored and not replaced, unlike `import.meta.env.NON_EXISTENT` in JS where it's replaced as `undefined`. +Given that Vite is used by many frameworks, it is intentionally unopinionated about complex replacements like conditionals. Vite can be extended using [an existing userland plugin](https://github.com/vitejs/awesome-vite#transformers) or a custom plugin that implements the [`transformIndexHtml` hook](./api-plugin#transformindexhtml). + ## Modes By default, the dev server (`dev` command) runs in `development` mode and the `build` command runs in `production` mode. From 987b8fadc176434b1b18c5dcf15a8cefe434e500 Mon Sep 17 00:00:00 2001 From: bluwy Date: Wed, 8 Nov 2023 00:00:42 +0800 Subject: [PATCH 014/656] release: v5.0.0-beta.17 --- packages/vite/CHANGELOG.md | 15 +++++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 7c3a8eb795f46b..fdfb5f9c609f29 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,18 @@ +## 5.0.0-beta.17 (2023-11-07) + +* fix: file link in overlay with custom backend (#14879) ([1bfb584](https://github.com/vitejs/vite/commit/1bfb584)), closes [#14879](https://github.com/vitejs/vite/issues/14879) +* fix: processNodeUrl for srcset (#14870) ([0873bae](https://github.com/vitejs/vite/commit/0873bae)), closes [#14870](https://github.com/vitejs/vite/issues/14870) +* fix: resovedUrls is null after server restart (#14890) ([bd4d29f](https://github.com/vitejs/vite/commit/bd4d29f)), closes [#14890](https://github.com/vitejs/vite/issues/14890) +* fix: use latest module graph in transform middleware (#14892) ([b6b382c](https://github.com/vitejs/vite/commit/b6b382c)), closes [#14892](https://github.com/vitejs/vite/issues/14892) +* fix(assets): use base64 when inlining SVG with foreignObject tag (#14875) ([9e20ed6](https://github.com/vitejs/vite/commit/9e20ed6)), closes [#14875](https://github.com/vitejs/vite/issues/14875) +* fix(build): mixed external and transpiled srcset (#14888) ([b5653d3](https://github.com/vitejs/vite/commit/b5653d3)), closes [#14888](https://github.com/vitejs/vite/issues/14888) +* fix(css): fix sourcemap warning in build with lightningCSS (#14871) ([11b1796](https://github.com/vitejs/vite/commit/11b1796)), closes [#14871](https://github.com/vitejs/vite/issues/14871) +* fix(css): initialize lightningCSS targets when not using options (#14872) ([12f9230](https://github.com/vitejs/vite/commit/12f9230)), closes [#14872](https://github.com/vitejs/vite/issues/14872) +* build: strip internal parameters ([1168e57](https://github.com/vitejs/vite/commit/1168e57)) +* chore: refactor as functions ([5684382](https://github.com/vitejs/vite/commit/5684382)) + + + ## 5.0.0-beta.16 (2023-11-03) * feat!: add isPreview to ConfigEnv and resolveConfig (#14855) ([d195860](https://github.com/vitejs/vite/commit/d195860)), closes [#14855](https://github.com/vitejs/vite/issues/14855) diff --git a/packages/vite/package.json b/packages/vite/package.json index 671b38c8408441..26e611eedbab23 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.0.0-beta.16", + "version": "5.0.0-beta.17", "type": "module", "license": "MIT", "author": "Evan You", From b47905577a9b4f78544c80c93fb005dabce8f02a Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 8 Nov 2023 16:01:37 +0800 Subject: [PATCH 015/656] feat(hmr): improve circular import updates (#14867) --- docs/guide/troubleshooting.md | 8 +- packages/vite/src/node/server/hmr.ts | 94 +++++++++++++++++--- packages/vite/src/node/server/moduleGraph.ts | 11 --- playground/hmr/__tests__/hmr.spec.ts | 20 ++++- playground/hmr/circular/index.js | 7 ++ playground/hmr/circular/mod-a.js | 5 ++ playground/hmr/circular/mod-b.js | 3 + playground/hmr/circular/mod-c.js | 11 +++ playground/hmr/hmr.ts | 1 + playground/hmr/index.html | 1 + 10 files changed, 133 insertions(+), 28 deletions(-) create mode 100644 playground/hmr/circular/index.js create mode 100644 playground/hmr/circular/mod-a.js create mode 100644 playground/hmr/circular/mod-b.js create mode 100644 playground/hmr/circular/mod-c.js diff --git a/docs/guide/troubleshooting.md b/docs/guide/troubleshooting.md index 097452e69ba29a..40b49349ee2355 100644 --- a/docs/guide/troubleshooting.md +++ b/docs/guide/troubleshooting.md @@ -147,13 +147,9 @@ If you are running Vite with WSL2, Vite cannot watch file changes in some condit ### A full reload happens instead of HMR -If HMR is not handled by Vite or a plugin, a full reload will happen. +If HMR is not handled by Vite or a plugin, a full reload will happen as it's the only way to refresh the state. -Also if there is a dependency loop, a full reload will happen. To solve this, try removing the loop. - -### High number of HMR updates in console - -This can be caused by a circular dependency. To solve this, try breaking the loop. +If HMR is handled but it is within a circular dependency, a full reload will also happen to recover the execution order. To solve this, try breaking the loop. You can run `vite --debug hmr` to log the circular dependency path if a file change triggered it. ## Build diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index b38cfa71de9082..94a56249528e58 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -158,13 +158,7 @@ export function updateModules( const boundaries: { boundary: ModuleNode; acceptedVia: ModuleNode }[] = [] const hasDeadEnd = propagateUpdate(mod, traversedModules, boundaries) - moduleGraph.invalidateModule( - mod, - invalidatedModules, - timestamp, - true, - boundaries.map((b) => b.boundary), - ) + moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true) if (needFullReload) { continue @@ -280,6 +274,9 @@ function propagateUpdate( if (node.isSelfAccepting) { boundaries.push({ boundary: node, acceptedVia: node }) + if (isNodeWithinCircularImports(node, currentChain)) { + return true + } // additionally check for CSS importers, since a PostCSS plugin like // Tailwind JIT may register any file as a dependency to a CSS file. @@ -304,6 +301,9 @@ function propagateUpdate( // so that they do get the fresh imported module when/if they are reloaded. if (node.acceptedHmrExports) { boundaries.push({ boundary: node, acceptedVia: node }) + if (isNodeWithinCircularImports(node, currentChain)) { + return true + } } else { if (!node.importers.size) { return true @@ -322,8 +322,12 @@ function propagateUpdate( for (const importer of node.importers) { const subChain = currentChain.concat(importer) + if (importer.acceptedHmrDeps.has(node)) { boundaries.push({ boundary: importer, acceptedVia: node }) + if (isNodeWithinCircularImports(importer, subChain)) { + return true + } continue } @@ -337,12 +341,82 @@ function propagateUpdate( } } - if (currentChain.includes(importer)) { - // circular deps is considered dead end + if ( + !currentChain.includes(importer) && + propagateUpdate(importer, traversedModules, boundaries, subChain) + ) { + return true + } + } + return false +} + +/** + * Check importers recursively if it's an import loop. An accepted module within + * an import loop cannot recover its execution order and should be reloaded. + * + * @param node The node that accepts HMR and is a boundary + * @param nodeChain The chain of nodes/imports that lead to the node. + * (The last node in the chain imports the `node` parameter) + * @param currentChain The current chain tracked from the `node` parameter + */ +function isNodeWithinCircularImports( + node: ModuleNode, + nodeChain: ModuleNode[], + currentChain: ModuleNode[] = [node], +) { + // To help visualize how each parameters work, imagine this import graph: + // + // A -> B -> C -> ACCEPTED -> D -> E -> NODE + // ^--------------------------| + // + // ACCEPTED: the node that accepts HMR. the `node` parameter. + // NODE : the initial node that triggered this HMR. + // + // This function will return true in the above graph, which: + // `node` : ACCEPTED + // `nodeChain` : [NODE, E, D, ACCEPTED] + // `currentChain` : [ACCEPTED, C, B] + // + // It works by checking if any `node` importers are within `nodeChain`, which + // means there's an import loop with a HMR-accepted module in it. + + for (const importer of node.importers) { + // Node may import itself which is safe + if (importer === node) continue + + // Check circular imports + const importerIndex = nodeChain.indexOf(importer) + if (importerIndex > -1) { + // Log extra debug information so users can fix and remove the circular imports + if (debugHmr) { + // Following explanation above: + // `importer` : E + // `currentChain` reversed : [B, C, ACCEPTED] + // `nodeChain` sliced & reversed : [D, E] + // Combined : [E, B, C, ACCEPTED, D, E] + const importChain = [ + importer, + ...[...currentChain].reverse(), + ...nodeChain.slice(importerIndex, -1).reverse(), + ] + debugHmr( + colors.yellow(`circular imports detected: `) + + importChain.map((m) => colors.dim(m.url)).join(' -> '), + ) + } return true } - if (propagateUpdate(importer, traversedModules, boundaries, subChain)) { + // Continue recursively + if ( + !currentChain.includes(importer) && + isNodeWithinCircularImports( + importer, + nodeChain, + currentChain.concat(importer), + ) + ) { return true } } diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts index 7985258187a469..435b3876dde3ab 100644 --- a/packages/vite/src/node/server/moduleGraph.ts +++ b/packages/vite/src/node/server/moduleGraph.ts @@ -153,8 +153,6 @@ export class ModuleGraph { timestamp: number = Date.now(), isHmr: boolean = false, /** @internal */ - hmrBoundaries: ModuleNode[] = [], - /** @internal */ softInvalidate = false, ): void { const prevInvalidationState = mod.invalidationState @@ -199,14 +197,6 @@ export class ModuleGraph { mod.ssrModule = null mod.ssrError = null - // https://github.com/vitejs/vite/issues/3033 - // Given b.js -> c.js -> b.js (arrow means top-level import), if c.js self-accepts - // and refetches itself, the execution order becomes c.js -> b.js -> c.js. The import - // order matters here as it will fail. The workaround for now is to not hmr invalidate - // b.js so that c.js refetches the already cached b.js, skipping the import loop. - if (hmrBoundaries.includes(mod)) { - return - } mod.importers.forEach((importer) => { if (!importer.acceptedHmrDeps.has(mod)) { // If the importer statically imports the current module, we can soft-invalidate the importer @@ -220,7 +210,6 @@ export class ModuleGraph { seen, timestamp, isHmr, - undefined, shouldSoftInvalidateImporter, ) } diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index fcfec0f351baf2..c33da1c4e858b2 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -877,7 +877,25 @@ if (import.meta.hot) { editFile('self-accept-within-circular/c.js', (code) => code.replace(`export const c = 'c'`, `export const c = 'cc'`), ) - await untilUpdated(() => el.textContent(), 'cc') + await untilUpdated( + () => page.textContent('.self-accept-within-circular'), + 'cc', + ) + }) + + test('hmr should not reload if no accepted within circular imported files', async () => { + await page.goto(viteTestUrl + '/circular/index.html') + const el = await page.$('.circular') + expect(await el.textContent()).toBe( + 'mod-a -> mod-b -> mod-c -> mod-a (expected error)', + ) + editFile('circular/mod-b.js', (code) => + code.replace(`mod-b ->`, `mod-b (edited) ->`), + ) + await untilUpdated( + () => el.textContent(), + 'mod-a -> mod-b (edited) -> mod-c -> mod-a (expected error)', + ) }) test('assets HMR', async () => { diff --git a/playground/hmr/circular/index.js b/playground/hmr/circular/index.js new file mode 100644 index 00000000000000..4c67f476f4269d --- /dev/null +++ b/playground/hmr/circular/index.js @@ -0,0 +1,7 @@ +import { msg } from './mod-a' + +document.querySelector('.circular').textContent = msg + +if (import.meta.hot) { + import.meta.hot.accept() +} diff --git a/playground/hmr/circular/mod-a.js b/playground/hmr/circular/mod-a.js new file mode 100644 index 00000000000000..def8466da2e489 --- /dev/null +++ b/playground/hmr/circular/mod-a.js @@ -0,0 +1,5 @@ +export const value = 'mod-a' + +import { value as _value } from './mod-b' + +export const msg = `mod-a -> ${_value}` diff --git a/playground/hmr/circular/mod-b.js b/playground/hmr/circular/mod-b.js new file mode 100644 index 00000000000000..fe0125f33787b7 --- /dev/null +++ b/playground/hmr/circular/mod-b.js @@ -0,0 +1,3 @@ +import { value as _value } from './mod-c' + +export const value = `mod-b -> ${_value}` diff --git a/playground/hmr/circular/mod-c.js b/playground/hmr/circular/mod-c.js new file mode 100644 index 00000000000000..671d43fa32d46c --- /dev/null +++ b/playground/hmr/circular/mod-c.js @@ -0,0 +1,11 @@ +import { value as _value } from './mod-a' + +// Should error as `_value` is not defined yet within the circular imports +let __value +try { + __value = `${_value} (unexpected no error)` +} catch { + __value = 'mod-a (expected error)' +} + +export const value = `mod-c -> ${__value}` diff --git a/playground/hmr/hmr.ts b/playground/hmr/hmr.ts index 872258511ee273..3861ba17f6ba17 100644 --- a/playground/hmr/hmr.ts +++ b/playground/hmr/hmr.ts @@ -5,6 +5,7 @@ import './invalidation/parent' import './file-delete-restore' import './optional-chaining/parent' import './intermediate-file-delete' +import './circular' import logo from './logo.svg' import { msg as softInvalidationMsg } from './soft-invalidation' diff --git a/playground/hmr/index.html b/playground/hmr/index.html index c21f6b13b7c496..221a3bf39e1705 100644 --- a/playground/hmr/index.html +++ b/playground/hmr/index.html @@ -37,3 +37,4 @@
+
From f9ce9dbc8cc8e9551b9b30bcfa1cf4977ae3d9a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 8 Nov 2023 17:44:46 +0900 Subject: [PATCH 016/656] fix: `server.headers` after restart in middleware mode (#14905) --- packages/vite/src/node/server/index.ts | 6 ++---- .../src/node/server/middlewares/indexHtml.ts | 7 ++++--- .../vite/src/node/server/middlewares/static.ts | 17 +++++++++-------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index c810c7889a59e8..adc892e99d6fa5 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -711,9 +711,7 @@ export async function _createServer( // this applies before the transform middleware so that these files are served // as-is without transforms. if (config.publicDir) { - middlewares.use( - servePublicMiddleware(config.publicDir, config.server.headers), - ) + middlewares.use(servePublicMiddleware(server)) } // main transform middleware @@ -721,7 +719,7 @@ export async function _createServer( // serve static files middlewares.use(serveRawFsMiddleware(server)) - middlewares.use(serveStaticMiddleware(root, server)) + middlewares.use(serveStaticMiddleware(server)) // html fallback if (config.appType === 'spa' || config.appType === 'mpa') { diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts index 0a5b1f81e48f11..f4247558fe4c67 100644 --- a/packages/vite/src/node/server/middlewares/indexHtml.ts +++ b/packages/vite/src/node/server/middlewares/indexHtml.ts @@ -393,9 +393,6 @@ export function indexHtmlMiddleware( server: ViteDevServer | PreviewServer, ): Connect.NextHandleFunction { const isDev = isDevServer(server) - const headers = isDev - ? server.config.server.headers - : server.config.preview.headers // Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...` return async function viteIndexHtmlMiddleware(req, res, next) { @@ -414,6 +411,10 @@ export function indexHtmlMiddleware( } if (fs.existsSync(filePath)) { + const headers = isDev + ? server.config.server.headers + : server.config.preview.headers + try { let html = await fsp.readFile(filePath, 'utf-8') if (isDev) { diff --git a/packages/vite/src/node/server/middlewares/static.ts b/packages/vite/src/node/server/middlewares/static.ts index 8acc9e681b4e37..0260af1d7109c5 100644 --- a/packages/vite/src/node/server/middlewares/static.ts +++ b/packages/vite/src/node/server/middlewares/static.ts @@ -25,10 +25,10 @@ import { const knownJavascriptExtensionRE = /\.[tj]sx?$/ const sirvOptions = ({ - headers, + getHeaders, shouldServe, }: { - headers?: OutgoingHttpHeaders + getHeaders: () => OutgoingHttpHeaders | undefined shouldServe?: (p: string) => void }): Options => { return { @@ -44,6 +44,7 @@ const sirvOptions = ({ if (knownJavascriptExtensionRE.test(pathname)) { res.setHeader('Content-Type', 'application/javascript') } + const headers = getHeaders() if (headers) { for (const name in headers) { res.setHeader(name, headers[name]!) @@ -55,13 +56,13 @@ const sirvOptions = ({ } export function servePublicMiddleware( - dir: string, - headers?: OutgoingHttpHeaders, + server: ViteDevServer, ): Connect.NextHandleFunction { + const dir = server.config.publicDir const serve = sirv( dir, sirvOptions({ - headers, + getHeaders: () => server.config.server.headers, shouldServe: (filePath) => shouldServeFile(filePath, dir), }), ) @@ -77,13 +78,13 @@ export function servePublicMiddleware( } export function serveStaticMiddleware( - dir: string, server: ViteDevServer, ): Connect.NextHandleFunction { + const dir = server.config.root const serve = sirv( dir, sirvOptions({ - headers: server.config.server.headers, + getHeaders: () => server.config.server.headers, }), ) @@ -150,7 +151,7 @@ export function serveRawFsMiddleware( ): Connect.NextHandleFunction { const serveFromRoot = sirv( '/', - sirvOptions({ headers: server.config.server.headers }), + sirvOptions({ getHeaders: () => server.config.server.headers }), ) // Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...` From 23704cd3a5c1ef8f8f710fd397fb835e132cbc24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 8 Nov 2023 17:46:08 +0900 Subject: [PATCH 017/656] chore: add documentation update checkbox in PR template (#14906) --- .github/PULL_REQUEST_TEMPLATE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c393c93c94e659..e73b70ddfcd7c0 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -19,8 +19,8 @@ ### Before submitting the PR, please make sure you do the following -- [ ] Read the [Contributing Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md). -- [ ] Read the [Pull Request Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md#pull-request-guidelines) and follow the [PR Title Convention](https://github.com/vitejs/vite/blob/main/.github/commit-convention.md). +- [ ] Read the [Contributing Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md), especially the [Pull Request Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md#pull-request-guidelines). - [ ] Check that there isn't already a PR that solves the problem the same way to avoid creating a duplicate. - [ ] Provide a description in this PR that addresses **what** the PR is solving, or reference the issue that it solves (e.g. `fixes #123`). +- [ ] Update the corresponding documentation if needed. - [ ] Ideally, include relevant tests that fail without this PR but pass with it. From 1e9bf06a82f7e200606c533aba8b0b10b3d8a979 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 8 Nov 2023 18:29:26 +0900 Subject: [PATCH 018/656] docs: clarify origin part of `base` is not used in dev (#14907) --- docs/config/shared-options.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index cbf0abe12acc6d..4c74725c308521 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -13,11 +13,12 @@ See [Project Root](/guide/#index-html-and-project-root) for more details. - **Type:** `string` - **Default:** `/` +- **Related:** [`server.origin`](/config/server-options.md#server-origin) Base public path when served in development or production. Valid values include: - Absolute URL pathname, e.g. `/foo/` -- Full URL, e.g. `https://foo.com/` +- Full URL, e.g. `https://foo.com/` (The origin part won't be used in development) - Empty string or `./` (for embedded deployment) See [Public Base Path](/guide/build#public-base-path) for more details. From 8b96e9723486667f6854f68741c9075f3a6fdf55 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Wed, 8 Nov 2023 17:30:02 +0800 Subject: [PATCH 019/656] fix(server): the server restart port should remain unchanged (#14418) --- packages/vite/src/node/server/index.ts | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index adc892e99d6fa5..d610f52f8ada5f 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -340,6 +340,14 @@ export interface ViteDevServer extends AsyncDisposable { * @internal */ _shortcutsOptions?: BindCLIShortcutsOptions + /** + * @internal + */ + _currentServerPort?: number | undefined + /** + * @internal + */ + _configServerPort?: number | undefined } export interface ResolvedServerUrls { @@ -798,15 +806,24 @@ async function startServer( } const options = server.config.server - const port = inlinePort ?? options.port ?? DEFAULT_DEV_PORT const hostname = await resolveHostname(options.host) - - await httpServerStart(httpServer, { + const configPort = inlinePort ?? options.port + // When using non strict port for the dev server, the running port can be different from the config one. + // When restarting, the original port may be available but to avoid a switch of URL for the running + // browser tabs, we enforce the previously used port, expect if the config port changed. + const port = + (!configPort || configPort === server._configServerPort + ? server._currentServerPort + : configPort) ?? DEFAULT_DEV_PORT + server._configServerPort = configPort + + const serverPort = await httpServerStart(httpServer, { port, strictPort: options.strictPort, host: hostname.host, logger: server.config.logger, }) + server._currentServerPort = serverPort } function createServerCloseFn(server: HttpServer | null) { @@ -926,6 +943,8 @@ async function restartServer(server: ViteDevServer) { await server.close() // Assign new server props to existing server instance + newServer._configServerPort = server._configServerPort + newServer._currentServerPort = server._currentServerPort Object.assign(server, newServer) // Rebind internal server variable so functions reference the user server newServer._setInternalServer(server) From b953b0dbab25e1beaf23ff80b0a508f72a98f899 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 8 Nov 2023 18:05:54 +0800 Subject: [PATCH 020/656] revert: remove AsyncDisposable (#14908) --- packages/vite/src/node/constants.ts | 3 --- packages/vite/src/node/optimizer/index.ts | 2 +- packages/vite/src/node/optimizer/optimizer.ts | 5 ----- packages/vite/src/node/server/index.ts | 7 ++----- packages/vite/src/node/server/pluginContainer.ts | 7 ++----- packages/vite/src/node/server/ws.ts | 6 +----- 6 files changed, 6 insertions(+), 24 deletions(-) diff --git a/packages/vite/src/node/constants.ts b/packages/vite/src/node/constants.ts index f00c969d25f5a9..5d8d0d10ca7839 100644 --- a/packages/vite/src/node/constants.ts +++ b/packages/vite/src/node/constants.ts @@ -152,6 +152,3 @@ export const wildcardHosts = new Set([ export const DEFAULT_DEV_PORT = 5173 export const DEFAULT_PREVIEW_PORT = 4173 - -export const ASYNC_DISPOSE: typeof Symbol.asyncDispose = - Symbol.asyncDispose || Symbol.for('Symbol.asyncDispose') diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index db210d71818304..3bdb0620e7683f 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -48,7 +48,7 @@ export type ExportsData = { jsxLoader?: boolean } -export interface DepsOptimizer extends AsyncDisposable { +export interface DepsOptimizer { metadata: DepOptimizationMetadata scanProcessing?: Promise registerMissingImport: (id: string, resolved: string) => OptimizedDepInfo diff --git a/packages/vite/src/node/optimizer/optimizer.ts b/packages/vite/src/node/optimizer/optimizer.ts index 1a1b44cdfe679d..edb4af5232b995 100644 --- a/packages/vite/src/node/optimizer/optimizer.ts +++ b/packages/vite/src/node/optimizer/optimizer.ts @@ -2,7 +2,6 @@ import colors from 'picocolors' import { createDebugger, getHash } from '../utils' import { getDepOptimizationConfig } from '../config' import type { ResolvedConfig, ViteDevServer } from '..' -import { ASYNC_DISPOSE } from '../constants' import { addManuallyIncludedOptimizeDeps, addOptimizedDepInfo, @@ -120,9 +119,6 @@ async function createDepsOptimizer( resetRegisteredIds, ensureFirstRun, close, - [ASYNC_DISPOSE]() { - return this.close() - }, options: getDepOptimizationConfig(config, ssr), } @@ -836,7 +832,6 @@ async function createDevSsrDepsOptimizer( ensureFirstRun: () => {}, close: async () => {}, - [ASYNC_DISPOSE]: async () => {}, options: config.ssr.optimizeDeps, } devSsrDepsOptimizerMap.set(config, depsOptimizer) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index d610f52f8ada5f..8620826f7674fc 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -15,7 +15,6 @@ import type { SourceMap } from 'rollup' import picomatch from 'picomatch' import type { Matcher } from 'picomatch' import type { InvalidatePayload } from 'types/customEvent' -import { ASYNC_DISPOSE, CLIENT_DIR, DEFAULT_DEV_PORT } from '../constants' import type { CommonServerOptions } from '../http' import { httpServerStart, @@ -45,6 +44,7 @@ import { } from '../optimizer' import { bindCLIShortcuts } from '../shortcuts' import type { BindCLIShortcutsOptions } from '../shortcuts' +import { CLIENT_DIR, DEFAULT_DEV_PORT } from '../constants' import type { Logger } from '../logger' import { printServerUrls } from '../logger' import { createNoopWatcher, resolveChokidarOptions } from '../watch' @@ -185,7 +185,7 @@ export type ServerHook = ( export type HttpServer = http.Server | Http2SecureServer -export interface ViteDevServer extends AsyncDisposable { +export interface ViteDevServer { /** * The resolved vite config object */ @@ -554,9 +554,6 @@ export async function _createServer( } server.resolvedUrls = null }, - [ASYNC_DISPOSE]() { - return this.close() - }, printUrls() { if (server.resolvedUrls) { printServerUrls( diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index b71e4e991d168e..1026eb4d447890 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -64,7 +64,6 @@ import type { FSWatcher } from 'chokidar' import colors from 'picocolors' import type * as postcss from 'postcss' import type { Plugin } from '../plugin' -import { ASYNC_DISPOSE, FS_PREFIX } from '../constants' import { cleanUrl, combineSourcemaps, @@ -79,6 +78,7 @@ import { timeFrom, unwrapId, } from '../utils' +import { FS_PREFIX } from '../constants' import type { ResolvedConfig } from '../config' import { createPluginHookUtils, getHookHandler } from '../plugins' import { buildErrorMessage } from './middlewares/error' @@ -105,7 +105,7 @@ export interface PluginContainerOptions { writeFile?: (name: string, source: string | Uint8Array) => void } -export interface PluginContainer extends AsyncDisposable { +export interface PluginContainer { options: InputOptions getModuleInfo(id: string): ModuleInfo | null buildStart(options: InputOptions): Promise @@ -799,9 +799,6 @@ export async function createPluginContainer( () => [], ) }, - [ASYNC_DISPOSE]() { - return this.close() - }, } return container diff --git a/packages/vite/src/node/server/ws.ts b/packages/vite/src/node/server/ws.ts index 195e66d26fa8f0..d9a67e4934c42f 100644 --- a/packages/vite/src/node/server/ws.ts +++ b/packages/vite/src/node/server/ws.ts @@ -11,7 +11,6 @@ import { WebSocketServer as WebSocketServerRaw_ } from 'ws' import type { WebSocket as WebSocketTypes } from 'dep-types/ws' import type { CustomPayload, ErrorPayload, HMRPayload } from 'types/hmrPayload' import type { InferCustomEventPayload } from 'types/customEvent' -import { ASYNC_DISPOSE } from '../constants' import type { ResolvedConfig } from '..' import { isObject } from '../utils' import type { HttpServer } from '.' @@ -31,7 +30,7 @@ export type WebSocketCustomListener = ( client: WebSocketClient, ) => void -export interface WebSocketServer extends AsyncDisposable { +export interface WebSocketServer { /** * Listen on port and host */ @@ -310,8 +309,5 @@ export function createWebSocketServer( }) }) }, - [ASYNC_DISPOSE]() { - return this.close() - }, } } From 7c240a0d25bcba043fbf97bf0382b2da4f012aa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 8 Nov 2023 20:07:28 +0900 Subject: [PATCH 021/656] feat: add invalid `rollupOptions` warnings (#14909) --- packages/vite/src/node/build.ts | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index 20ac012bfe4061..d6600d74002ec4 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -500,6 +500,19 @@ export async function build( `Please specify a dedicated SSR entry.`, ) } + if (config.build.cssCodeSplit === false) { + const inputs = + typeof input === 'string' + ? [input] + : Array.isArray(input) + ? input + : Object.values(input) + if (inputs.some((input) => input.endsWith('.css'))) { + throw new Error( + `When "build.cssCodeSplit: false" is set, "rollupOptions.input" should not include CSS files.`, + ) + } + } const outDir = resolve(options.outDir) @@ -552,6 +565,20 @@ export async function build( `Please use "rollupOptions.output" instead.`, ) } + if (output.file) { + throw new Error( + `Vite does not support "rollupOptions.output.file". ` + + `Please use "rollupOptions.output.dir" and "rollupOptions.output.entryFileNames" instead.`, + ) + } + if (output.sourcemap) { + config.logger.warnOnce( + colors.yellow( + `Vite does not support "rollupOptions.output.sourcemap". ` + + `Please use "build.sourcemap" instead.`, + ), + ) + } const ssrNodeBuild = ssr && config.ssr.target === 'node' const ssrWorkerBuild = ssr && config.ssr.target === 'webworker' From 84c5ff69442fe4977568951a6b237b65d7572f8b Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 9 Nov 2023 09:25:02 +0100 Subject: [PATCH 022/656] fix: injectQuery check with double slash in the url (#14910) --- packages/vite/src/node/plugins/importAnalysis.ts | 14 +++++++++++--- .../__tests__/dynamic-import.spec.ts | 8 ++++++++ playground/dynamic-import/index.html | 3 +++ playground/dynamic-import/nested/index.js | 5 +++++ 4 files changed, 27 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 0428159f7d1429..b07b1385ad0a62 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -6,6 +6,7 @@ import MagicString from 'magic-string' import type { ExportSpecifier, ImportSpecifier } from 'es-module-lexer' import { init, parse as parseImports } from 'es-module-lexer' import { parse as parseJS } from 'acorn' +import { stripLiteral } from 'strip-literal' import type { Node } from 'estree' import { findStaticImports, parseStaticImport } from 'mlly' import { makeLegalIdentifier } from '@rollup/pluginutils' @@ -74,7 +75,13 @@ const hasImportInQueryParamsRE = /[?&]import=?\b/ export const hasViteIgnoreRE = /\/\*\s*@vite-ignore\s*\*\// -const cleanUpRawUrlRE = /\/\*[\s\S]*?\*\/|([^\\:]|^)\/\/.*$/gm +const trimWhitespaceRE = /^(\s*)(\S|\S[\s\S]*\S)\s*$/ +const trimWhitespaceAndComments = (code: string) => { + const cleanedCode = stripLiteral(code) + const match = trimWhitespaceRE.exec(cleanedCode) + return match ? code.slice(match[1].length, match[2].length) : code +} + const urlIsStringRE = /^(?:'.*'|".*"|`.*`)$/ const templateLiteralRE = /^\s*`(.*)`\s*$/ @@ -650,16 +657,17 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { } if (!ssr) { - const url = rawUrl.replace(cleanUpRawUrlRE, '').trim() + const url = trimWhitespaceAndComments(rawUrl) if ( !urlIsStringRE.test(url) || isExplicitImportRequired(url.slice(1, -1)) ) { needQueryInjectHelper = true + // Use rawUrl to avoid removing comments like @vite-ignore str().overwrite( start, end, - `__vite__injectQuery(${url}, 'import')`, + `__vite__injectQuery(${rawUrl}, 'import')`, { contentOnly: true }, ) } diff --git a/playground/dynamic-import/__tests__/dynamic-import.spec.ts b/playground/dynamic-import/__tests__/dynamic-import.spec.ts index d81317678bc6f3..c8c97254a75f02 100644 --- a/playground/dynamic-import/__tests__/dynamic-import.spec.ts +++ b/playground/dynamic-import/__tests__/dynamic-import.spec.ts @@ -83,6 +83,14 @@ test('should load dynamic import with vars ignored', async () => { ).toBe(false) }) +test('should load dynamic import with double slash ignored', async () => { + await untilUpdated( + () => page.textContent('.dynamic-import-with-double-slash-ignored'), + 'hello', + true, + ) +}) + test('should load dynamic import with vars multiline', async () => { await untilUpdated( () => page.textContent('.dynamic-import-with-vars-multiline'), diff --git a/playground/dynamic-import/index.html b/playground/dynamic-import/index.html index afc5c03f8b862a..81f2d8f8ed0fea 100644 --- a/playground/dynamic-import/index.html +++ b/playground/dynamic-import/index.html @@ -16,6 +16,9 @@

dynamic-import-with-vars-ignored

todo
+

dynamic-import-with-double-slash-ignored

+
todo
+

dynamic-import-with-vars-multiline

todo
diff --git a/playground/dynamic-import/nested/index.js b/playground/dynamic-import/nested/index.js index 25a6426e3f7ee1..22b7e68c2c7f20 100644 --- a/playground/dynamic-import/nested/index.js +++ b/playground/dynamic-import/nested/index.js @@ -89,6 +89,11 @@ import(/*@vite-ignore*/ `https://localhost`).catch((mod) => { text('.dynamic-import-with-vars-ignored', 'hello') }) +import(/*@vite-ignore*/ `https://localhost//${'test'}`).catch((mod) => { + console.log(mod) + text('.dynamic-import-with-double-slash-ignored', 'hello') +}) + // prettier-ignore import( /* this messes with */ From e49ef028bb0361391113023c52df034df2e88777 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 9 Nov 2023 09:53:37 +0100 Subject: [PATCH 023/656] docs(ssr): properly handle vite.middlewares after restart (#14917) Co-authored-by: Bjorn Lu --- docs/config/server-options.md | 4 +++- docs/guide/ssr.md | 8 +++++++- playground/css-lightningcss-proxy/server.js | 4 +++- playground/json/server.js | 4 +++- playground/optimize-missing-deps/server.js | 4 +++- playground/ssr-conditions/server.js | 4 +++- playground/ssr-deps/server.js | 4 +++- playground/ssr-html/server.js | 4 +++- playground/ssr-noexternal/server.js | 4 +++- playground/ssr-pug/server.js | 4 +++- playground/ssr/server.js | 4 +++- 11 files changed, 37 insertions(+), 11 deletions(-) diff --git a/docs/config/server-options.md b/docs/config/server-options.md index 9efdd443fea150..0c4098fd0e141d 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -249,7 +249,9 @@ async function createServer() { appType: 'custom', // don't include Vite's default HTML handling middlewares }) // Use vite's connect instance as middleware - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res) => { // Since `appType` is `'custom'`, should serve response here. diff --git a/docs/guide/ssr.md b/docs/guide/ssr.md index 0913c412d0f865..76572f575da929 100644 --- a/docs/guide/ssr.md +++ b/docs/guide/ssr.md @@ -89,7 +89,13 @@ async function createServer() { // Use vite's connect instance as middleware. If you use your own // express router (express.Router()), you should use router.use - app.use(vite.middlewares) + app.use((req, res, next) => { + // When the server restarts (for example after the user modifies + // vite.config.js), `vite.middlewares` will be reassigned. Calling + // `vite.middlewares` inside a wrapper handler ensures that the + // latest Vite middlewares are always used. + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res) => { // serve index.html - we will tackle this next diff --git a/playground/css-lightningcss-proxy/server.js b/playground/css-lightningcss-proxy/server.js index a482de69e9b5ab..a8212e797cbdee 100644 --- a/playground/css-lightningcss-proxy/server.js +++ b/playground/css-lightningcss-proxy/server.js @@ -45,7 +45,9 @@ export async function createServer(root = process.cwd(), hmrPort) { appType: 'custom', }) // use vite's connect instance as middleware - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res, next) => { try { diff --git a/playground/json/server.js b/playground/json/server.js index 982b7dcc09d30b..9cb8c49f506972 100644 --- a/playground/json/server.js +++ b/playground/json/server.js @@ -37,7 +37,9 @@ export async function createServer(root = process.cwd(), hmrPort) { }, }) // use vite's connect instance as middleware - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res) => { try { diff --git a/playground/optimize-missing-deps/server.js b/playground/optimize-missing-deps/server.js index 411c3342b02d9c..ecc31e2f02446a 100644 --- a/playground/optimize-missing-deps/server.js +++ b/playground/optimize-missing-deps/server.js @@ -26,7 +26,9 @@ export async function createServer(root = process.cwd(), hmrPort) { }, appType: 'custom', }) - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res) => { try { diff --git a/playground/ssr-conditions/server.js b/playground/ssr-conditions/server.js index aa26dfb0cb8607..ad3b4229670ec1 100644 --- a/playground/ssr-conditions/server.js +++ b/playground/ssr-conditions/server.js @@ -35,7 +35,9 @@ export async function createServer(root = process.cwd(), hmrPort) { appType: 'custom', }) - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res) => { try { diff --git a/playground/ssr-deps/server.js b/playground/ssr-deps/server.js index 05e86a863ea744..2b22de20314fcf 100644 --- a/playground/ssr-deps/server.js +++ b/playground/ssr-deps/server.js @@ -84,7 +84,9 @@ export async function createServer(root = process.cwd(), hmrPort) { ], }) // use vite's connect instance as middleware - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res) => { try { diff --git a/playground/ssr-html/server.js b/playground/ssr-html/server.js index 0c4deacfc64f2e..ad90c09a9aa389 100644 --- a/playground/ssr-html/server.js +++ b/playground/ssr-html/server.js @@ -66,7 +66,9 @@ export async function createServer(root = process.cwd(), hmrPort) { ], }) // use vite's connect instance as middleware - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res, next) => { try { diff --git a/playground/ssr-noexternal/server.js b/playground/ssr-noexternal/server.js index c13fc90956d3c1..da5e9036bd22d4 100644 --- a/playground/ssr-noexternal/server.js +++ b/playground/ssr-noexternal/server.js @@ -44,7 +44,9 @@ export async function createServer( }, appType: 'custom', }) - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) } app.use('*', async (req, res) => { diff --git a/playground/ssr-pug/server.js b/playground/ssr-pug/server.js index 222b51ae216638..58f84ccf7c1a1d 100644 --- a/playground/ssr-pug/server.js +++ b/playground/ssr-pug/server.js @@ -45,7 +45,9 @@ export async function createServer(root = process.cwd(), hmrPort) { appType: 'custom', }) // use vite's connect instance as middleware - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res) => { try { diff --git a/playground/ssr/server.js b/playground/ssr/server.js index 33f4369220d4f4..3d7c7dd4a63baa 100644 --- a/playground/ssr/server.js +++ b/playground/ssr/server.js @@ -39,7 +39,9 @@ export async function createServer( customLogger, }) // use vite's connect instance as middleware - app.use(vite.middlewares) + app.use((req, res, next) => { + vite.middlewares.handle(req, res, next) + }) app.use('*', async (req, res, next) => { try { From 2687dbbd4e19c86f9888ee784c9b51598e8b79ca Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 9 Nov 2023 17:33:25 +0800 Subject: [PATCH 024/656] fix(worker): prevent inject esm in classic workers (#14918) --- .prettierignore | 1 - packages/vite/src/client/client.ts | 2 +- .../vite/src/node/plugins/importAnalysis.ts | 36 ++++++++++++++++--- .../worker/__tests__/es/es-worker.spec.ts | 4 +++ .../worker/__tests__/iife/iife-worker.spec.ts | 4 +++ .../relative-base-worker.spec.ts | 4 +++ playground/worker/classic-esm.js | 1 + playground/worker/classic-worker.js | 26 ++++++++++++-- playground/worker/index.html | 1 + playground/worker/worker/main-classic.js | 12 ++++++- 10 files changed, 80 insertions(+), 11 deletions(-) create mode 100644 playground/worker/classic-esm.js diff --git a/.prettierignore b/.prettierignore index a9322e816629df..bc38eebdb55221 100644 --- a/.prettierignore +++ b/.prettierignore @@ -8,5 +8,4 @@ pnpm-workspace.yaml playground/tsconfig-json-load-error/has-error/tsconfig.json playground/html/invalid.html playground/html/valid.html -playground/worker/classic-worker.js playground/external/public/slash@3.0.0.js diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 911798d42d482e..86c1bd0a837a47 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -642,7 +642,7 @@ export function injectQuery(url: string, queryToInject: string): string { } // can't use pathname from URL since it may be relative like ../ - const pathname = url.replace(/#.*$/, '').replace(/\?.*$/, '') + const pathname = url.replace(/[?#].*$/s, '') const { search, hash } = new URL(url, 'http://vitejs.dev') return `${pathname}?${queryToInject}${search ? `&` + search.slice(1) : ''}${ diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index b07b1385ad0a62..cc39c0c0948a6d 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -59,6 +59,7 @@ import { throwOutdatedRequest } from './optimizedDeps' import { isCSSRequest, isDirectCSSRequest } from './css' import { browserExternalId } from './resolve' import { serializeDefine } from './define' +import { WORKER_FILE_ID } from './worker' const debug = createDebugger('vite:import-analysis') @@ -685,12 +686,17 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { const acceptedUrls = mergeAcceptedUrls(orderedAcceptedUrls) const acceptedExports = mergeAcceptedUrls(orderedAcceptedExports) - if (hasEnv) { + // While we always expect to work with ESM, a classic worker is the only + // case where it's not ESM and we need to avoid injecting ESM-specific code + const isClassicWorker = + importer.includes(WORKER_FILE_ID) && importer.includes('type=classic') + + if (hasEnv && !isClassicWorker) { // inject import.meta.env str().prepend(getEnv(ssr)) } - if (hasHMR && !ssr) { + if (hasHMR && !ssr && !isClassicWorker) { debugHmr?.( `${ isSelfAccepting @@ -712,9 +718,13 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { } if (needQueryInjectHelper) { - str().prepend( - `import { injectQuery as __vite__injectQuery } from "${clientPublicPath}";`, - ) + if (isClassicWorker) { + str().append('\n' + __vite__injectQuery.toString()) + } else { + str().prepend( + `import { injectQuery as __vite__injectQuery } from "${clientPublicPath}";`, + ) + } } // normalize and rewrite accepted urls @@ -1009,3 +1019,19 @@ export function transformCjsImport( return lines.join('; ') } } + +// Copied from `client/client.ts`. Only needed so we can inline inject this function for classic workers. +function __vite__injectQuery(url: string, queryToInject: string): string { + // skip urls that won't be handled by vite + if (url[0] !== '.' && url[0] !== '/') { + return url + } + + // can't use pathname from URL since it may be relative like ../ + const pathname = url.replace(/[?#].*$/s, '') + const { search, hash } = new URL(url, 'http://vitejs.dev') + + return `${pathname}?${queryToInject}${search ? `&` + search.slice(1) : ''}${ + hash || '' + }` +} diff --git a/playground/worker/__tests__/es/es-worker.spec.ts b/playground/worker/__tests__/es/es-worker.spec.ts index 8e2ecf9ea598a0..7ffd7ae6df0f20 100644 --- a/playground/worker/__tests__/es/es-worker.spec.ts +++ b/playground/worker/__tests__/es/es-worker.spec.ts @@ -173,6 +173,10 @@ test('classic worker', async () => { 'A classic', true, ) + await untilUpdated( + () => page.textContent('.classic-worker-import'), + '[success] classic-esm', + ) await untilUpdated( () => page.textContent('.classic-shared-worker'), 'A classic', diff --git a/playground/worker/__tests__/iife/iife-worker.spec.ts b/playground/worker/__tests__/iife/iife-worker.spec.ts index ea296defdcc942..7fe242a7f33a70 100644 --- a/playground/worker/__tests__/iife/iife-worker.spec.ts +++ b/playground/worker/__tests__/iife/iife-worker.spec.ts @@ -136,6 +136,10 @@ test('module worker', async () => { test('classic worker', async () => { await untilUpdated(() => page.textContent('.classic-worker'), 'A classic') + await untilUpdated( + () => page.textContent('.classic-worker-import'), + '[success] classic-esm', + ) await untilUpdated( () => page.textContent('.classic-shared-worker'), 'A classic', diff --git a/playground/worker/__tests__/relative-base/relative-base-worker.spec.ts b/playground/worker/__tests__/relative-base/relative-base-worker.spec.ts index 53d3c91661c7a5..e05bf8aed72a0b 100644 --- a/playground/worker/__tests__/relative-base/relative-base-worker.spec.ts +++ b/playground/worker/__tests__/relative-base/relative-base-worker.spec.ts @@ -122,6 +122,10 @@ test.runIf(isBuild)('classic worker', async () => { 'A classic', true, ) + await untilUpdated( + () => page.textContent('.classic-worker-import'), + '[success] classic-esm', + ) await untilUpdated( () => page.textContent('.classic-shared-worker'), 'A classic', diff --git a/playground/worker/classic-esm.js b/playground/worker/classic-esm.js new file mode 100644 index 00000000000000..c4a9a4bad9d3a9 --- /dev/null +++ b/playground/worker/classic-esm.js @@ -0,0 +1 @@ +export const msg = '[success] classic-esm' diff --git a/playground/worker/classic-worker.js b/playground/worker/classic-worker.js index fdc5ec10c9ccf8..be6fa357e70ec4 100644 --- a/playground/worker/classic-worker.js +++ b/playground/worker/classic-worker.js @@ -3,9 +3,29 @@ if (base.endsWith('.js') || base === `/worker-entries`) base = '' // for dev importScripts(`${base}/classic.js`) -self.addEventListener('message', () => { - self.postMessage(self.constant) +self.addEventListener('message', async (e) => { + switch (e.data) { + case 'ping': { + self.postMessage({ + message: e.data, + result: self.constant, + }) + break + } + case 'test-import': { + // Vite may inject imports to handle this dynamic import, make sure + // it still works in classic workers. + // NOTE: this test only works in dev. + const importPath = `${base}/classic-esm.js` + const { msg } = await import(/* @vite-ignore */ importPath) + self.postMessage({ + message: e.data, + result: msg, + }) + break + } + } }) // for sourcemap -console.log("classic-worker.js") +console.log('classic-worker.js') diff --git a/playground/worker/index.html b/playground/worker/index.html index cf019b9a549020..302c8e9dc43132 100644 --- a/playground/worker/index.html +++ b/playground/worker/index.html @@ -125,6 +125,7 @@

format iife:

.classic-worker

+

new SharedWorker(new URL('./classic-shared-worker.js', import.meta.url), { diff --git a/playground/worker/worker/main-classic.js b/playground/worker/worker/main-classic.js index a8d6552f438363..315d8aed8b885a 100644 --- a/playground/worker/worker/main-classic.js +++ b/playground/worker/worker/main-classic.js @@ -12,9 +12,19 @@ let classicWorker = new Worker( classicWorker = new Worker(new URL('../classic-worker.js', import.meta.url)) classicWorker.addEventListener('message', ({ data }) => { - text('.classic-worker', JSON.stringify(data)) + switch (data.message) { + case 'ping': { + text('.classic-worker', data.result) + break + } + case 'test-import': { + text('.classic-worker-import', data.result) + break + } + } }) classicWorker.postMessage('ping') +classicWorker.postMessage('test-import') // prettier-ignore // test trailing comma From 071bfc8e18ebe3981bded8e7bab605bd473d72b9 Mon Sep 17 00:00:00 2001 From: Ilya Semenov Date: Fri, 10 Nov 2023 14:17:05 +0700 Subject: [PATCH 025/656] feat(legacy): export `Options` (#14933) --- packages/plugin-legacy/src/index.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/plugin-legacy/src/index.ts b/packages/plugin-legacy/src/index.ts index 71723d2a5a75f5..a121693446c039 100644 --- a/packages/plugin-legacy/src/index.ts +++ b/packages/plugin-legacy/src/index.ts @@ -844,4 +844,6 @@ export const cspHashes = [ dynamicFallbackInlineCode, ].map((i) => createHash('sha256').update(i).digest('base64')) +export type { Options } + export default viteLegacyPlugin From 2f395471524e3dd978076d1c802b430284512d69 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 10 Nov 2023 15:56:46 +0800 Subject: [PATCH 026/656] docs: note skipLibCheck (#14932) --- docs/guide/features.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index 6b195cd5ec41cb..0bcd9bd5c00c25 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -111,7 +111,9 @@ As such, it is recommended to set `target` to `ESNext` or `ES2022` or newer, or - [`experimentalDecorators`](https://www.typescriptlang.org/tsconfig#experimentalDecorators) - [`alwaysStrict`](https://www.typescriptlang.org/tsconfig#alwaysStrict) -If migrating your codebase to `"isolatedModules": true` is an insurmountable effort, you may be able to get around it with a third-party plugin such as [rollup-plugin-friendly-type-imports](https://www.npmjs.com/package/rollup-plugin-friendly-type-imports). However, this approach is not officially supported by Vite. +::: tip `skipLibCheck` +Vite starter templates have `"skipLibCheck": "true"` by default to avoid typechecking dependencies, as they may choose to only support specific versions and configurations of TypeScript. You can learn more at [vuejs/vue-cli#5688](https://github.com/vuejs/vue-cli/pull/5688). +::: ### Client Types From 60a020e592893e5f58a83fb53a68bed19148970c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Fri, 10 Nov 2023 08:59:09 +0100 Subject: [PATCH 027/656] feat(hmr): add full reload reason (#14914) --- packages/vite/src/node/server/hmr.ts | 46 ++++++++++++++-------------- playground/hmr/__tests__/hmr.spec.ts | 5 +++ 2 files changed, 28 insertions(+), 23 deletions(-) diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index 94a56249528e58..3aa5996bff9751 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -142,6 +142,7 @@ export async function handleHMRUpdate( updateModules(shortFile, hmrContext.modules, timestamp, server) } +type HasDeadEnd = boolean | string export function updateModules( file: string, modules: ModuleNode[], @@ -152,7 +153,7 @@ export function updateModules( const updates: Update[] = [] const invalidatedModules = new Set() const traversedModules = new Set() - let needFullReload = false + let needFullReload: HasDeadEnd = false for (const mod of modules) { const boundaries: { boundary: ModuleNode; acceptedVia: ModuleNode }[] = [] @@ -165,7 +166,7 @@ export function updateModules( } if (hasDeadEnd) { - needFullReload = true + needFullReload = hasDeadEnd continue } @@ -184,10 +185,14 @@ export function updateModules( } if (needFullReload) { - config.logger.info(colors.green(`page reload `) + colors.dim(file), { - clear: !afterInvalidation, - timestamp: true, - }) + const reason = + typeof needFullReload === 'string' + ? colors.dim(` (${needFullReload})`) + : '' + config.logger.info( + colors.green(`page reload `) + colors.dim(file) + reason, + { clear: !afterInvalidation, timestamp: true }, + ) ws.send({ type: 'full-reload', }) @@ -254,7 +259,7 @@ function propagateUpdate( traversedModules: Set, boundaries: { boundary: ModuleNode; acceptedVia: ModuleNode }[], currentChain: ModuleNode[] = [node], -): boolean /* hasDeadEnd */ { +): HasDeadEnd { if (traversedModules.has(node)) { return false } @@ -274,9 +279,8 @@ function propagateUpdate( if (node.isSelfAccepting) { boundaries.push({ boundary: node, acceptedVia: node }) - if (isNodeWithinCircularImports(node, currentChain)) { - return true - } + const result = isNodeWithinCircularImports(node, currentChain) + if (result) return result // additionally check for CSS importers, since a PostCSS plugin like // Tailwind JIT may register any file as a dependency to a CSS file. @@ -301,9 +305,8 @@ function propagateUpdate( // so that they do get the fresh imported module when/if they are reloaded. if (node.acceptedHmrExports) { boundaries.push({ boundary: node, acceptedVia: node }) - if (isNodeWithinCircularImports(node, currentChain)) { - return true - } + const result = isNodeWithinCircularImports(node, currentChain) + if (result) return result } else { if (!node.importers.size) { return true @@ -325,9 +328,8 @@ function propagateUpdate( if (importer.acceptedHmrDeps.has(node)) { boundaries.push({ boundary: importer, acceptedVia: node }) - if (isNodeWithinCircularImports(importer, subChain)) { - return true - } + const result = isNodeWithinCircularImports(importer, subChain) + if (result) return result continue } @@ -364,7 +366,7 @@ function isNodeWithinCircularImports( node: ModuleNode, nodeChain: ModuleNode[], currentChain: ModuleNode[] = [node], -) { +): HasDeadEnd { // To help visualize how each parameters work, imagine this import graph: // // A -> B -> C -> ACCEPTED -> D -> E -> NODE @@ -405,19 +407,17 @@ function isNodeWithinCircularImports( importChain.map((m) => colors.dim(m.url)).join(' -> '), ) } - return true + return 'circular imports' } // Continue recursively - if ( - !currentChain.includes(importer) && - isNodeWithinCircularImports( + if (!currentChain.includes(importer)) { + const result = isNodeWithinCircularImports( importer, nodeChain, currentChain.concat(importer), ) - ) { - return true + if (result) return result } } return false diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index c33da1c4e858b2..7a8b7214b8b783 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -7,6 +7,7 @@ import { isBuild, page, removeFile, + serverLogs, untilBrowserLogAfter, untilUpdated, viteTestUrl, @@ -881,6 +882,10 @@ if (import.meta.hot) { () => page.textContent('.self-accept-within-circular'), 'cc', ) + expect(serverLogs.length).greaterThanOrEqual(1) + // Match on full log not possible because of color markers + expect(serverLogs.at(-1)!).toContain('page reload') + expect(serverLogs.at(-1)!).toContain('(circular imports)') }) test('hmr should not reload if no accepted within circular imported files', async () => { From 6511c0ee6284bc04f5948bfc69635962a392e320 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 10 Nov 2023 16:00:32 +0800 Subject: [PATCH 028/656] docs: update library mode env var tip (#14935) --- docs/guide/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/build.md b/docs/guide/build.md index 1ce6aeb6f7580d..962c6fc419b587 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -219,7 +219,7 @@ If the `package.json` does not contain `"type": "module"`, Vite will generate di ::: ::: tip Environment Variables -In library mode, all `import.meta.env.*` usage are statically replaced when building for production. However, `process.env.*` usage are not, so that consumers of your library can dynamically change it. If this is undesirable, you can use `define: { 'process.env.NODE_ENV': '"production"' }` for example to statically replace them. +In library mode, all [`import.meta.env.*`](./env-and-mode.md) usage are statically replaced when building for production. However, `process.env.*` usage are not, so that consumers of your library can dynamically change it. If this is undesirable, you can use `define: { 'process.env.NODE_ENV': '"production"' }` for example to statically replace them, or use [`esm-env`](https://github.com/benmccann/esm-env) for better compatibility with bundlers and runtimes. ::: ::: warning Advanced Usage From 374e6fd863a2ae8891df0b6fb22fce20292626d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 10 Nov 2023 17:07:51 +0900 Subject: [PATCH 029/656] refactor: update es-module-lexer to 1.4.0 (#14937) --- packages/vite/package.json | 2 +- .../src/node/plugins/dynamicImportVars.ts | 9 +------- .../vite/src/node/plugins/importAnalysis.ts | 23 ++++++++----------- .../src/node/plugins/importAnalysisBuild.ts | 8 +++++-- .../vite/src/node/ssr/ssrManifestPlugin.ts | 8 +++++-- packages/vite/src/node/utils.ts | 4 ---- pnpm-lock.yaml | 8 +++---- 7 files changed, 27 insertions(+), 35 deletions(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index 26e611eedbab23..1a3bf46f041dd8 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -106,7 +106,7 @@ "dep-types": "link:./src/types", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", - "es-module-lexer": "^1.3.1", + "es-module-lexer": "^1.4.0", "escape-html": "^1.0.3", "estree-walker": "^3.0.3", "etag": "^1.8.1", diff --git a/packages/vite/src/node/plugins/dynamicImportVars.ts b/packages/vite/src/node/plugins/dynamicImportVars.ts index fbd12eb49b8afc..c24b5bf70253fd 100644 --- a/packages/vite/src/node/plugins/dynamicImportVars.ts +++ b/packages/vite/src/node/plugins/dynamicImportVars.ts @@ -12,7 +12,6 @@ import { createFilter, normalizePath, parseRequest, - removeComments, requestQuerySplitRE, transformStableResult, } from '../utils' @@ -218,14 +217,8 @@ export function dynamicImportVarsPlugin(config: ResolvedConfig): Plugin { s ||= new MagicString(source) let result try { - // When import string is using backticks, es-module-lexer `end` captures - // until the closing parenthesis, instead of the closing backtick. - // There may be inline comments between the backtick and the closing - // parenthesis, so we manually remove them for now. - // See https://github.com/guybedford/es-module-lexer/issues/118 - const importSource = removeComments(source.slice(start, end)).trim() result = await transformDynamicImport( - importSource, + source.slice(start, end), importer, resolve, config.root, diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index cc39c0c0948a6d..8292c220a0416b 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -3,10 +3,13 @@ import path from 'node:path' import { performance } from 'node:perf_hooks' import colors from 'picocolors' import MagicString from 'magic-string' -import type { ExportSpecifier, ImportSpecifier } from 'es-module-lexer' +import type { + ParseError as EsModuleLexerParseError, + ExportSpecifier, + ImportSpecifier, +} from 'es-module-lexer' import { init, parse as parseImports } from 'es-module-lexer' import { parse as parseJS } from 'acorn' -import { stripLiteral } from 'strip-literal' import type { Node } from 'estree' import { findStaticImports, parseStaticImport } from 'mlly' import { makeLegalIdentifier } from '@rollup/pluginutils' @@ -76,13 +79,6 @@ const hasImportInQueryParamsRE = /[?&]import=?\b/ export const hasViteIgnoreRE = /\/\*\s*@vite-ignore\s*\*\// -const trimWhitespaceRE = /^(\s*)(\S|\S[\s\S]*\S)\s*$/ -const trimWhitespaceAndComments = (code: string) => { - const cleanedCode = stripLiteral(code) - const match = trimWhitespaceRE.exec(cleanedCode) - return match ? code.slice(match[1].length, match[2].length) : code -} - const urlIsStringRE = /^(?:'.*'|".*"|`.*`)$/ const templateLiteralRE = /^\s*`(.*)`\s*$/ @@ -236,7 +232,8 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { source = stripBomTag(source) try { ;[imports, exports] = parseImports(source) - } catch (e: any) { + } catch (_e: unknown) { + const e = _e as EsModuleLexerParseError const { message, showCodeFrame } = createParseErrorInfo( importer, source, @@ -658,13 +655,11 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { } if (!ssr) { - const url = trimWhitespaceAndComments(rawUrl) if ( - !urlIsStringRE.test(url) || - isExplicitImportRequired(url.slice(1, -1)) + !urlIsStringRE.test(rawUrl) || + isExplicitImportRequired(rawUrl.slice(1, -1)) ) { needQueryInjectHelper = true - // Use rawUrl to avoid removing comments like @vite-ignore str().overwrite( start, end, diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 918a219f322a75..59d8bee553d872 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -1,6 +1,9 @@ import path from 'node:path' import MagicString from 'magic-string' -import type { ImportSpecifier } from 'es-module-lexer' +import type { + ParseError as EsModuleLexerParseError, + ImportSpecifier, +} from 'es-module-lexer' import { init, parse as parseImports } from 'es-module-lexer' import type { OutputChunk, SourceMap } from 'rollup' import colors from 'picocolors' @@ -222,7 +225,8 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { let imports: readonly ImportSpecifier[] = [] try { imports = parseImports(source)[0] - } catch (e: any) { + } catch (_e: unknown) { + const e = _e as EsModuleLexerParseError const { message, showCodeFrame } = createParseErrorInfo( importer, source, diff --git a/packages/vite/src/node/ssr/ssrManifestPlugin.ts b/packages/vite/src/node/ssr/ssrManifestPlugin.ts index c4d8c7b176628d..1a2baa332580ae 100644 --- a/packages/vite/src/node/ssr/ssrManifestPlugin.ts +++ b/packages/vite/src/node/ssr/ssrManifestPlugin.ts @@ -1,6 +1,9 @@ import { basename, dirname, join, relative } from 'node:path' import { parse as parseImports } from 'es-module-lexer' -import type { ImportSpecifier } from 'es-module-lexer' +import type { + ParseError as EsModuleLexerParseError, + ImportSpecifier, +} from 'es-module-lexer' import type { OutputChunk } from 'rollup' import jsonStableStringify from 'json-stable-stringify' import type { ResolvedConfig } from '..' @@ -46,7 +49,8 @@ export function ssrManifestPlugin(config: ResolvedConfig): Plugin { let imports: ImportSpecifier[] = [] try { imports = parseImports(code)[0].filter((i) => i.n && i.d > -1) - } catch (e: any) { + } catch (_e: unknown) { + const e = _e as EsModuleLexerParseError const loc = numberToPos(code, e.idx) this.error({ name: e.name, diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 1e039d9beced7e..1197693d7a5cc1 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -1034,10 +1034,6 @@ export function emptyCssComments(raw: string): string { return raw.replace(multilineCommentsRE, (s) => ' '.repeat(s.length)) } -export function removeComments(raw: string): string { - return raw.replace(multilineCommentsRE, '').replace(singlelineCommentsRE, '') -} - function backwardCompatibleWorkerPlugins(plugins: any) { if (Array.isArray(plugins)) { return plugins diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 907924494bdd86..d77c91e79fdc18 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -310,8 +310,8 @@ importers: specifier: ^10.0.0 version: 10.0.0(patch_hash=weuqf2vlv5b5g6cikeo4slurbm) es-module-lexer: - specifier: ^1.3.1 - version: 1.3.1 + specifier: ^1.4.0 + version: 1.4.0 escape-html: specifier: ^1.0.3 version: 1.0.3 @@ -5532,8 +5532,8 @@ packages: which-typed-array: 1.1.11 dev: true - /es-module-lexer@1.3.1: - resolution: {integrity: sha512-JUFAyicQV9mXc3YRxPnDlrfBKpqt6hUYzz9/boprUJHs4e4KVr3XwOF70doO6gwXUor6EWZJAyWAfKki84t20Q==} + /es-module-lexer@1.4.0: + resolution: {integrity: sha512-lcCr3v3OLezdfFyx9r5NRYHOUTQNnFEQ9E87Mx8Kc+iqyJNkO7MJoB4GQRTlIMw9kLLTwGw0OAkm4BQQud/d9g==} dev: true /es-set-tostringtag@2.0.1: From 350b4b238dc055f267fe0d1ec13c831972e23cfa Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 10 Nov 2023 16:55:32 +0800 Subject: [PATCH 030/656] fix(build): make build error message clearer (#14761) --- packages/vite/src/node/build.ts | 15 ++++++++++----- packages/vite/src/node/plugins/reporter.ts | 6 ++++-- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index d6600d74002ec4..a3e879c91ac4de 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -551,6 +551,7 @@ export async function build( if (e.frame) { msg += `\n` + colors.yellow(e.frame) } + clearLine() config.logger.error(msg, { error: e }) } @@ -882,6 +883,14 @@ const dynamicImportWarningIgnoreList = [ `statically analyzed`, ] +function clearLine() { + const tty = process.stdout.isTTY && !process.env.CI + if (tty) { + process.stdout.clearLine(0) + process.stdout.cursorTo(0) + } +} + export function onRollupWarning( warning: RollupLog, warn: LoggingFunction, @@ -938,11 +947,7 @@ export function onRollupWarning( warn(warnLog) } - const tty = process.stdout.isTTY && !process.env.CI - if (tty) { - process.stdout.clearLine(0) - process.stdout.cursorTo(0) - } + clearLine() const userOnWarn = config.build.rollupOptions?.onwarn if (userOnWarn) { userOnWarn(warning, viteWarn) diff --git a/packages/vite/src/node/plugins/reporter.ts b/packages/vite/src/node/plugins/reporter.ts index 3e0c19634725cf..1feae9cbfaa876 100644 --- a/packages/vite/src/node/plugins/reporter.ts +++ b/packages/vite/src/node/plugins/reporter.ts @@ -48,6 +48,7 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { let chunkCount = 0 let compressedCount = 0 let startTime = Date.now() + let buildFailed = false async function getCompressedSize( code: string | Uint8Array, @@ -108,7 +109,8 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { transformedCount = 0 }, - buildEnd() { + buildEnd(error?: Error) { + buildFailed = !!error if (shouldLogInfo) { if (tty) { clearLine() @@ -301,7 +303,7 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { }, closeBundle() { - if (shouldLogInfo && !config.build.watch) { + if (shouldLogInfo && !config.build.watch && !buildFailed) { config.logger.info( `${colors.green( `✓ built in ${displayTime(Date.now() - startTime)}`, From a92bc617cf47bbdf95061cf9c312330a1713d725 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 10 Nov 2023 17:42:55 +0800 Subject: [PATCH 031/656] feat: skip initial clear screen if has logs (#14936) --- packages/vite/index.cjs | 1 - packages/vite/src/node/cli.ts | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/vite/index.cjs b/packages/vite/index.cjs index a4fac25fb92c03..7e5fec44e90637 100644 --- a/packages/vite/index.cjs +++ b/packages/vite/index.cjs @@ -27,7 +27,6 @@ asyncFunctions.forEach((name) => { function warnCjsUsage() { if (process.env.VITE_CJS_IGNORE_WARNING) return - globalThis.__vite_cjs_skip_clear_screen = true const yellow = (str) => `\u001b[33m${str}\u001b[39m` const log = process.env.VITE_CJS_TRACE ? console.trace : console.warn log( diff --git a/packages/vite/src/node/cli.ts b/packages/vite/src/node/cli.ts index 0b632d575bdbde..ef807b7d737982 100644 --- a/packages/vite/src/node/cli.ts +++ b/packages/vite/src/node/cli.ts @@ -180,15 +180,15 @@ cli )} ms`, ) : '' + const hasExistingLogs = + process.stdout.bytesWritten > 0 || process.stderr.bytesWritten > 0 info( `\n ${colors.green( `${colors.bold('VITE')} v${VERSION}`, )} ${startupDurationString}\n`, { - clear: - !server.config.logger.hasWarned && - !(globalThis as any).__vite_cjs_skip_clear_screen, + clear: !hasExistingLogs, }, ) From b24b95119b0c3222024f44a6818c6e7820b3b0d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 10 Nov 2023 19:00:22 +0900 Subject: [PATCH 032/656] fix: add watch in fallback file load (#14938) --- packages/vite/src/node/server/pluginContainer.ts | 3 +++ playground/hmr-root/__tests__/hmr-root.spec.ts | 10 ++++++++++ playground/hmr-root/foo.js | 1 + playground/hmr-root/root/index.html | 7 +++++++ playground/hmr-root/vite.config.ts | 9 +++++++++ 5 files changed, 30 insertions(+) create mode 100644 playground/hmr-root/__tests__/hmr-root.spec.ts create mode 100644 playground/hmr-root/foo.js create mode 100644 playground/hmr-root/root/index.html create mode 100644 playground/hmr-root/vite.config.ts diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index 1026eb4d447890..4c6fd6c836ed77 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -722,6 +722,9 @@ export async function createPluginContainer( return result } } + + watchFiles.add(id) + if (watcher) ensureWatchedFile(watcher, id, root) return null }, diff --git a/playground/hmr-root/__tests__/hmr-root.spec.ts b/playground/hmr-root/__tests__/hmr-root.spec.ts new file mode 100644 index 00000000000000..d38d761c998bd1 --- /dev/null +++ b/playground/hmr-root/__tests__/hmr-root.spec.ts @@ -0,0 +1,10 @@ +import { expect, test } from 'vitest' + +import { editFile, isServe, page, untilUpdated } from '~utils' + +test.runIf(isServe)('should watch files outside root', async () => { + expect(await page.textContent('#foo')).toBe('foo') + editFile('foo.js', (code) => code.replace("'foo'", "'foobar'")) + await page.waitForEvent('load') + await untilUpdated(async () => await page.textContent('#foo'), 'foobar') +}) diff --git a/playground/hmr-root/foo.js b/playground/hmr-root/foo.js new file mode 100644 index 00000000000000..cb356468240d50 --- /dev/null +++ b/playground/hmr-root/foo.js @@ -0,0 +1 @@ +export const foo = 'foo' diff --git a/playground/hmr-root/root/index.html b/playground/hmr-root/root/index.html new file mode 100644 index 00000000000000..ddf3514623d0b7 --- /dev/null +++ b/playground/hmr-root/root/index.html @@ -0,0 +1,7 @@ +

+ + diff --git a/playground/hmr-root/vite.config.ts b/playground/hmr-root/vite.config.ts new file mode 100644 index 00000000000000..8afcd8e3770834 --- /dev/null +++ b/playground/hmr-root/vite.config.ts @@ -0,0 +1,9 @@ +import path from 'node:path' +import url from 'node:url' +import { defineConfig } from 'vite' + +const __dirname = path.dirname(url.fileURLToPath(import.meta.url)) + +export default defineConfig({ + root: path.join(__dirname, './root'), +}) From 63d7b7ffcd13a14d06729239e72c92342886d708 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 10 Nov 2023 19:49:36 +0900 Subject: [PATCH 033/656] docs: add mastodon link to sapphi-red (#14940) --- docs/_data/team.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/_data/team.js b/docs/_data/team.js index 72641a597cee55..7872b45e73bbbd 100644 --- a/docs/_data/team.js +++ b/docs/_data/team.js @@ -53,10 +53,11 @@ export const core = [ avatar: 'https://github.com/sapphi-red.png', name: 'green', title: 'Web Developer', - desc: 'Vite team member. Call me sapphi or green or midori ;)', + desc: 'Vite core team member. Call me sapphi or green or midori ;)', links: [ { icon: 'github', link: 'https://github.com/sapphi-red' }, { icon: 'twitter', link: 'https://twitter.com/sapphi_red' }, + { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@sapphi_red' }, ], sponsor: 'https://github.com/sponsors/sapphi-red', }, From 49d9c52fb80e1106d6124b4afa9081d610590bf4 Mon Sep 17 00:00:00 2001 From: Shinigami Date: Fri, 10 Nov 2023 13:32:58 +0100 Subject: [PATCH 034/656] docs: Shinigami92 from X to Mastodon (#14941) --- docs/_data/team.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_data/team.js b/docs/_data/team.js index 7872b45e73bbbd..07b0737600a9c3 100644 --- a/docs/_data/team.js +++ b/docs/_data/team.js @@ -83,7 +83,7 @@ export const core = [ desc: 'Passionate TypeScript enthusiast working extensively with Vue SPA and pug.', links: [ { icon: 'github', link: 'https://github.com/Shinigami92' }, - { icon: 'twitter', link: 'https://twitter.com/Shini_92' }, + { icon: 'mastodon', link: 'https://elk.zone/mas.to/@Shini92' }, ], sponsor: 'https://github.com/sponsors/Shinigami92', }, From 2004caa1b5a854bef3b81eeee549110cd85ff16b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 10 Nov 2023 21:33:56 +0900 Subject: [PATCH 035/656] docs: add v4.vitejs.dev link to nav bar (#14939) --- docs/.vitepress/config.ts | 37 ++++++++++++++++++------------------- 1 file changed, 18 insertions(+), 19 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index ed1f090ee8ec83..c6b7071629ad07 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -30,34 +30,33 @@ const additionalTitle = ((): string => { } })() const versionLinks = ((): DefaultTheme.NavItemWithLink[] => { + const oldVersions: DefaultTheme.NavItemWithLink[] = [ + { + text: 'Vite 4 Docs', + link: 'https://v4.vitejs.dev', + }, + { + text: 'Vite 3 Docs', + link: 'https://v3.vitejs.dev', + }, + { + text: 'Vite 2 Docs', + link: 'https://v2.vitejs.dev', + }, + ] + switch (deployType) { case 'main': case 'local': return [ { - text: 'Vite 4 Docs (release)', + text: 'Vite 5 Docs (release)', link: 'https://vitejs.dev', }, - { - text: 'Vite 3 Docs', - link: 'https://v3.vitejs.dev', - }, - { - text: 'Vite 2 Docs', - link: 'https://v2.vitejs.dev', - }, + ...oldVersions, ] case 'release': - return [ - { - text: 'Vite 3 Docs', - link: 'https://v3.vitejs.dev', - }, - { - text: 'Vite 2 Docs', - link: 'https://v2.vitejs.dev', - }, - ] + return oldVersions } })() From 9a57916abe791752646e08e3e4d7f6c4d173fab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Fri, 10 Nov 2023 13:49:13 +0100 Subject: [PATCH 036/656] docs(performance): use lesser or native tooling section (#14874) --- docs/guide/performance.md | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/docs/guide/performance.md b/docs/guide/performance.md index 4be0050f34c03a..67980c105635de 100644 --- a/docs/guide/performance.md +++ b/docs/guide/performance.md @@ -55,14 +55,14 @@ Barrel files are files that re-export the APIs of other files in the same direct ```js // src/utils/index.js -export * from './color' -export * from './dom' -export * from './string' +export * from './color.js' +export * from './dom.js' +export * from './string.js' ``` -When you only import an individual API, e.g. `import { slash } from './utils'`, all the files in that barrel file need to be fetched and transformed as they may contain the `slash` API and may also contain side-effects that run on initialization. This means you're loading more files than required on the initial page load, resulting in a slower page load. +When you only import an individual API, e.g. `import { slash } from './utils.js'`, all the files in that barrel file need to be fetched and transformed as they may contain the `slash` API and may also contain side-effects that run on initialization. This means you're loading more files than required on the initial page load, resulting in a slower page load. -If possible, you should avoid barrel files and import the individual APIs directly, e.g. `import { slash } from './utils/slash'`. You can read [issue #8237](https://github.com/vitejs/vite/issues/8237) for more information. +If possible, you should avoid barrel files and import the individual APIs directly, e.g. `import { slash } from './utils/slash.js'`. You can read [issue #8237](https://github.com/vitejs/vite/issues/8237) for more information. ## Warm Up Frequently Used Files @@ -102,3 +102,20 @@ export default defineConfig({ Note that you should only warm up files that are frequently used to not overload the Vite dev server on startup. Check the [`server.warmup`](/config/server-options.md#server-warmup) option for more information. Using [`--open` or `server.open`](/config/server-options.html#server-open) also provides a performance boost, as Vite will automatically warm up the entry point of your app or the provided URL to open. + +## Use Lesser or Native Tooling + +Keeping Vite fast with a growing codebase is about reducing the amount of work for the source files (JS/TS/CSS). + +Examples of doing less work: + +- Use CSS instead of Sass/Less/Stylus when possible (nesting can be handled by PostCSS) +- Don't transform SVGs into UI framework components (React, Vue, etc). Import them as strings or URLs instead. +- When using `@vitejs/plugin-react`, avoid configuring the Babel options, so it skips the transformation during build (only esbuild will be used). + +Examples of using native tooling: + +Using native tooling often brings larger installation size and as so is not the default when starting a new Vite project. But it may be worth the cost for larger applications. + +- Try out the experimental support for [LightningCSS](https://github.com/vitejs/vite/discussions/13835) +- Use [`@vitejs/plugin-react-swc`](https://github.com/vitejs/vite-plugin-react-swc) in place of `@vitejs/plugin-react`. From 28ccede5254d0801ba158f391df5a22844306368 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Sun, 12 Nov 2023 00:00:12 +0900 Subject: [PATCH 037/656] fix(css): correctly set manifest source name and emit CSS file (#14945) --- packages/vite/src/node/plugins/css.ts | 18 ++++---- packages/vite/src/node/plugins/manifest.ts | 43 +++++++++++++------ .../__tests__/backend-integration.spec.ts | 10 +++-- playground/backend-integration/dir/foo.css | 2 +- .../frontend/dynamic/foo.css | 3 -- .../frontend/dynamic/foo.ts | 1 - .../frontend/entrypoints/foo.pcss | 3 ++ .../frontend/entrypoints/main.ts | 1 - playground/css/__tests__/css.spec.ts | 7 +++ playground/css/main.js | 1 + playground/css/manual-chunk.css | 3 ++ playground/css/vite.config.js | 9 ++++ 12 files changed, 67 insertions(+), 34 deletions(-) delete mode 100644 playground/backend-integration/frontend/dynamic/foo.css delete mode 100644 playground/backend-integration/frontend/dynamic/foo.ts create mode 100644 playground/backend-integration/frontend/entrypoints/foo.pcss create mode 100644 playground/css/manual-chunk.css diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 842daf68710a18..c7c5bd4bf9cacd 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -70,6 +70,7 @@ import { renderAssetUrlInJS, } from './asset' import type { ESBuildOptions } from './esbuild' +import { getChunkOriginalFileName } from './manifest' // const debug = createDebugger('vite:css') @@ -610,15 +611,13 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { } if (opts.format === 'es' || opts.format === 'cjs') { const isEntry = chunk.isEntry && isPureCssChunk - const cssAssetName = normalizePath( - !isEntry && chunk.facadeModuleId - ? path.relative(config.root, chunk.facadeModuleId) - : chunk.name, + const cssAssetName = ensureFileExt(chunk.name, '.css') + const originalFilename = getChunkOriginalFileName( + chunk, + config.root, + opts.format, ) - const lang = path.extname(cssAssetName).slice(1) - const cssFileName = ensureFileExt(cssAssetName, '.css') - chunkCSS = resolveAssetUrlsInCss(chunkCSS, cssAssetName) const previousTask = emitTasks[emitTasks.length - 1] @@ -639,14 +638,13 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { // emit corresponding css file const referenceId = this.emitFile({ - name: path.basename(cssFileName), + name: cssAssetName, type: 'asset', source: chunkCSS, }) - const originalName = isPreProcessor(lang) ? cssAssetName : cssFileName generatedAssets .get(config)! - .set(referenceId, { originalName, isEntry }) + .set(referenceId, { originalName: originalFilename, isEntry }) chunk.viteMetadata!.importedCss.add(this.getFileName(referenceId)) if (emitTasksLength === emitTasks.length) { diff --git a/packages/vite/src/node/plugins/manifest.ts b/packages/vite/src/node/plugins/manifest.ts index 7f7484c1a7ae5e..eff3212d2fc06c 100644 --- a/packages/vite/src/node/plugins/manifest.ts +++ b/packages/vite/src/node/plugins/manifest.ts @@ -1,5 +1,10 @@ import path from 'node:path' -import type { OutputAsset, OutputChunk } from 'rollup' +import type { + InternalModuleFormat, + OutputAsset, + OutputChunk, + RenderedChunk, +} from 'rollup' import jsonStableStringify from 'json-stable-stringify' import type { ResolvedConfig } from '..' import type { Plugin } from '../plugin' @@ -34,19 +39,7 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { generateBundle({ format }, bundle) { function getChunkName(chunk: OutputChunk) { - if (chunk.facadeModuleId) { - let name = normalizePath( - path.relative(config.root, chunk.facadeModuleId), - ) - if (format === 'system' && !chunk.name.includes('-legacy')) { - const ext = path.extname(name) - const endPos = ext.length !== 0 ? -ext.length : undefined - name = name.slice(0, endPos) + `-legacy` + ext - } - return name.replace(/\0/g, '') - } else { - return `_` + path.basename(chunk.fileName) - } + return getChunkOriginalFileName(chunk, config.root, format) } function getInternalImports(imports: string[]): string[] { @@ -133,6 +126,10 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { const assetMeta = fileNameToAssetMeta.get(chunk.fileName) const src = assetMeta?.originalName ?? chunk.name const asset = createAsset(chunk, src, assetMeta?.isEntry) + + // If JS chunk and asset chunk are both generated from the same source file, + // prioritize JS chunk as it contains more information + if (manifest[src]?.file.endsWith('.js')) continue manifest[src] = asset fileNameToAsset.set(chunk.fileName, asset) } @@ -165,3 +162,21 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { }, } } + +export function getChunkOriginalFileName( + chunk: OutputChunk | RenderedChunk, + root: string, + format: InternalModuleFormat, +): string { + if (chunk.facadeModuleId) { + let name = normalizePath(path.relative(root, chunk.facadeModuleId)) + if (format === 'system' && !chunk.name.includes('-legacy')) { + const ext = path.extname(name) + const endPos = ext.length !== 0 ? -ext.length : undefined + name = name.slice(0, endPos) + `-legacy` + ext + } + return name.replace(/\0/g, '') + } else { + return `_` + path.basename(chunk.fileName) + } +} diff --git a/playground/backend-integration/__tests__/backend-integration.spec.ts b/playground/backend-integration/__tests__/backend-integration.spec.ts index 7356d8eff15c8c..eb017f4498b507 100644 --- a/playground/backend-integration/__tests__/backend-integration.spec.ts +++ b/playground/backend-integration/__tests__/backend-integration.spec.ts @@ -35,22 +35,24 @@ describe.runIf(isBuild)('build', () => { const manifest = readManifest('dev') const htmlEntry = manifest['index.html'] const cssAssetEntry = manifest['global.css'] + const pcssAssetEntry = manifest['foo.pcss'] const scssAssetEntry = manifest['nested/blue.scss'] const imgAssetEntry = manifest['../images/logo.png'] - const dirFooAssetEntry = manifest['../dynamic/foo.css'] // '\\' should not be used even on windows + const dirFooAssetEntry = manifest['../../dir/foo.css'] expect(htmlEntry.css.length).toEqual(1) expect(htmlEntry.assets.length).toEqual(1) expect(cssAssetEntry?.file).not.toBeUndefined() expect(cssAssetEntry?.isEntry).toEqual(true) + expect(pcssAssetEntry?.file).not.toBeUndefined() + expect(pcssAssetEntry?.isEntry).toEqual(true) expect(scssAssetEntry?.file).not.toBeUndefined() expect(scssAssetEntry?.src).toEqual('nested/blue.scss') expect(scssAssetEntry?.isEntry).toEqual(true) expect(imgAssetEntry?.file).not.toBeUndefined() expect(imgAssetEntry?.isEntry).toBeUndefined() - expect(dirFooAssetEntry).not.toBeUndefined() + expect(dirFooAssetEntry).not.toBeUndefined() // '\\' should not be used even on windows // use the entry name - expect(manifest['bar.css']).not.toBeUndefined() - expect(manifest['foo.css']).toBeUndefined() + expect(dirFooAssetEntry.file).toMatch('assets/bar-') }) }) diff --git a/playground/backend-integration/dir/foo.css b/playground/backend-integration/dir/foo.css index 1e31c585bebc9c..c2fad7486d3ab6 100644 --- a/playground/backend-integration/dir/foo.css +++ b/playground/backend-integration/dir/foo.css @@ -1,3 +1,3 @@ -.entry-name-foo { +.windows-path-foo { color: blue; } diff --git a/playground/backend-integration/frontend/dynamic/foo.css b/playground/backend-integration/frontend/dynamic/foo.css deleted file mode 100644 index c2fad7486d3ab6..00000000000000 --- a/playground/backend-integration/frontend/dynamic/foo.css +++ /dev/null @@ -1,3 +0,0 @@ -.windows-path-foo { - color: blue; -} diff --git a/playground/backend-integration/frontend/dynamic/foo.ts b/playground/backend-integration/frontend/dynamic/foo.ts deleted file mode 100644 index c2441c49231d80..00000000000000 --- a/playground/backend-integration/frontend/dynamic/foo.ts +++ /dev/null @@ -1 +0,0 @@ -import './foo.css' diff --git a/playground/backend-integration/frontend/entrypoints/foo.pcss b/playground/backend-integration/frontend/entrypoints/foo.pcss new file mode 100644 index 00000000000000..a49e02c1cc73bf --- /dev/null +++ b/playground/backend-integration/frontend/entrypoints/foo.pcss @@ -0,0 +1,3 @@ +.foo_pcss { + color: blue; +} diff --git a/playground/backend-integration/frontend/entrypoints/main.ts b/playground/backend-integration/frontend/entrypoints/main.ts index d63a57a023847e..f5a332191dd9e4 100644 --- a/playground/backend-integration/frontend/entrypoints/main.ts +++ b/playground/backend-integration/frontend/entrypoints/main.ts @@ -1,5 +1,4 @@ import 'vite/modulepreload-polyfill' -import('../dynamic/foo') // should be dynamic import to split chunks export const colorClass = 'text-black' diff --git a/playground/css/__tests__/css.spec.ts b/playground/css/__tests__/css.spec.ts index b424faace62b81..8b4f498430e099 100644 --- a/playground/css/__tests__/css.spec.ts +++ b/playground/css/__tests__/css.spec.ts @@ -508,3 +508,10 @@ test('async css order with css modules', async () => { test('@import scss', async () => { expect(await getColor('.at-import-scss')).toBe('red') }) + +test.runIf(isBuild)('manual chunk path', async () => { + // assert that the manual-chunk css is output in the directory specified in manualChunk (#12072) + expect( + findAssetFile(/dir\/dir2\/manual-chunk-[-\w]{8}\.css$/), + ).not.toBeUndefined() +}) diff --git a/playground/css/main.js b/playground/css/main.js index 62fc9f4d2fe8ff..b0b405a96a7baf 100644 --- a/playground/css/main.js +++ b/playground/css/main.js @@ -4,6 +4,7 @@ import './sugarss.sss' import './sass.scss' import './less.less' import './stylus.styl' +import './manual-chunk.css' import rawCss from './raw-imported.css?raw' text('.raw-imported-css', rawCss) diff --git a/playground/css/manual-chunk.css b/playground/css/manual-chunk.css new file mode 100644 index 00000000000000..dc41883115cc1d --- /dev/null +++ b/playground/css/manual-chunk.css @@ -0,0 +1,3 @@ +.manual-chunk { + color: blue; +} diff --git a/playground/css/vite.config.js b/playground/css/vite.config.js index 0cce195572a584..3d301ae03bec3e 100644 --- a/playground/css/vite.config.js +++ b/playground/css/vite.config.js @@ -12,6 +12,15 @@ globalThis.location = new URL('http://localhost/') export default defineConfig({ build: { cssTarget: 'chrome61', + rollupOptions: { + output: { + manualChunks(id) { + if (id.includes('manual-chunk.css')) { + return 'dir/dir2/manual-chunk' + } + }, + }, + }, }, esbuild: { logOverride: { From b42a2282bc561cf3cfb34e2235446666e95e229c Mon Sep 17 00:00:00 2001 From: bluwy Date: Sat, 11 Nov 2023 23:08:25 +0800 Subject: [PATCH 038/656] release: v5.0.0-beta.18 --- packages/vite/CHANGELOG.md | 18 ++++++++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index fdfb5f9c609f29..a07e329bdf7c49 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,21 @@ +## 5.0.0-beta.18 (2023-11-11) + +* fix: `server.headers` after restart in middleware mode (#14905) ([f9ce9db](https://github.com/vitejs/vite/commit/f9ce9db)), closes [#14905](https://github.com/vitejs/vite/issues/14905) +* fix: add watch in fallback file load (#14938) ([b24b951](https://github.com/vitejs/vite/commit/b24b951)), closes [#14938](https://github.com/vitejs/vite/issues/14938) +* fix: injectQuery check with double slash in the url (#14910) ([84c5ff6](https://github.com/vitejs/vite/commit/84c5ff6)), closes [#14910](https://github.com/vitejs/vite/issues/14910) +* fix(build): make build error message clearer (#14761) ([350b4b2](https://github.com/vitejs/vite/commit/350b4b2)), closes [#14761](https://github.com/vitejs/vite/issues/14761) +* fix(css): correctly set manifest source name and emit CSS file (#14945) ([28ccede](https://github.com/vitejs/vite/commit/28ccede)), closes [#14945](https://github.com/vitejs/vite/issues/14945) +* fix(server): the server restart port should remain unchanged (#14418) ([8b96e97](https://github.com/vitejs/vite/commit/8b96e97)), closes [#14418](https://github.com/vitejs/vite/issues/14418) +* fix(worker): prevent inject esm in classic workers (#14918) ([2687dbb](https://github.com/vitejs/vite/commit/2687dbb)), closes [#14918](https://github.com/vitejs/vite/issues/14918) +* feat: add invalid `rollupOptions` warnings (#14909) ([7c240a0](https://github.com/vitejs/vite/commit/7c240a0)), closes [#14909](https://github.com/vitejs/vite/issues/14909) +* feat: skip initial clear screen if has logs (#14936) ([a92bc61](https://github.com/vitejs/vite/commit/a92bc61)), closes [#14936](https://github.com/vitejs/vite/issues/14936) +* feat(hmr): add full reload reason (#14914) ([60a020e](https://github.com/vitejs/vite/commit/60a020e)), closes [#14914](https://github.com/vitejs/vite/issues/14914) +* feat(hmr): improve circular import updates (#14867) ([b479055](https://github.com/vitejs/vite/commit/b479055)), closes [#14867](https://github.com/vitejs/vite/issues/14867) +* refactor: update es-module-lexer to 1.4.0 (#14937) ([374e6fd](https://github.com/vitejs/vite/commit/374e6fd)), closes [#14937](https://github.com/vitejs/vite/issues/14937) +* revert: remove AsyncDisposable (#14908) ([b953b0d](https://github.com/vitejs/vite/commit/b953b0d)), closes [#14908](https://github.com/vitejs/vite/issues/14908) + + + ## 5.0.0-beta.17 (2023-11-07) * fix: file link in overlay with custom backend (#14879) ([1bfb584](https://github.com/vitejs/vite/commit/1bfb584)), closes [#14879](https://github.com/vitejs/vite/issues/14879) diff --git a/packages/vite/package.json b/packages/vite/package.json index 1a3bf46f041dd8..cd9f1e0741cf15 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.0.0-beta.17", + "version": "5.0.0-beta.18", "type": "module", "license": "MIT", "author": "Evan You", From 24c2c57b4476a0f6e5075d9e32b4d5d17b2b85f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Sun, 12 Nov 2023 15:40:34 +0900 Subject: [PATCH 039/656] fix: don't watch SPA fallback paths (#14953) --- packages/vite/src/node/server/pluginContainer.ts | 3 --- packages/vite/src/node/server/transformRequest.ts | 2 ++ 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index 4c6fd6c836ed77..1026eb4d447890 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -722,9 +722,6 @@ export async function createPluginContainer( return result } } - - watchFiles.add(id) - if (watcher) ensureWatchedFile(watcher, id, root) return null }, diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index 1f359ebd8cbbe8..0881354a6ec4e5 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -12,6 +12,7 @@ import { blankReplacer, cleanUrl, createDebugger, + ensureWatchedFile, injectQuery, isObject, prettifyUrl, @@ -220,6 +221,7 @@ async function loadAndTransform( throw e } } + ensureWatchedFile(server.watcher, file, config.root) } if (code) { try { From 55335cc3d9f91238302d9fb94c3bfc0bdbfef385 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Mon, 13 Nov 2023 01:04:09 +0900 Subject: [PATCH 040/656] fix: preload marker duplicate deps (#14955) --- .../src/node/plugins/importAnalysisBuild.ts | 53 +++++++------------ 1 file changed, 18 insertions(+), 35 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 59d8bee553d872..8b76df1b321464 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -54,7 +54,7 @@ const optimizedDepChunkRE = /\/chunk-[A-Z\d]{8}\.js/ const optimizedDepDynamicRE = /-[A-Z\d]{8}\.js/ function toRelativePath(filename: string, importer: string) { - const relPath = path.relative(path.dirname(importer), filename) + const relPath = path.posix.relative(path.posix.dirname(importer), filename) return relPath[0] === '.' ? relPath : `./${relPath}` } @@ -477,13 +477,6 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { return index } } - const getFileDep = (index: number): FileDep => { - const fileDep = fileDeps[index] - if (!fileDep) { - throw new Error(`Cannot find file dep at index ${index}`) - } - return fileDep - } if (imports.length) { for (let index = 0; index < imports.length; index++) { @@ -502,7 +495,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { if (rawUrl[0] === `"` && rawUrl[rawUrl.length - 1] === `"`) url = rawUrl.slice(1, -1) } - const deps: Set = new Set() + const deps: Set = new Set() let hasRemovedPureCssChunk = false let normalizedFile: string | undefined = undefined @@ -522,12 +515,12 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { analyzed.add(filename) const chunk = bundle[filename] as OutputChunk | undefined if (chunk) { - deps.add(addFileDep(chunk.fileName)) + deps.add(chunk.fileName) chunk.imports.forEach(addDeps) // Ensure that the css imported by current chunk is loaded after the dependencies. // So the style of current chunk won't be overwritten unexpectedly. chunk.viteMetadata!.importedCss.forEach((file) => { - deps.add(addFileDep(file)) + deps.add(file) }) } else { const removedPureCssFiles = @@ -536,7 +529,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { if (chunk) { if (chunk.viteMetadata!.importedCss.size) { chunk.viteMetadata!.importedCss.forEach((file) => { - deps.add(addFileDep(file)) + deps.add(file) }) hasRemovedPureCssChunk = true } @@ -570,9 +563,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { ? modulePreload === false ? // CSS deps use the same mechanism as module preloads, so even if disabled, // we still need to pass these deps to the preload helper in dynamic imports. - [...deps].filter((d) => - getFileDep(d).url.endsWith('.css'), - ) + [...deps].filter((d) => d.endsWith('.css')) : [...deps] : [] @@ -582,37 +573,29 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { const resolveDependencies = modulePreload ? modulePreload.resolveDependencies : undefined - let resolvedDeps: number[] + let resolvedDeps: string[] if (resolveDependencies) { // We can't let the user remove css deps as these aren't really preloads, they are just using // the same mechanism as module preloads for this chunk - const cssDeps: number[] = [] - const otherDeps: number[] = [] + const cssDeps: string[] = [] + const otherDeps: string[] = [] for (const dep of depsArray) { - if (getFileDep(dep).url.endsWith('.css')) { - cssDeps.push(dep) - } else { - otherDeps.push(dep) - } + ;(dep.endsWith('.css') ? cssDeps : otherDeps).push(dep) } resolvedDeps = [ - ...resolveDependencies( - normalizedFile, - otherDeps.map((otherDep) => getFileDep(otherDep).url), - { - hostId: file, - hostType: 'js', - }, - ).map((otherDep) => addFileDep(otherDep)), + ...resolveDependencies(normalizedFile, otherDeps, { + hostId: file, + hostType: 'js', + }), ...cssDeps, ] } else { resolvedDeps = depsArray } - renderedDeps = resolvedDeps.map((dep: number) => { + renderedDeps = resolvedDeps.map((dep) => { const replacement = toOutputFilePathInJS( - getFileDep(dep).url, + dep, 'asset', chunk.fileName, 'js', @@ -631,8 +614,8 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { // Don't include the assets dir if the default asset file names // are used, the path will be reconstructed by the import preload helper optimizeModulePreloadRelativePaths - ? addFileDep(toRelativePath(getFileDep(d).url, file)) - : d, + ? addFileDep(toRelativePath(d, file)) + : addFileDep(d), ) } From ea9ccb7def71ebbbc01b1f2ac44c6e179d559040 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 13 Nov 2023 16:18:30 +0800 Subject: [PATCH 041/656] build: dont strip single line comments (#14969) --- packages/vite/rollup.dts.config.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/vite/rollup.dts.config.ts b/packages/vite/rollup.dts.config.ts index cb767b2ab5bf02..7eb0663271711f 100644 --- a/packages/vite/rollup.dts.config.ts +++ b/packages/vite/rollup.dts.config.ts @@ -31,7 +31,6 @@ export default defineConfig({ // Taken from https://stackoverflow.com/a/36328890 const multilineCommentsRE = /\/\*[^*]*\*+(?:[^/*][^*]*\*+)*\//g -const singlelineCommentsRE = /\/\/[^/].*/g const licenseCommentsRE = /MIT License|MIT license|BSD license/ const consecutiveNewlinesRE = /\n{2,}/g const identifierWithTrailingDollarRE = /\b(\w+)\$\d+\b/g @@ -239,7 +238,6 @@ function removeInternal(s: MagicString, node: any): boolean { function cleanUnnecessaryComments(code: string) { return code - .replace(singlelineCommentsRE, '') .replace(multilineCommentsRE, (m) => { return licenseCommentsRE.test(m) ? '' : m }) From 0bb3995a7d2245ef1cc7b2ed8a5242e33af16874 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 Nov 2023 09:25:20 +0100 Subject: [PATCH 042/656] fix(deps): update all non-major dependencies (#14961) Co-authored-by: bluwy --- .github/workflows/ci.yml | 2 +- package.json | 46 +- packages/create-vite/package.json | 4 +- .../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 | 2 +- .../create-vite/template-qwik/package.json | 2 +- .../template-react-ts/package.json | 10 +- .../create-vite/template-react/package.json | 6 +- .../template-solid-ts/package.json | 2 +- .../create-vite/template-solid/package.json | 2 +- .../template-svelte-ts/package.json | 6 +- .../create-vite/template-svelte/package.json | 4 +- .../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 | 4 +- packages/vite/package.json | 12 +- packages/vite/src/node/build.ts | 56 +- packages/vite/src/node/cli.ts | 4 +- packages/vite/src/node/config.ts | 4 +- packages/vite/src/node/logger.ts | 4 +- packages/vite/src/node/plugins/esbuild.ts | 4 +- .../vite/src/node/plugins/importAnalysis.ts | 24 +- .../src/node/plugins/importAnalysisBuild.ts | 14 +- .../vite/src/node/plugins/importMetaGlob.ts | 4 +- playground/alias/package.json | 4 +- playground/backend-integration/package.json | 2 +- .../config/packages/siblings/package.json | 2 +- playground/css-codesplit-cjs/main.js | 5 +- .../css-lightningcss-proxy/package.json | 2 +- playground/css-lightningcss/package.json | 2 +- playground/css/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/html/valid.js | 5 +- playground/json/package.json | 2 +- playground/object-hooks/package.json | 2 +- .../optimize-deps-no-discovery/package.json | 2 +- playground/optimize-deps/package.json | 4 +- playground/tailwind/package.json | 2 +- pnpm-lock.yaml | 1454 +++++++++-------- 47 files changed, 876 insertions(+), 866 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 663a72aabbb9b1..1d5df76c074781 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@18c8a4ecebe93d32ed8a88e1d0c098f5f68c221b # v40.1.0 + uses: tj-actions/changed-files@25ef3926d147cd02fc7e931c1ef50772bbb0d25d # v40.1.1 with: files: | docs/** diff --git a/package.json b/package.json index 7a28a09b3cf6ab..ba6da72574e38c 100644 --- a/package.json +++ b/package.json @@ -41,40 +41,40 @@ "ci-docs": "run-s build docs-build" }, "devDependencies": { - "@babel/types": "^7.23.0", + "@babel/types": "^7.23.3", "@rollup/plugin-typescript": "^11.1.5", - "@types/babel__core": "^7.20.3", - "@types/babel__preset-env": "^7.9.4", - "@types/convert-source-map": "^2.0.2", - "@types/cross-spawn": "^6.0.4", - "@types/debug": "^4.1.10", - "@types/estree": "^1.0.4", - "@types/etag": "^1.8.2", - "@types/fs-extra": "^11.0.3", - "@types/json-stable-stringify": "^1.0.35", - "@types/less": "^3.0.5", - "@types/micromatch": "^4.0.4", - "@types/node": "^20.8.10", - "@types/picomatch": "^2.3.2", + "@types/babel__core": "^7.20.4", + "@types/babel__preset-env": "^7.9.5", + "@types/convert-source-map": "^2.0.3", + "@types/cross-spawn": "^6.0.5", + "@types/debug": "^4.1.12", + "@types/estree": "^1.0.5", + "@types/etag": "^1.8.3", + "@types/fs-extra": "^11.0.4", + "@types/json-stable-stringify": "^1.0.36", + "@types/less": "^3.0.6", + "@types/micromatch": "^4.0.5", + "@types/node": "^20.9.0", + "@types/picomatch": "^2.3.3", "@types/sass": "~1.43.1", - "@types/stylus": "^0.48.41", - "@types/ws": "^8.5.8", - "@typescript-eslint/eslint-plugin": "^6.9.1", - "@typescript-eslint/parser": "^6.9.1", + "@types/stylus": "^0.48.42", + "@types/ws": "^8.5.9", + "@typescript-eslint/eslint-plugin": "^6.10.0", + "@typescript-eslint/parser": "^6.10.0", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^3.0.0", "eslint": "^8.53.0", "eslint-define-config": "^1.24.1", "eslint-plugin-import": "^2.29.0", - "eslint-plugin-n": "^16.2.0", + "eslint-plugin-n": "^16.3.1", "eslint-plugin-regexp": "^2.1.1", "execa": "^8.0.1", "fs-extra": "^11.1.1", - "lint-staged": "^15.0.2", + "lint-staged": "^15.1.0", "npm-run-all2": "^6.1.1", "picocolors": "^1.0.0", "playwright-chromium": "^1.39.0", - "prettier": "3.0.3", + "prettier": "3.1.0", "rimraf": "^5.0.5", "rollup": "^4.2.0", "simple-git-hooks": "^2.9.0", @@ -85,7 +85,7 @@ "vite": "workspace:*", "vitepress": "1.0.0-rc.25", "vitest": "^0.34.6", - "vue": "^3.3.7" + "vue": "^3.3.8" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false" @@ -104,7 +104,7 @@ "eslint --cache --fix" ] }, - "packageManager": "pnpm@8.10.2", + "packageManager": "pnpm@8.10.3", "pnpm": { "overrides": { "vite": "workspace:*" diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json index bb671f55dc79d5..40f98b4da7db62 100644 --- a/packages/create-vite/package.json +++ b/packages/create-vite/package.json @@ -33,8 +33,8 @@ "homepage": "https://github.com/vitejs/vite/tree/main/packages/create-vite#readme", "funding": "https://github.com/vitejs/vite?sponsor=1", "devDependencies": { - "@types/minimist": "^1.2.4", - "@types/prompts": "^2.4.7", + "@types/minimist": "^1.2.5", + "@types/prompts": "^2.4.8", "cross-spawn": "^7.0.3", "kolorist": "^1.8.0", "minimist": "^1.2.8", diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index a164138deb6613..ba622d3d0f9f89 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.2.2", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index e925d2aaacd99f..bd7f712e7ce431 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.0.2" }, "devDependencies": { - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index d8c49975dd64cc..965a3eec895382 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.18.2" + "preact": "^10.19.1" }, "devDependencies": { "@preact/preset-vite": "^2.6.0", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 9594c3784cbb4b..668339bf2907bb 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.18.2" + "preact": "^10.19.1" }, "devDependencies": { "@preact/preset-vite": "^2.6.0", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index d69981eeb4b5d8..6abffeb6870fe6 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" }, "dependencies": { "@builder.io/qwik": "^1.2.17" diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index d69981eeb4b5d8..6abffeb6870fe6 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" }, "dependencies": { "@builder.io/qwik": "^1.2.17" diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index ba38c3d46f844e..505b09bc888d7f 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,15 +14,15 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.35", - "@types/react-dom": "^18.2.14", - "@typescript-eslint/eslint-plugin": "^6.9.1", - "@typescript-eslint/parser": "^6.9.1", + "@types/react": "^18.2.37", + "@types/react-dom": "^18.2.15", + "@typescript-eslint/eslint-plugin": "^6.10.0", + "@typescript-eslint/parser": "^6.10.0", "@vitejs/plugin-react": "^4.1.1", "eslint": "^8.53.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 5a17edca52ee62..695dcd50aef5d5 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,13 +14,13 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.35", - "@types/react-dom": "^18.2.14", + "@types/react": "^18.2.37", + "@types/react-dom": "^18.2.15", "@vitejs/plugin-react": "^4.1.1", "eslint": "^8.53.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index a5af9452971b17..6a0f979ac68226 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.16", + "vite": "^5.0.0-beta.18", "vite-plugin-solid": "^2.7.2" } } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index ed565d1c9716a6..f8c1f7249bdbd0 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -12,7 +12,7 @@ "solid-js": "^1.8.5" }, "devDependencies": { - "vite": "^5.0.0-beta.16", + "vite": "^5.0.0-beta.18", "vite-plugin-solid": "^2.7.2" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 78dcfd9ad4b69c..212e6e6964d3de 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -12,10 +12,10 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.0.0-next.2", "@tsconfig/svelte": "^5.0.2", - "svelte": "^4.2.2", - "svelte-check": "^3.5.2", + "svelte": "^4.2.3", + "svelte-check": "^3.6.0", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 78b990f8315507..055cdfc91a0006 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.0.0-next.2", - "svelte": "^4.2.2", - "vite": "^5.0.0-beta.16" + "svelte": "^4.2.3", + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 372ae57710021b..13ad7c9d5d9478 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.2.2", - "vite": "^5.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index b1923cdd236a1e..5d28e8267cc3ff 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.0.0-beta.16" + "vite": "^5.0.0-beta.18" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 13e7cd06634184..02a9c21f387439 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.3.7" + "vue": "^3.3.8" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue": "^4.4.1", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.16", + "vite": "^5.0.0-beta.18", "vue-tsc": "^1.8.22" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 74bd0c5c5bc0a9..3273d0b7db0d9b 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.3.7" + "vue": "^3.3.8" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.0", - "vite": "^5.0.0-beta.16" + "@vitejs/plugin-vue": "^4.4.1", + "vite": "^5.0.0-beta.18" } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index c7730b29fea36e..8b7f09d844819b 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -41,8 +41,8 @@ "homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme", "funding": "https://github.com/vitejs/vite?sponsor=1", "dependencies": { - "@babel/core": "^7.23.2", - "@babel/preset-env": "^7.23.2", + "@babel/core": "^7.23.3", + "@babel/preset-env": "^7.23.3", "browserslist": "^4.22.1", "core-js": "^3.33.2", "magic-string": "^0.30.5", diff --git a/packages/vite/package.json b/packages/vite/package.json index cd9f1e0741cf15..c033ccd602040f 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -83,7 +83,7 @@ }, "devDependencies": { "@ampproject/remapping": "^2.2.1", - "@babel/parser": "^7.23.0", + "@babel/parser": "^7.23.3", "@jridgewell/trace-mapping": "^0.3.20", "@rollup/plugin-alias": "^5.0.1", "@rollup/plugin-commonjs": "^25.0.7", @@ -92,8 +92,8 @@ "@rollup/plugin-node-resolve": "15.2.3", "@rollup/plugin-typescript": "^11.1.5", "@rollup/pluginutils": "^5.0.5", - "@types/escape-html": "^1.0.3", - "@types/pnpapi": "^0.0.4", + "@types/escape-html": "^1.0.4", + "@types/pnpapi": "^0.0.5", "acorn": "^8.11.2", "acorn-walk": "^8.3.0", "cac": "^6.7.14", @@ -106,15 +106,15 @@ "dep-types": "link:./src/types", "dotenv": "^16.3.1", "dotenv-expand": "^10.0.0", - "es-module-lexer": "^1.4.0", + "es-module-lexer": "^1.4.1", "escape-html": "^1.0.3", "estree-walker": "^3.0.3", "etag": "^1.8.1", - "fast-glob": "^3.3.1", + "fast-glob": "^3.3.2", "http-proxy": "^1.18.1", "json-stable-stringify": "^1.0.2", "launch-editor-middleware": "^2.6.1", - "lightningcss": "^1.22.0", + "lightningcss": "^1.22.1", "magic-string": "^0.30.5", "micromatch": "^4.0.5", "mlly": "^1.4.2", diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index a3e879c91ac4de..402eed8b7c8399 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -367,11 +367,11 @@ export function resolveBuildOptions( modulePreload === false ? false : typeof modulePreload === 'object' - ? { - ...defaultModulePreload, - ...modulePreload, - } - : defaultModulePreload, + ? { + ...defaultModulePreload, + ...modulePreload, + } + : defaultModulePreload, } // handle special build targets @@ -483,16 +483,16 @@ export async function build( (typeof libOptions.entry === 'string' ? resolve(libOptions.entry) : Array.isArray(libOptions.entry) - ? libOptions.entry.map(resolve) - : Object.fromEntries( - Object.entries(libOptions.entry).map(([alias, file]) => [ - alias, - resolve(file), - ]), - )) + ? libOptions.entry.map(resolve) + : Object.fromEntries( + Object.entries(libOptions.entry).map(([alias, file]) => [ + alias, + resolve(file), + ]), + )) : typeof options.ssr === 'string' - ? resolve(options.ssr) - : options.rollupOptions?.input || resolve('index.html') + ? resolve(options.ssr) + : options.rollupOptions?.input || resolve('index.html') if (ssr && typeof input === 'string' && input.endsWith('.html')) { throw new Error( @@ -505,8 +505,8 @@ export async function build( typeof input === 'string' ? [input] : Array.isArray(input) - ? input - : Object.values(input) + ? input + : Object.values(input) if (inputs.some((input) => input.endsWith('.css'))) { throw new Error( `When "build.cssCodeSplit: false" is set, "rollupOptions.input" should not include CSS files.`, @@ -529,8 +529,8 @@ export async function build( preserveEntrySignatures: ssr ? 'allow-extension' : libOptions - ? 'strict' - : false, + ? 'strict' + : false, cache: config.build.watch ? undefined : false, ...options.rollupOptions, input, @@ -607,16 +607,16 @@ export async function build( entryFileNames: ssr ? `[name].${jsExt}` : libOptions - ? ({ name }) => - resolveLibFilename( - libOptions, - format, - name, - config.root, - jsExt, - config.packageCache, - ) - : path.posix.join(options.assetsDir, `[name]-[hash].${jsExt}`), + ? ({ name }) => + resolveLibFilename( + libOptions, + format, + name, + config.root, + jsExt, + config.packageCache, + ) + : path.posix.join(options.assetsDir, `[name]-[hash].${jsExt}`), chunkFileNames: libOptions ? `[name]-[hash].${jsExt}` : path.posix.join(options.assetsDir, `[name]-[hash].${jsExt}`), diff --git a/packages/vite/src/node/cli.ts b/packages/vite/src/node/cli.ts index ef807b7d737982..86557164e05b3d 100644 --- a/packages/vite/src/node/cli.ts +++ b/packages/vite/src/node/cli.ts @@ -95,8 +95,8 @@ function cleanOptions( sourcemap === 'true' ? true : sourcemap === 'false' - ? false - : ret.sourcemap + ? false + : ret.sourcemap } return ret diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 1ebfbbb02a5a6e..9e9a3628f1769d 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -591,8 +591,8 @@ export async function resolveConfig( config.cacheDir ? path.resolve(resolvedRoot, config.cacheDir) : pkgDir - ? path.join(pkgDir, `node_modules/.vite`) - : path.join(resolvedRoot, `.vite`), + ? path.join(pkgDir, `node_modules/.vite`) + : path.join(resolvedRoot, `.vite`), ) const assetsFilter = diff --git a/packages/vite/src/node/logger.ts b/packages/vite/src/node/logger.ts index f5b081adadecec..8b3752d9f2200f 100644 --- a/packages/vite/src/node/logger.ts +++ b/packages/vite/src/node/logger.ts @@ -80,8 +80,8 @@ export function createLogger( type === 'info' ? colors.cyan(colors.bold(prefix)) : type === 'warn' - ? colors.yellow(colors.bold(prefix)) - : colors.red(colors.bold(prefix)) + ? colors.yellow(colors.bold(prefix)) + : colors.red(colors.bold(prefix)) return `${colors.dim(timeFormatter.format(new Date()))} ${tag} ${msg}` } else { return msg diff --git a/packages/vite/src/node/plugins/esbuild.ts b/packages/vite/src/node/plugins/esbuild.ts index ba7f338c8eec59..ecbd896fff4d01 100644 --- a/packages/vite/src/node/plugins/esbuild.ts +++ b/packages/vite/src/node/plugins/esbuild.ts @@ -322,8 +322,8 @@ export const buildEsbuildPlugin = (config: ResolvedConfig): Plugin => { opts.format === 'iife' ? esbuildCode.match(IIFE_BEGIN_RE)?.index || 0 : opts.format === 'umd' - ? esbuildCode.indexOf(`(function(`) // same for minified or not - : 0 + ? esbuildCode.indexOf(`(function(`) // same for minified or not + : 0 if (contentIndex > 0) { const esbuildHelpers = esbuildCode.slice(0, contentIndex) res.code = esbuildCode diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 8292c220a0416b..5d824afe03a729 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -697,10 +697,10 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { isSelfAccepting ? `[self-accepts]` : isPartiallySelfAccepting - ? `[accepts-exports]` - : acceptedUrls.size - ? `[accepts-deps]` - : `[detected api usage]` + ? `[accepts-exports]` + : acceptedUrls.size + ? `[accepts-deps]` + : `[detected api usage]` } ${prettyImporter}`, ) // inject hot context @@ -819,14 +819,14 @@ export function createParseErrorInfo( const msg = isVue ? `Install @vitejs/plugin-vue to handle .vue files.` : maybeJSX - ? isJsx - ? `If you use tsconfig.json, make sure to not set jsx to preserve.` - : `If you are using JSX, make sure to name the file with the .jsx or .tsx extension.` - : `You may need to install appropriate plugins to handle the ${path.extname( - importer, - )} file format, or if it's an asset, add "**/*${path.extname( - importer, - )}" to \`assetsInclude\` in your configuration.` + ? isJsx + ? `If you use tsconfig.json, make sure to not set jsx to preserve.` + : `If you are using JSX, make sure to name the file with the .jsx or .tsx extension.` + : `You may need to install appropriate plugins to handle the ${path.extname( + importer, + )} file format, or if it's an asset, add "**/*${path.extname( + importer, + )}" to \`assetsInclude\` in your configuration.` return { message: diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 8b76df1b321464..4b89085da1e5e6 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -192,13 +192,13 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { // a helper `__vitePreloadRelativeDep` is used to resolve from relative paths which can be minimized. `function(dep, importerUrl) { return dep[0] === '.' ? new URL(dep, importerUrl).href : dep }` : optimizeModulePreloadRelativePaths - ? // If there isn't custom resolvers affecting the deps list, deps in the list are relative - // to the current chunk and are resolved to absolute URL by the __vitePreload helper itself. - // The importerUrl is passed as third parameter to __vitePreload in this case - `function(dep, importerUrl) { return new URL(dep, importerUrl).href }` - : // If the base isn't relative, then the deps are relative to the projects `outDir` and the base - // is appended inside __vitePreload too. - `function(dep) { return ${JSON.stringify(config.base)}+dep }` + ? // If there isn't custom resolvers affecting the deps list, deps in the list are relative + // to the current chunk and are resolved to absolute URL by the __vitePreload helper itself. + // The importerUrl is passed as third parameter to __vitePreload in this case + `function(dep, importerUrl) { return new URL(dep, importerUrl).href }` + : // If the base isn't relative, then the deps are relative to the projects `outDir` and the base + // is appended inside __vitePreload too. + `function(dep) { return ${JSON.stringify(config.base)}+dep }` const preloadCode = `const scriptRel = ${scriptRel};const assetsURL = ${assetsURL};const seen = {};export const ${preloadMethod} = ${preload.toString()}` return { diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index 695e6fada9d713..39c00cb9ea1986 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -386,8 +386,8 @@ export async function transformGlobImport( let query = !options.query ? '' : typeof options.query === 'string' - ? options.query - : stringifyQuery(options.query as any) + ? options.query + : stringifyQuery(options.query as any) if (query && query[0] !== '?') query = `?${query}` diff --git a/playground/alias/package.json b/playground/alias/package.json index 20a99792fb875b..70a78d404624d4 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.3.7", - "@vue/shared": "^3.3.7" + "vue": "^3.3.8", + "@vue/shared": "^3.3.8" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index 8439f4aad308ac..42f577daf7c0f5 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -12,6 +12,6 @@ "devDependencies": { "sass": "^1.69.5", "tailwindcss": "^3.3.5", - "fast-glob": "^3.3.1" + "fast-glob": "^3.3.2" } } diff --git a/playground/config/packages/siblings/package.json b/playground/config/packages/siblings/package.json index 0e2cbfc02a8722..3ab302d21abe64 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.14.200", + "@types/lodash": "^4.14.201", "lodash": "^4.17.21" } } diff --git a/playground/css-codesplit-cjs/main.js b/playground/css-codesplit-cjs/main.js index 4234674de9dee5..766759f9bd79f4 100644 --- a/playground/css-codesplit-cjs/main.js +++ b/playground/css-codesplit-cjs/main.js @@ -1,6 +1,5 @@ import './style.css' import './main.css' -document.getElementById( - 'app', -).innerHTML = `

This should be red

This should be blue

` +document.getElementById('app').innerHTML = + `

This should be red

This should be blue

` diff --git a/playground/css-lightningcss-proxy/package.json b/playground/css-lightningcss-proxy/package.json index 571c2596490cfa..5665a60cf861ae 100644 --- a/playground/css-lightningcss-proxy/package.json +++ b/playground/css-lightningcss-proxy/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "devDependencies": { - "lightningcss": "^1.22.0", + "lightningcss": "^1.22.1", "express": "^4.18.2" } } diff --git a/playground/css-lightningcss/package.json b/playground/css-lightningcss/package.json index 99c99b415e2db4..64fbc3a79fb83a 100644 --- a/playground/css-lightningcss/package.json +++ b/playground/css-lightningcss/package.json @@ -9,6 +9,6 @@ "preview": "vite preview" }, "devDependencies": { - "lightningcss": "^1.22.0" + "lightningcss": "^1.22.1" } } diff --git a/playground/css/package.json b/playground/css/package.json index 6fb10230fec845..d09625a56a9fc8 100644 --- a/playground/css/package.json +++ b/playground/css/package.json @@ -20,7 +20,7 @@ "@vitejs/test-css-dep-exports": "link:./css-dep-exports", "@vitejs/test-css-js-dep": "file:./css-js-dep", "@vitejs/test-css-proxy-dep": "file:./css-proxy-dep", - "fast-glob": "^3.3.1", + "fast-glob": "^3.3.2", "less": "^4.2.0", "postcss-nested": "^6.0.1", "sass": "^1.69.5", diff --git a/playground/extensions/package.json b/playground/extensions/package.json index e2196fc4923a07..d83bae663dff2e 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.7" + "vue": "^3.3.8" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index cd7dd40bc8f6fd..f4d6c7e8cb9d7e 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.3.7" + "vue": "^3.3.8" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index 4c54a11becee72..b85078071464ec 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.3.7" + "vue": "^3.3.8" } } diff --git a/playground/external/package.json b/playground/external/package.json index 27710cebdd70ce..011bae84167d80 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.3.7", + "vue": "^3.3.8", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/html/valid.js b/playground/html/valid.js index 7adcbed35a476b..7b6a2386a07931 100644 --- a/playground/html/valid.js +++ b/playground/html/valid.js @@ -1,3 +1,2 @@ -document.getElementById( - `no-quotes-on-attr`, -).innerHTML = `No quotes on Attr working` +document.getElementById(`no-quotes-on-attr`).innerHTML = + `No quotes on Attr working` diff --git a/playground/json/package.json b/playground/json/package.json index 4a2467d9463644..1c7a21c72eddc7 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.18.2", - "vue": "^3.3.7" + "vue": "^3.3.8" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index ce3bc5671661b1..b9ccbb69d1f546 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.3.7" + "vue": "^3.3.8" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index 256158b7ef9cab..426583d5001eaa 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.3.7", + "vue": "^3.3.8", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 9d1b189a7aa59b..b2f5172f5be55b 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "axios": "^1.6.0", + "axios": "^1.6.1", "clipboard": "^2.0.11", "@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "file:./longfilename", "@vitejs/test-dep-alias-using-absolute-path": "file:./dep-alias-using-absolute-path", @@ -41,7 +41,7 @@ "react-dom": "^18.2.0", "@vitejs/test-resolve-linked": "workspace:0.0.0", "url": "^0.11.3", - "vue": "^3.3.7", + "vue": "^3.3.8", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index 5652e2f6f82e52..7df119b0a52d77 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,7 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.16", "tailwindcss": "^3.3.5", - "vue": "^3.3.7", + "vue": "^3.3.8", "vue-router": "^4.2.5" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d77c91e79fdc18..edaa2c16f6b068 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,65 +28,65 @@ importers: .: devDependencies: '@babel/types': - specifier: ^7.23.0 - version: 7.23.0 + specifier: ^7.23.3 + version: 7.23.3 '@rollup/plugin-typescript': specifier: ^11.1.5 version: 11.1.5(rollup@4.2.0)(tslib@2.6.2)(typescript@5.2.2) '@types/babel__core': - specifier: ^7.20.3 - version: 7.20.3 + specifier: ^7.20.4 + version: 7.20.4 '@types/babel__preset-env': - specifier: ^7.9.4 - version: 7.9.4 + specifier: ^7.9.5 + version: 7.9.5 '@types/convert-source-map': - specifier: ^2.0.2 - version: 2.0.2 + specifier: ^2.0.3 + version: 2.0.3 '@types/cross-spawn': - specifier: ^6.0.4 - version: 6.0.4 + specifier: ^6.0.5 + version: 6.0.5 '@types/debug': - specifier: ^4.1.10 - version: 4.1.10 + specifier: ^4.1.12 + version: 4.1.12 '@types/estree': - specifier: ^1.0.4 - version: 1.0.4 + specifier: ^1.0.5 + version: 1.0.5 '@types/etag': - specifier: ^1.8.2 - version: 1.8.2 + specifier: ^1.8.3 + version: 1.8.3 '@types/fs-extra': - specifier: ^11.0.3 - version: 11.0.3 + specifier: ^11.0.4 + version: 11.0.4 '@types/json-stable-stringify': - specifier: ^1.0.35 - version: 1.0.35 + specifier: ^1.0.36 + version: 1.0.36 '@types/less': - specifier: ^3.0.5 - version: 3.0.5 + specifier: ^3.0.6 + version: 3.0.6 '@types/micromatch': - specifier: ^4.0.4 - version: 4.0.4 + specifier: ^4.0.5 + version: 4.0.5 '@types/node': - specifier: ^20.8.10 - version: 20.8.10 + specifier: ^20.9.0 + version: 20.9.0 '@types/picomatch': - specifier: ^2.3.2 - version: 2.3.2 + specifier: ^2.3.3 + version: 2.3.3 '@types/sass': specifier: ~1.43.1 version: 1.43.1 '@types/stylus': - specifier: ^0.48.41 - version: 0.48.41 + specifier: ^0.48.42 + version: 0.48.42 '@types/ws': - specifier: ^8.5.8 - version: 8.5.8 + specifier: ^8.5.9 + version: 8.5.9 '@typescript-eslint/eslint-plugin': - specifier: ^6.9.1 - version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.10.0 + version: 6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.9.1 - version: 6.9.1(eslint@8.53.0)(typescript@5.2.2) + specifier: ^6.10.0 + version: 6.10.0(eslint@8.53.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -101,10 +101,10 @@ importers: version: 1.24.1 eslint-plugin-import: specifier: ^2.29.0 - version: 2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.53.0) + version: 2.29.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0) eslint-plugin-n: - specifier: ^16.2.0 - version: 16.2.0(eslint@8.53.0) + specifier: ^16.3.1 + version: 16.3.1(eslint@8.53.0) eslint-plugin-regexp: specifier: ^2.1.1 version: 2.1.1(eslint@8.53.0) @@ -115,8 +115,8 @@ importers: specifier: ^11.1.1 version: 11.1.1 lint-staged: - specifier: ^15.0.2 - version: 15.0.2 + specifier: ^15.1.0 + version: 15.1.0 npm-run-all2: specifier: ^6.1.1 version: 6.1.1 @@ -127,8 +127,8 @@ importers: specifier: ^1.39.0 version: 1.39.0 prettier: - specifier: 3.0.3 - version: 3.0.3 + specifier: 3.1.0 + version: 3.1.0 rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -160,17 +160,17 @@ importers: specifier: ^0.34.6 version: 0.34.6 vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) packages/create-vite: devDependencies: '@types/minimist': - specifier: ^1.2.4 - version: 1.2.4 + specifier: ^1.2.5 + version: 1.2.5 '@types/prompts': - specifier: ^2.4.7 - version: 2.4.7 + specifier: ^2.4.8 + version: 2.4.8 cross-spawn: specifier: ^7.0.3 version: 7.0.3 @@ -190,11 +190,11 @@ importers: packages/plugin-legacy: dependencies: '@babel/core': - specifier: ^7.23.2 - version: 7.23.2 + specifier: ^7.23.3 + version: 7.23.3 '@babel/preset-env': - specifier: ^7.23.2 - version: 7.23.2(@babel/core@7.23.2) + specifier: ^7.23.3 + version: 7.23.3(@babel/core@7.23.3) browserslist: specifier: ^4.22.1 version: 4.22.1 @@ -241,8 +241,8 @@ importers: specifier: ^2.2.1 version: 2.2.1 '@babel/parser': - specifier: ^7.23.0 - version: 7.23.0 + specifier: ^7.23.3 + version: 7.23.3 '@jridgewell/trace-mapping': specifier: ^0.3.20 version: 0.3.20 @@ -268,11 +268,11 @@ importers: specifier: ^5.0.5 version: 5.0.5(rollup@4.2.0) '@types/escape-html': - specifier: ^1.0.3 - version: 1.0.3 + specifier: ^1.0.4 + version: 1.0.4 '@types/pnpapi': - specifier: ^0.0.4 - version: 0.0.4 + specifier: ^0.0.5 + version: 0.0.5 acorn: specifier: ^8.11.2 version: 8.11.2 @@ -310,8 +310,8 @@ importers: specifier: ^10.0.0 version: 10.0.0(patch_hash=weuqf2vlv5b5g6cikeo4slurbm) es-module-lexer: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.4.1 + version: 1.4.1 escape-html: specifier: ^1.0.3 version: 1.0.3 @@ -322,8 +322,8 @@ importers: specifier: ^1.8.1 version: 1.8.1 fast-glob: - specifier: ^3.3.1 - version: 3.3.1 + specifier: ^3.3.2 + version: 3.3.2 http-proxy: specifier: ^1.18.1 version: 1.18.1(debug@4.3.4) @@ -334,8 +334,8 @@ importers: specifier: ^2.6.1 version: 2.6.1 lightningcss: - specifier: ^1.22.0 - version: 1.22.0 + specifier: ^1.22.1 + version: 1.22.1 magic-string: specifier: ^0.30.5 version: 0.30.5 @@ -430,14 +430,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.3.7 - version: 3.3.7 + specifier: ^3.3.8 + version: 3.3.8 aliased-module: specifier: file:./dir/module version: file:playground/alias/dir/module vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -452,8 +452,8 @@ importers: playground/backend-integration: devDependencies: fast-glob: - specifier: ^3.3.1 - version: 3.3.1 + specifier: ^3.3.2 + version: 3.3.2 sass: specifier: ^1.69.5 version: 1.69.5 @@ -482,8 +482,8 @@ importers: playground/config/packages/siblings: devDependencies: '@types/lodash': - specifier: ^4.14.200 - version: 4.14.200 + specifier: ^4.14.201 + version: 4.14.201 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -503,8 +503,8 @@ importers: specifier: file:./css-proxy-dep version: file:playground/css/css-proxy-dep fast-glob: - specifier: ^3.3.1 - version: 3.3.1 + specifier: ^3.3.2 + version: 3.3.2 less: specifier: ^4.2.0 version: 4.2.0 @@ -530,8 +530,8 @@ importers: playground/css-lightningcss: devDependencies: lightningcss: - specifier: ^1.22.0 - version: 1.22.0 + specifier: ^1.22.1 + version: 1.22.1 playground/css-lightningcss-proxy: devDependencies: @@ -539,8 +539,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 lightningcss: - specifier: ^1.22.0 - version: 1.22.0 + specifier: ^1.22.1 + version: 1.22.1 playground/css-sourcemap: devDependencies: @@ -607,8 +607,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) playground/external: dependencies: @@ -629,8 +629,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) vue32: specifier: npm:vue@~3.2.0 version: /vue@3.2.0 @@ -644,8 +644,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) playground/external/dep-that-requires: dependencies: @@ -656,8 +656,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) playground/fs-serve: {} @@ -700,8 +700,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) playground/json/json-module: {} @@ -796,8 +796,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) playground/optimize-deps: dependencies: @@ -874,8 +874,8 @@ importers: specifier: workspace:0.0.0 version: link:../resolve-linked axios: - specifier: ^1.6.0 - version: 1.6.0 + specifier: ^1.6.1 + version: 1.6.1 clipboard: specifier: ^2.0.11 version: 2.0.11 @@ -901,11 +901,11 @@ importers: specifier: ^0.11.3 version: 0.11.3 vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.3.7) + version: 4.1.0(vue@3.3.8) playground/optimize-deps-no-discovery: dependencies: @@ -913,11 +913,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.3.7) + version: 4.1.0(vue@3.3.8) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1428,15 +1428,15 @@ importers: specifier: ^3.3.5 version: 3.3.5(ts-node@10.9.1) vue: - specifier: ^3.3.7 - version: 3.3.7(typescript@5.2.2) + specifier: ^3.3.8 + version: 3.3.8(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.3.7) + version: 4.2.5(vue@3.3.8) devDependencies: ts-node: specifier: ^10.9.1 - version: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) + version: 10.9.1(@types/node@20.9.0)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -1629,29 +1629,29 @@ packages: '@babel/highlight': 7.22.13 chalk: 2.4.2 - /@babel/compat-data@7.22.20: - resolution: {integrity: sha512-BQYjKbpXjoXwFW5jGqiizJQQT/aC7pFm9Ok1OWssonuguICi264lbgMzRp2ZMmRSlfkX6DsWDDcsrctK8Rwfiw==} - engines: {node: '>=6.9.0'} - /@babel/compat-data@7.23.2: resolution: {integrity: sha512-0S9TQMmDHlqAZ2ITT95irXKfxN9bncq8ZCoJhun3nHL/lLUxd2NKBJYoNGWH7S0hz6fRQwWlAWn/ILM0C70KZQ==} engines: {node: '>=6.9.0'} + + /@babel/compat-data@7.23.3: + resolution: {integrity: sha512-BmR4bWbDIoFJmJ9z2cZ8Gmm2MXgEDgjdWgpKmKWUt54UGFJdlj31ECtbaDvCG/qVdG3AQ1SfpZEs01lUFbzLOQ==} + engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.23.2: - resolution: {integrity: sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==} + /@babel/core@7.23.3: + resolution: {integrity: sha512-Jg+msLuNuCJDyBvFv5+OKOUjWMZgd85bKjbICd3zWrKAo+bJ49HJufi7CQE0q0uR8NGyO6xkCACScNqyjHSZew==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/generator': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helpers': 7.23.2 - '@babel/parser': 7.23.0 + '@babel/parser': 7.23.3 '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -1660,11 +1660,11 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.23.0: - resolution: {integrity: sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==} + /@babel/generator@7.23.3: + resolution: {integrity: sha512-keeZWAV4LU3tW0qRi19HRpabC/ilM0HRBBzf9/k8FFiG4KVpiv0FIy4hHfLfFQZNhziCTPTmd59zoyv6DNISzg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.20 jsesc: 2.5.2 @@ -1673,62 +1673,74 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: false - /@babel/helper-builder-binary-assignment-operator-visitor@7.22.5: - resolution: {integrity: sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==} + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: + resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: false /@babel/helper-compilation-targets@7.22.15: resolution: {integrity: sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.22.20 + '@babel/compat-data': 7.23.2 '@babel/helper-validator-option': 7.22.15 browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.2): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.3): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.23.2): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.3): + resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-annotate-as-pure': 7.22.5 + regexpu-core: 5.3.2 + semver: 6.3.1 + dev: false + + /@babel/helper-create-regexp-features-plugin@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.2): + /@babel/helper-define-polyfill-provider@0.4.3(@babel/core@7.23.3): resolution: {integrity: sha512-WBrLmuPP47n7PNwsZ57pqam6G/RGo1vw/87b0Blc53tZNGZ4x7YvZ6HgQe2vo1W/FR20OgjeZuGXzudPiXHFug==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 @@ -1747,34 +1759,34 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 /@babel/helper-member-expression-to-functions@7.22.15: resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: false /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 - /@babel/helper-module-transforms@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -1785,7 +1797,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -1793,25 +1805,25 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.2): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.3): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.2): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.3): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 @@ -1821,20 +1833,20 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 /@babel/helper-string-parser@7.22.5: resolution: {integrity: sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==} @@ -1854,7 +1866,7 @@ packages: dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.22.15 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: false /@babel/helpers@7.23.2: @@ -1862,8 +1874,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.22.15 - '@babel/traverse': 7.23.2 - '@babel/types': 7.23.0 + '@babel/traverse': 7.23.3 + '@babel/types': 7.23.3 transitivePeerDependencies: - supports-color @@ -1876,844 +1888,855 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.23.0: - resolution: {integrity: sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==} + /@babel/parser@7.23.3: + resolution: {integrity: sha512-uVsWNvlVsIninV2prNz/3lHCb+5CJ+e+IUBfbjToAHODtfGYLfCFuY4AU7TskI+dAKk+njsPiBjq1gKTvZOBaw==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-FB9iYlz7rURmRJyXRKEnalYPPdn87H5no108cyuQQyMwlpJ2SJtpIUBI27kdTin956pz+LPypkPVPUTlxOmrsg==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-Hyph9LseGvAeeXzikV88bczhsrLrIZqDPxO+sSmAunMPaGrBGhfMWzCPYTtiW9t+HzSE2wtV8e5cc5P6r1xMDQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2) + '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.3) + dev: false + + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-XaJak1qcityzrX0/IU5nKHb34VaibwP3saKqG6a/tppelgllOH13LUann4ZCIBcVOeE6H18K4Vx9QKkVww3z/w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.2): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.3): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.2): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.2): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-assertions@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==} + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-attributes@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==} + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.2): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.2): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.2): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.3): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.2): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.2): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.2): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.2): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.3): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-arrow-functions@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==} + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-async-generator-functions@7.23.2(@babel/core@7.23.2): - resolution: {integrity: sha512-BBYVGxbDVHfoeXbOwcagAkOQAm9NxoTdMGfTqghu1GrvadSaw6iW3Je6IcL5PNOw8VwjxqBECXy50/iCQSY/lQ==} + /@babel/plugin-transform-async-generator-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-59GsVNavGxAXCDDbakWSMJhajASb4kBCqDjqJsv+p5nKdbz7istmZ3HrX3L2LuiI80+zsOADCvooqQH3qGCucQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-async-to-generator@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==} + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.2) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-block-scoped-functions@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==} + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-block-scoping@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-cOsrbmIOXmf+5YbL99/S49Y3j46k/T16b9ml8bm9lP6N9US5iQ2yBK7gpui1pg0V/WMcXdkfKbTb7HXq9u+v4g==} + /@babel/plugin-transform-block-scoping@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QPZxHrThbQia7UdvfpaRRlq/J9ciz1J4go0k+lPBXbgaNeY7IQrBj/9ceWjvMMI07/ZBzHl/F0R/2K0qH7jCVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-properties@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==} + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-static-block@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-GMM8gGmqI7guS/llMFk1bJDkKfn3v3C4KHK9Yg1ey5qcHcOlKb0QvcMrgzvxo+T03/4szNh5lghY+fEC98Kq9g==} + /@babel/plugin-transform-class-static-block@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-PENDVxdr7ZxKPyi5Ffc0LjXdnJyrJxyqF5T5YjlVg4a0VFfQHW0r8iAtRiDXkfHlu1wwcvdtnndGYIeJLSuRMQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-classes@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-VbbC3PGjBdE0wAWDdHM9G8Gm977pnYI0XpqMd6LrKISj8/DJXEsWqgRuTYaNE9Bv0JGhTZUzHDlMk18IpOuoqw==} + /@babel/plugin-transform-classes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-FGEQmugvAEu2QtgtU0uTASXevfLMFfBeVCIIdcQhn/uBQsMTjBajdnAtanQlOcuihWh10PZ7+HWvc7NtBwP74w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==} + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 dev: false - /@babel/plugin-transform-destructuring@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-vaMdgNXFkYrB+8lbgniSYWHsgqK5gjaMNcc84bMIOMRLH0L9AqYq3hwMdvnyqj1OPqea8UtjPEuS/DCenah1wg==} + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dotall-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==} + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-duplicate-keys@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==} + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dynamic-import@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-g/21plo58sfteWjaO0ZNVb+uEOkJNjAaHhbejrnBmu011l/eNDScmkbjCC3l4FKb10ViaGU4aOkFznSu2zRHgA==} + /@babel/plugin-transform-dynamic-import@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vTG+cTGxPFou12Rj7ll+eD5yWeNl5/8xvQvF08y5Gv3v4mZQoyFf8/n9zg4q5vvCWt5jmgymfzMAldO7orBn7A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-exponentiation-operator@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==} + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.5 + '@babel/core': 7.23.3 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-export-namespace-from@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-xa7aad7q7OiT8oNZ1mU7NrISjlSkVdMbNxn9IuLZyL9AJEhs1Apba3I+u5riX1dIkdptP5EKDG5XDPByWxtehw==} + /@babel/plugin-transform-export-namespace-from@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-yCLhW34wpJWRdTxxWtFZASJisihrfyMOTOQexhVzA78jlU+dH7Dw+zQgcPepQ5F3C6bAIiblZZ+qBggJdHiBAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-for-of@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-me6VGeHsx30+xh9fbDLLPi0J1HzmeIIyenoOQHuw2D4m2SAU3NrspX5XxJLBpqn5yrLzrlw2Iy3RA//Bx27iOA==} + /@babel/plugin-transform-for-of@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-X8jSm8X1CMwxmK878qsUGJRmbysKNbdpTv/O1/v0LuY/ZkZrng5WYiekYSdg9m09OTmDDUWeEDsTE+17WYbAZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==} + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-json-strings@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-CxT5tCqpA9/jXFlme9xIBCc5RPtdDq3JpkkhgHQqtDdiTnTI0jtZ0QzXhr5DILeYifDPp2wvY2ad+7+hLMW5Pw==} + /@babel/plugin-transform-json-strings@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-H9Ej2OiISIZowZHaBwF0tsJOih1PftXJtE8EWqlEIwpc7LMTGq0rPOrywKLQ4nefzx8/HMR0D3JGXoMHYvhi0A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==} + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-qQwRTP4+6xFCDV5k7gZBF3C31K34ut0tbEcTKxlX/0KXxm9GLcO14p570aWxFvVzx6QAfPgq7gaeIHXJC8LswQ==} + /@babel/plugin-transform-logical-assignment-operators@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-+pD5ZbxofyOygEp+zZAfujY2ShNCXRpDRIPOiBmTO693hhyOEteZgl876Xs9SAHPQpcV0vz8LvA/T+w8AzyX8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-member-expression-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==} + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-amd@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-xWT5gefv2HGSm4QHtgc1sYPbseOyf+FFDo2JbpE25GWl5BqTGO9IMwTYJRoIdjsF85GE+VegHxSCUt5EvoYTAw==} + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-32Xzss14/UVc7k9g775yMIvkVK8xwKE0DPdP5JTapr3+Z9w4tzeOuLNY6BXDQR6BdnzIlXnCGAzsk/ICHBLVWQ==} + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-qBej6ctXZD2f+DhlOC9yO47yEYgUh5CZNz/aBoH4j/3NOlRfJXJbY7xDQCqQVf9KbrqGzIWER1f23doHGrIHFg==} + /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==} + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-module-transforms': 7.23.0(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.2): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.3): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-new-target@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==} + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-YZWOw4HxXrotb5xsjMJUDlLgcDXSfO9eCmdl1bgW4+/lAGdkjaEvOnQ4p5WKKdUgSzO39dgPl0pTnfxm0OAXcg==} + /@babel/plugin-transform-nullish-coalescing-operator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-xzg24Lnld4DYIdysyf07zJ1P+iIfJpxtVFOzX4g+bsJ3Ng5Le7rXx9KwqKzuyaUeRnt+I1EICwQITqc0E2PmpA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-numeric-separator@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-3dzU4QGPsILdJbASKhF/V2TVP+gJya1PsueQCxIPCEcerqF21oEcrob4mzjsp2Py/1nLfF5m+xYNMDpmA8vffg==} + /@babel/plugin-transform-numeric-separator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-s9GO7fIBi/BLsZ0v3Rftr6Oe4t0ctJ8h4CCXfPoEJwmvAPMyNrfkOOJzm6b9PX9YXcCJWWQd/sBF/N26eBiMVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-object-rest-spread@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-fEB+I1+gAmfAyxZcX1+ZUwLeAuuf8VIg67CTznZE0MqVFumWkh8xWtn58I4dxdVf080wn7gzWoF8vndOViJe9Q==} + /@babel/plugin-transform-object-rest-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VxHt0ANkDmu8TANdE9Kc0rndo/ccsmfe2Cx2y5sI4hu3AukHQ5wAu4cM7j3ba8B9548ijVyclBU+nuDQftZsog==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.23.2 + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-object-super@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==} + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.2) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-optional-catch-binding@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-rli0WxesXUeCJnMYhzAglEjLWVDF6ahb45HuprcmQuLidBJFWjNnOzssk2kuc6e33FlLaiZhG/kUIzUMWdBKaQ==} + /@babel/plugin-transform-optional-catch-binding@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-LxYSb0iLjUamfm7f1D7GpiS4j0UAC8AOiehnsGAP8BEsIX8EOi3qV6bbctw8M7ZvLtcoZfZX5Z7rN9PlWk0m5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-optional-chaining@7.23.0(@babel/core@7.23.2): - resolution: {integrity: sha512-sBBGXbLJjxTzLBF5rFWaikMnOGOk/BmK6vVByIdEggZ7Vn6CvWXZyRkkLFK6WE0IF8jSliyOkUN6SScFgzCM0g==} + /@babel/plugin-transform-optional-chaining@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-zvL8vIfIUgMccIAK1lxjvNv572JHFJIKb4MWBz5OGdBQA0fB0Xluix5rmOby48exiJc987neOmP/m9Fnpkz3Tg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-parameters@7.22.15(@babel/core@7.23.2): - resolution: {integrity: sha512-hjk7qKIqhyzhhUvRT683TYQOFa/4cQKwQy7ALvTpODswN40MljzNDa0YldevS6tGbxwaEKVn502JmY0dP7qEtQ==} + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-methods@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==} + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-property-in-object@7.22.11(@babel/core@7.23.2): - resolution: {integrity: sha512-sSCbqZDBKHetvjSwpyWzhuHkmW5RummxJBVbYLkGkaiTOWGxml7SXt0iWa03bzxFIx7wOj3g/ILRd0RcJKBeSQ==} + /@babel/plugin-transform-private-property-in-object@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-a5m2oLNFyje2e/rGKjVfAELTVI5mbA0FeZpBnkOWWV7eSmKQ+T/XW0Vf+29ScLzSxX+rnsarvU0oie/4m6hkxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.2) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) dev: false - /@babel/plugin-transform-property-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==} + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-regenerator@7.22.10(@babel/core@7.23.2): - resolution: {integrity: sha512-F28b1mDt8KcT5bUyJc/U9nwzw6cV+UmTeRlXYIl2TNqMMJif0Jeey9/RQ3C4NOd2zp0/TRsDns9ttj2L523rsw==} + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==} + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-shorthand-properties@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==} + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-spread@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==} + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==} + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-template-literals@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==} + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typeof-symbol@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==} + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-escapes@7.22.10(@babel/core@7.23.2): - resolution: {integrity: sha512-lRfaRKGZCBqDlRU3UIFovdp9c9mEvlylmpod0/OatICsSfuQ9YFthRo1tpTkGsklEefZdqlEFdY4A2dwTb6ohg==} + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-property-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==} + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==} + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.22.5(@babel/core@7.23.2): - resolution: {integrity: sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==} + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-create-regexp-features-plugin': 7.22.5(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.3) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/preset-env@7.23.2(@babel/core@7.23.2): - resolution: {integrity: sha512-BW3gsuDD+rvHL2VO2SjAUNTBe5YrjsTiDyqamPDWY723na3/yPQ65X5oQkFVJZ0o50/2d+svm1rkPoJeR1KxVQ==} + /@babel/preset-env@7.23.3(@babel/core@7.23.3): + resolution: {integrity: sha512-ovzGc2uuyNfNAs/jyjIGxS8arOHS5FENZaNn4rtE7UdKMMkqHCvboHfcuhWLZNX5cB44QfcGNWjaevxMzzMf+Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.23.2 + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 '@babel/helper-compilation-targets': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.22.15 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.2) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.2) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.2) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.2) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-syntax-import-attributes': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.2) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.2) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.2) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.2) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.2) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.2) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.2) - '@babel/plugin-transform-arrow-functions': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-async-generator-functions': 7.23.2(@babel/core@7.23.2) - '@babel/plugin-transform-async-to-generator': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-block-scoped-functions': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-block-scoping': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-class-properties': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-class-static-block': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-classes': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-computed-properties': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-destructuring': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-dotall-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-duplicate-keys': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-dynamic-import': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-exponentiation-operator': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-export-namespace-from': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-for-of': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-function-name': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-json-strings': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-logical-assignment-operators': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-member-expression-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-modules-amd': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-modules-commonjs': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-modules-systemjs': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-modules-umd': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-new-target': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-nullish-coalescing-operator': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-numeric-separator': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-object-rest-spread': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-object-super': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-optional-catch-binding': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-optional-chaining': 7.23.0(@babel/core@7.23.2) - '@babel/plugin-transform-parameters': 7.22.15(@babel/core@7.23.2) - '@babel/plugin-transform-private-methods': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-private-property-in-object': 7.22.11(@babel/core@7.23.2) - '@babel/plugin-transform-property-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-regenerator': 7.22.10(@babel/core@7.23.2) - '@babel/plugin-transform-reserved-words': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-shorthand-properties': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-spread': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-sticky-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-template-literals': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-typeof-symbol': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-escapes': 7.22.10(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-property-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-regex': 7.22.5(@babel/core@7.23.2) - '@babel/plugin-transform-unicode-sets-regex': 7.22.5(@babel/core@7.23.2) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.2) - '@babel/types': 7.23.0 - babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.2) - babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.23.2) - babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.2) - core-js-compat: 3.31.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.3) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-generator-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-block-scoping': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-class-static-block': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-classes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-dynamic-import': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-export-namespace-from': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-for-of': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-json-strings': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-logical-assignment-operators': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.3) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-numeric-separator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-object-rest-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-catch-binding': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-optional-chaining': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-private-property-in-object': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.3) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.3) + babel-plugin-polyfill-corejs2: 0.4.6(@babel/core@7.23.3) + babel-plugin-polyfill-corejs3: 0.8.5(@babel/core@7.23.3) + babel-plugin-polyfill-regenerator: 0.5.3(@babel/core@7.23.3) + core-js-compat: 3.33.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.2): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.3): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 esutils: 2.0.3 dev: false @@ -2738,28 +2761,28 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 - /@babel/traverse@7.23.2: - resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} + /@babel/traverse@7.23.3: + resolution: {integrity: sha512-+K0yF1/9yR0oHdE0StHuEj3uTPzwwbrLGfNOndVJVV2TqA5+j3oljJUb4nmB954FLGjNem976+B+eDuLIjesiQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.22.13 - '@babel/generator': 7.23.0 + '@babel/generator': 7.23.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.23.0: - resolution: {integrity: sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==} + /@babel/types@7.23.3: + resolution: {integrity: sha512-OZnvoH2l8PK5eUvEcUyCt/sXgr/h+UWpVuBbOljwcrAgUl6lpchoQ++PHGyQy1AtYnVA6CEq3y5xeEI10brpXw==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.22.5 @@ -3485,7 +3508,7 @@ packages: '@rollup/pluginutils': 5.0.5(rollup@4.2.0) astring: 1.8.6 estree-walker: 2.0.2 - fast-glob: 3.3.1 + fast-glob: 3.3.2 magic-string: 0.30.5 rollup: 4.2.0 dev: true @@ -3595,7 +3618,7 @@ packages: rollup: optional: true dependencies: - '@types/estree': 1.0.4 + '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 rollup: 3.29.2 @@ -3731,11 +3754,11 @@ packages: /@tsconfig/node16@1.0.2: resolution: {integrity: sha512-eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==} - /@types/babel__core@7.20.3: - resolution: {integrity: sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==} + /@types/babel__core@7.20.4: + resolution: {integrity: sha512-mLnSC22IC4vcWiuObSRjrLd9XcBTGf59vUSoq2jkQDJ/QQ8PMI9rSuzE+aEV8karUMbskw07bKYoUJCKTUaygg==} dependencies: - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.17.1 @@ -3744,24 +3767,24 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true - /@types/babel__preset-env@7.9.4: - resolution: {integrity: sha512-zszj0sWMq7onvH9rNCsL1pD8MbGhboZ5l6Rmqy0AZHWg3EKGvkBapZTvEB3B2qKwbWkjGh5r6LRnekuS2DDusQ==} + /@types/babel__preset-env@7.9.5: + resolution: {integrity: sha512-MM0iouN2V5gX13rLEdshGVkgm+Ro+qIYHvSEQz9EzjmHfTore9WEXkqH31hne/Q/6CI29XlulNeWL8vjghMZ3w==} dev: true /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 dev: true /@types/babel__traverse@7.17.1: resolution: {integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /@types/braces@3.0.1: @@ -3778,24 +3801,24 @@ packages: resolution: {integrity: sha512-mEo1sAde+UCE6b2hxn332f1g1E8WfYRu6p5SvTKr2ZKC1f7gFJXk4h5PyGP9Dt6gCaG8y8XhwnXWC6Iy2cmBng==} dev: true - /@types/convert-source-map@2.0.2: - resolution: {integrity: sha512-M8jHZquUkvyaHtNVCKNoCqGmbbNFgRJ2JL607SPmcNUWqhU1spBaEJD7qlW3kMiQjKPlyyT4ZUbPG6vO4SYLBg==} + /@types/convert-source-map@2.0.3: + resolution: {integrity: sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==} dev: true - /@types/cross-spawn@6.0.4: - resolution: {integrity: sha512-GGLpeThc2Bu8FBGmVn76ZU3lix17qZensEI4/MPty0aZpm2CHfgEMis31pf5X5EiudYKcPAsWciAsCALoPo5dw==} + /@types/cross-spawn@6.0.5: + resolution: {integrity: sha512-wsIMP68FvGXk+RaWhraz6Xp4v7sl4qwzHAmtPaJEN2NRTXXI9LtFawUpeTsBNL/pd6QoLStdytCaAyiK7AEd/Q==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true - /@types/debug@4.1.10: - resolution: {integrity: sha512-tOSCru6s732pofZ+sMv9o4o3Zc+Sa8l3bxd/tweTQudFn06vAzb13ZX46Zi6m6EJ+RUbRTHvgQJ1gBtSgkaUYA==} + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: '@types/ms': 0.7.31 dev: true - /@types/escape-html@1.0.3: - resolution: {integrity: sha512-QbNxKa2IX2y/9eGiy4w8rrwk//ERHXA6zwYVRA3+ayA/D3pkz+/bLL4b5uSLA0L0kPuNX1Jbv9HyPzv9T4zbJQ==} + /@types/escape-html@1.0.4: + resolution: {integrity: sha512-qZ72SFTgUAZ5a7Tj6kf2SHLetiH5S6f8G5frB2SPQ3EyF02kxdyBFf4Tz4banE3xCgGnKgWLt//a6VuYHKYJTg==} dev: true /@types/estree@1.0.0: @@ -3810,29 +3833,29 @@ packages: resolution: {integrity: sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==} dev: true - /@types/estree@1.0.4: - resolution: {integrity: sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==} + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@types/etag@1.8.2: - resolution: {integrity: sha512-z8Pbo2e+EZWMpuRPYSjhSivp2OEkqrMZBUfEAWlJC31WUCKveZ8ioWXHAC5BXRZfwxCBfYRhPij1YJHK1W6oDA==} + /@types/etag@1.8.3: + resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true - /@types/fs-extra@11.0.3: - resolution: {integrity: sha512-sF59BlXtUdzEAL1u0MSvuzWd7PdZvZEtnaVkzX5mjpdWTJ8brG0jUqve3jPCzSzvAKKMHTG8F8o/WMQLtleZdQ==} + /@types/fs-extra@11.0.4: + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true /@types/json-schema@7.0.12: resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} dev: true - /@types/json-stable-stringify@1.0.35: - resolution: {integrity: sha512-zlCWqsRBI0+ANN7dzGeDFJ4CHaVFTLqBNRS11GjR2mHCW6XxNtnMxhQzBKMzfsnjI8oI+kWq2vBwinyQpZVSsg==} + /@types/json-stable-stringify@1.0.36: + resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} dev: true /@types/json5@0.0.29: @@ -3842,19 +3865,19 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true - /@types/less@3.0.5: - resolution: {integrity: sha512-OdhItUN0/Cx9+sWumdb3dxASoA0yStnZahvKcaSQmSR5qd7hZ6zhSriSQGUU3F8GkzFpIILKzut4xn9/GvhusA==} + /@types/less@3.0.6: + resolution: {integrity: sha512-PecSzorDGdabF57OBeQO/xFbAkYWo88g4Xvnsx7LRwqLC17I7OoKtA3bQB9uXkY6UkMWCOsA8HSVpaoitscdXw==} dev: true /@types/linkify-it@3.0.3: resolution: {integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==} dev: true - /@types/lodash@4.14.200: - resolution: {integrity: sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==} + /@types/lodash@4.14.201: + resolution: {integrity: sha512-y9euML0cim1JrykNxADLfaG0FgD1g/yTHwUs/Jg9ZIU7WKj2/4IW9Lbb1WZbvck78W/lfGXFfe+u2EGfIJXdLQ==} dev: true /@types/markdown-it@13.0.5: @@ -3868,28 +3891,22 @@ packages: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} dev: true - /@types/micromatch@4.0.4: - resolution: {integrity: sha512-ZeDgs/tFSdUqkAZmgdnu5enRwFXJ+nIF4TxK5ENw6x0bvfcgMD1H3GnTS+fIkBUcvijQNF7ZOa2tuOtOaEjt3w==} + /@types/micromatch@4.0.5: + resolution: {integrity: sha512-B1o0zVdb9GsbKT4Fucy3oeG9G1qy/TOHrYM+NsEPazT+ktsGXOJSb1+Bg9hP7BH14Bv4dd5m7r+FohwXkY/39A==} dependencies: '@types/braces': 3.0.1 dev: true - /@types/minimist@1.2.4: - resolution: {integrity: sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==} + /@types/minimist@1.2.5: + resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true /@types/ms@0.7.31: resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} dev: true - /@types/node@18.18.7: - resolution: {integrity: sha512-bw+lEsxis6eqJYW8Ql6+yTqkE6RuFtsQPSe5JxXbqYRFQEER5aJA9a5UH9igqDWm3X4iLHIKOHlnAXLM4mi7uQ==} - dependencies: - undici-types: 5.26.5 - dev: true - - /@types/node@20.8.10: - resolution: {integrity: sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==} + /@types/node@20.9.0: + resolution: {integrity: sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==} dependencies: undici-types: 5.26.5 @@ -3897,18 +3914,18 @@ packages: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/picomatch@2.3.2: - resolution: {integrity: sha512-I+BytjxOlNYA285zP/3dVCRcE+OAvgHQZQt26MP7T7JbZ9DM/3W2WfViU1XuLypCzAx8PTC+MlYO3WLqjTyZ3g==} + /@types/picomatch@2.3.3: + resolution: {integrity: sha512-Yll76ZHikRFCyz/pffKGjrCwe/le2CDwOP5F210KQo27kpRE46U2rDnzikNlVn6/ezH3Mhn46bJMTfeVTtcYMg==} dev: true - /@types/pnpapi@0.0.4: - resolution: {integrity: sha512-GWOPbNkJcIjb+CM2tyWI1/dwVq3pO7w+OEnjkYEIX09U7K3xkuZ2+/2JXjaeLc8uAHp2F/V2fsdRlKKvVjdXAg==} + /@types/pnpapi@0.0.5: + resolution: {integrity: sha512-tjymquatF9seZGE3GcN1barqNqpmyEpqIN0rBKTcoZWwgDC0SgBp5LFqCRJE6YhzXA7TjpXbpTdcL5A8cwyryw==} dev: true - /@types/prompts@2.4.7: - resolution: {integrity: sha512-5zTamE+QQM4nR6Ab3yHK+ovWuhLJXaa2ZLt3mT1en8U3ubWtjVT1vXDaVFC2+cL89uVn7Y+gIq5B3IcVvBl5xQ==} + /@types/prompts@2.4.8: + resolution: {integrity: sha512-fPOEzviubkEVCiLduO45h+zFHB0RZX8tFt3C783sO5cT7fUXf3EEECpD26djtYdh4Isa9Z9tasMQuZnYPtvYzw==} dependencies: - '@types/node': 18.18.7 + '@types/node': 20.9.0 kleur: 3.0.3 dev: true @@ -3919,31 +3936,31 @@ packages: /@types/sass@1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true /@types/semver@7.5.0: resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} dev: true - /@types/stylus@0.48.41: - resolution: {integrity: sha512-u0BzfnIgn/0I1YpAJGhkj9lUTLeiuiDXYOagXwe2aAsX8OKDFEWP6vqMMPxy4leQeX45LNDdCEjDJkuRxPCv7A==} + /@types/stylus@0.48.42: + resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true /@types/web-bluetooth@0.0.18: resolution: {integrity: sha512-v/ZHEj9xh82usl8LMR3GarzFY1IrbXJw5L4QfQhokjRV91q+SelFqxQWSep1ucXEZ22+dSTwLFkXeur25sPIbw==} dev: true - /@types/ws@8.5.8: - resolution: {integrity: sha512-flUksGIQCnJd6sZ1l5dqCEG/ksaoAg/eUwiLAGTJQcfgvZJKF++Ta4bJA6A5aPSJmsr+xlseHn4KLgVlNnvPTg==} + /@types/ws@8.5.9: + resolution: {integrity: sha512-jbdrY0a8lxfdTp/+r7Z4CkycbOFN8WX+IOchLJr3juT/xzbJ8URyTVSJ/hvNdadTgM1mnedb47n+Y31GsFnQlg==} dependencies: - '@types/node': 20.8.10 + '@types/node': 20.9.0 dev: true - /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} + /@typescript-eslint/eslint-plugin@6.10.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-uoLj4g2OTL8rfUQVx2AFO1hp/zja1wABJq77P6IclQs6I/m9GLrm7jCdgzZkvWdDCQf1uEvoa8s8CupsgWQgVg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -3954,11 +3971,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/type-utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.10.0 + '@typescript-eslint/type-utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 eslint: 8.53.0 graphemer: 1.4.0 @@ -3971,8 +3988,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.9.1(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} + /@typescript-eslint/parser@6.10.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-+sZwIj+s+io9ozSxIWbNB5873OSdfeBEH/FR0re14WLI6BaKuSOnnwCJ2foUiu8uXf4dRp1UqHP0vrZ1zXGrog==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -3981,10 +3998,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/scope-manager': 6.10.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 eslint: 8.53.0 typescript: 5.2.2 @@ -3992,16 +4009,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.9.1: - resolution: {integrity: sha512-38IxvKB6NAne3g/+MyXMs2Cda/Sz+CEpmm+KLGEM8hx/CvnSRuw51i8ukfwB/B/sESdeTGet1NH1Wj7I0YXswg==} + /@typescript-eslint/scope-manager@6.10.0: + resolution: {integrity: sha512-TN/plV7dzqqC2iPNf1KrxozDgZs53Gfgg5ZHyw8erd6jd5Ta/JIEcdCheXFt9b1NYb93a1wmIIVW/2gLkombDg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/visitor-keys': 6.10.0 dev: true - /@typescript-eslint/type-utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} + /@typescript-eslint/type-utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-wYpPs3hgTFblMYwbYWPT3eZtaDOjbLyIYuqpwuLBBqhLiuvJ+9sEp2gNRJEtR5N/c9G1uTtQQL5AhV0fEPJYcg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4010,8 +4027,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) - '@typescript-eslint/utils': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.10.0(eslint@8.53.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.53.0 ts-api-utils: 1.0.1(typescript@5.2.2) @@ -4020,13 +4037,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.9.1: - resolution: {integrity: sha512-BUGslGOb14zUHOUmDB2FfT6SI1CcZEJYfF3qFwBeUrU6srJfzANonwRYHDpLBuzbq3HaoF2XL2hcr01c8f8OaQ==} + /@typescript-eslint/types@6.10.0: + resolution: {integrity: sha512-36Fq1PWh9dusgo3vH7qmQAj5/AZqARky1Wi6WpINxB6SkQdY5vQoT2/7rW7uBIsPDcvvGCLi4r10p0OJ7ITAeg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.9.1(typescript@5.2.2): - resolution: {integrity: sha512-U+mUylTHfcqeO7mLWVQ5W/tMLXqVpRv61wm9ZtfE5egz7gtnmqVIw9ryh0mgIlkKk9rZLY3UHygsBSdB9/ftyw==} + /@typescript-eslint/typescript-estree@6.10.0(typescript@5.2.2): + resolution: {integrity: sha512-ek0Eyuy6P15LJVeghbWhSrBCj/vJpPXXR+EpaRZqou7achUWL8IdYnMSC5WHAeTWswYQuP2hAZgij/bC9fanBg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4034,8 +4051,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/visitor-keys': 6.9.1 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/visitor-keys': 6.10.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4046,8 +4063,8 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): - resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} + /@typescript-eslint/utils@6.10.0(eslint@8.53.0)(typescript@5.2.2): + resolution: {integrity: sha512-v+pJ1/RcVyRc0o4wAGux9x42RHmAjIGzPRo538Z8M1tVx6HOnoQBCX/NoadHQlZeC+QO2yr4nNSFWOoraZCAyg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4055,9 +4072,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.53.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.0 - '@typescript-eslint/scope-manager': 6.9.1 - '@typescript-eslint/types': 6.9.1 - '@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.10.0 + '@typescript-eslint/types': 6.10.0 + '@typescript-eslint/typescript-estree': 6.10.0(typescript@5.2.2) eslint: 8.53.0 semver: 7.5.4 transitivePeerDependencies: @@ -4065,11 +4082,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.9.1: - resolution: {integrity: sha512-MUaPUe/QRLEffARsmNfmpghuQkW436DvESW+h+M52w0coICHRfD6Np9/K6PdACwnrq1HmuLl+cSPZaJmeVPkSw==} + /@typescript-eslint/visitor-keys@6.10.0: + resolution: {integrity: sha512-xMGluxQIEtOM7bqFCo+rCMh5fqI+ZxV5RUUOa29iVPz1OgCZrtc7rFnz5cLUazlkPKYqX+75iuDq7m0HQ48nCg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.9.1 + '@typescript-eslint/types': 6.10.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4077,7 +4094,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@4.3.1(vite@packages+vite)(vue@3.3.7): + /@vitejs/plugin-vue@4.3.1(vite@packages+vite)(vue@3.3.8): resolution: {integrity: sha512-tUBEtWcF7wFtII7ayNiLNDTCE1X1afySEo+XNVMNkFXaThENyCowIEX095QqbJZGTgoOcSVDJGlnde2NG4jtbQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4085,7 +4102,7 @@ packages: vue: ^3.2.25 dependencies: vite: link:packages/vite - vue: 3.3.7(typescript@5.2.2) + vue: 3.3.8(typescript@5.2.2) dev: true /@vitejs/release-scripts@1.3.1: @@ -4140,18 +4157,18 @@ packages: /@vue/compiler-core@3.2.0: resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} dependencies: - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 '@vue/shared': 3.2.0 estree-walker: 2.0.2 source-map: 0.6.1 dev: true - /@vue/compiler-core@3.3.7: - resolution: {integrity: sha512-pACdY6YnTNVLXsB86YD8OF9ihwpolzhhtdLVHhBL6do/ykr6kKXNYABRtNMGrsQXpEXXyAdwvWWkuTbs4MFtPQ==} + /@vue/compiler-core@3.3.8: + resolution: {integrity: sha512-hN/NNBUECw8SusQvDSqqcVv6gWq8L6iAktUR0UF3vGu2OhzRqcOiAno0FmBJWwxhYEXRlQJT5XnoKsVq1WZx4g==} dependencies: - '@babel/parser': 7.23.0 - '@vue/shared': 3.3.7 + '@babel/parser': 7.23.3 + '@vue/shared': 3.3.8 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -4162,31 +4179,31 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/compiler-dom@3.3.7: - resolution: {integrity: sha512-0LwkyJjnUPssXv/d1vNJ0PKfBlDoQs7n81CbO6Q0zdL7H1EzqYRrTVXDqdBVqro0aJjo/FOa1qBAPVI4PGSHBw==} + /@vue/compiler-dom@3.3.8: + resolution: {integrity: sha512-+PPtv+p/nWDd0AvJu3w8HS0RIm/C6VGBIRe24b9hSyNWOAPEUosFZ5diwawwP8ip5sJ8n0Pe87TNNNHnvjs0FQ==} dependencies: - '@vue/compiler-core': 3.3.7 - '@vue/shared': 3.3.7 + '@vue/compiler-core': 3.3.8 + '@vue/shared': 3.3.8 - /@vue/compiler-sfc@3.3.7: - resolution: {integrity: sha512-7pfldWy/J75U/ZyYIXRVqvLRw3vmfxDo2YLMwVtWVNew8Sm8d6wodM+OYFq4ll/UxfqVr0XKiVwti32PCrruAw==} + /@vue/compiler-sfc@3.3.8: + resolution: {integrity: sha512-WMzbUrlTjfYF8joyT84HfwwXo+8WPALuPxhy+BZ6R4Aafls+jDBnSz8PDz60uFhuqFbl3HxRfxvDzrUf3THwpA==} dependencies: - '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.7 - '@vue/compiler-dom': 3.3.7 - '@vue/compiler-ssr': 3.3.7 - '@vue/reactivity-transform': 3.3.7 - '@vue/shared': 3.3.7 + '@babel/parser': 7.23.3 + '@vue/compiler-core': 3.3.8 + '@vue/compiler-dom': 3.3.8 + '@vue/compiler-ssr': 3.3.8 + '@vue/reactivity-transform': 3.3.8 + '@vue/shared': 3.3.8 estree-walker: 2.0.2 magic-string: 0.30.5 postcss: 8.4.31 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.3.7: - resolution: {integrity: sha512-TxOfNVVeH3zgBc82kcUv+emNHo+vKnlRrkv8YvQU5+Y5LJGJwSNzcmLUoxD/dNzv0bhQ/F0s+InlgV0NrApJZg==} + /@vue/compiler-ssr@3.3.8: + resolution: {integrity: sha512-hXCqQL/15kMVDBuoBYpUnSYT8doDNwsjvm3jTefnXr+ytn294ySnT8NlsFHmTgKNjwpuFy7XVV8yTeLtNl/P6w==} dependencies: - '@vue/compiler-dom': 3.3.7 - '@vue/shared': 3.3.7 + '@vue/compiler-dom': 3.3.8 + '@vue/shared': 3.3.8 /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4196,12 +4213,12 @@ packages: resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} dev: true - /@vue/reactivity-transform@3.3.7: - resolution: {integrity: sha512-APhRmLVbgE1VPGtoLQoWBJEaQk4V8JUsqrQihImVqKT+8U6Qi3t5ATcg4Y9wGAPb3kIhetpufyZ1RhwbZCIdDA==} + /@vue/reactivity-transform@3.3.8: + resolution: {integrity: sha512-49CvBzmZNtcHua0XJ7GdGifM8GOXoUMOX4dD40Y5DxI3R8OUhMlvf2nvgUAcPxaXiV5MQQ1Nwy09ADpnLQUqRw==} dependencies: - '@babel/parser': 7.23.0 - '@vue/compiler-core': 3.3.7 - '@vue/shared': 3.3.7 + '@babel/parser': 7.23.3 + '@vue/compiler-core': 3.3.8 + '@vue/shared': 3.3.8 estree-walker: 2.0.2 magic-string: 0.30.5 @@ -4211,10 +4228,10 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/reactivity@3.3.7: - resolution: {integrity: sha512-cZNVjWiw00708WqT0zRpyAgduG79dScKEPYJXq2xj/aMtk3SKvL3FBt2QKUlh6EHBJ1m8RhBY+ikBUzwc7/khg==} + /@vue/reactivity@3.3.8: + resolution: {integrity: sha512-ctLWitmFBu6mtddPyOKpHg8+5ahouoTCRtmAHZAXmolDtuZXfjL2T3OJ6DL6ezBPQB1SmMnpzjiWjCiMYmpIuw==} dependencies: - '@vue/shared': 3.3.7 + '@vue/shared': 3.3.8 /@vue/runtime-core@3.2.0: resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} @@ -4223,11 +4240,11 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/runtime-core@3.3.7: - resolution: {integrity: sha512-LHq9du3ubLZFdK/BP0Ysy3zhHqRfBn80Uc+T5Hz3maFJBGhci1MafccnL3rpd5/3wVfRHAe6c+PnlO2PAavPTQ==} + /@vue/runtime-core@3.3.8: + resolution: {integrity: sha512-qurzOlb6q26KWQ/8IShHkMDOuJkQnQcTIp1sdP4I9MbCf9FJeGVRXJFr2mF+6bXh/3Zjr9TDgURXrsCr9bfjUw==} dependencies: - '@vue/reactivity': 3.3.7 - '@vue/shared': 3.3.7 + '@vue/reactivity': 3.3.8 + '@vue/shared': 3.3.8 /@vue/runtime-dom@3.2.0: resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} @@ -4237,42 +4254,42 @@ packages: csstype: 2.6.21 dev: true - /@vue/runtime-dom@3.3.7: - resolution: {integrity: sha512-PFQU1oeJxikdDmrfoNQay5nD4tcPNYixUBruZzVX/l0eyZvFKElZUjW4KctCcs52nnpMGO6UDK+jF5oV4GT5Lw==} + /@vue/runtime-dom@3.3.8: + resolution: {integrity: sha512-Noy5yM5UIf9UeFoowBVgghyGGPIDPy1Qlqt0yVsUdAVbqI8eeMSsTqBtauaEoT2UFXUk5S64aWVNJN4MJ2vRdA==} dependencies: - '@vue/runtime-core': 3.3.7 - '@vue/shared': 3.3.7 + '@vue/runtime-core': 3.3.8 + '@vue/shared': 3.3.8 csstype: 3.1.2 - /@vue/server-renderer@3.3.7(vue@3.3.7): - resolution: {integrity: sha512-UlpKDInd1hIZiNuVVVvLgxpfnSouxKQOSE2bOfQpBuGwxRV/JqqTCyyjXUWiwtVMyeRaZhOYYqntxElk8FhBhw==} + /@vue/server-renderer@3.3.8(vue@3.3.8): + resolution: {integrity: sha512-zVCUw7RFskvPuNlPn/8xISbrf0zTWsTSdYTsUTN1ERGGZGVnRxM2QZ3x1OR32+vwkkCm0IW6HmJ49IsPm7ilLg==} peerDependencies: - vue: 3.3.7 + vue: 3.3.8 dependencies: - '@vue/compiler-ssr': 3.3.7 - '@vue/shared': 3.3.7 - vue: 3.3.7(typescript@5.2.2) + '@vue/compiler-ssr': 3.3.8 + '@vue/shared': 3.3.8 + vue: 3.3.8(typescript@5.2.2) /@vue/shared@3.2.0: resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} dev: true - /@vue/shared@3.3.7: - resolution: {integrity: sha512-N/tbkINRUDExgcPTBvxNkvHGu504k8lzlNQRITVnm6YjOjwa4r0nnbd4Jb01sNpur5hAllyRJzSK5PvB9PPwRg==} + /@vue/shared@3.3.8: + resolution: {integrity: sha512-8PGwybFwM4x8pcfgqEQFy70NaQxASvOC5DJwLQfpArw1UDfUXrJkdxD3BhVTMS+0Lef/TU7YO0Jvr0jJY8T+mw==} - /@vueuse/core@10.5.0(vue@3.3.7): + /@vueuse/core@10.5.0(vue@3.3.8): resolution: {integrity: sha512-z/tI2eSvxwLRjOhDm0h/SXAjNm8N5ld6/SC/JQs6o6kpJ6Ya50LnEL8g5hoYu005i28L0zqB5L5yAl8Jl26K3A==} dependencies: '@types/web-bluetooth': 0.0.18 '@vueuse/metadata': 10.5.0 - '@vueuse/shared': 10.5.0(vue@3.3.7) - vue-demi: 0.14.6(vue@3.3.7) + '@vueuse/shared': 10.5.0(vue@3.3.8) + vue-demi: 0.14.6(vue@3.3.8) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.5.0(focus-trap@7.5.4)(vue@3.3.7): + /@vueuse/integrations@10.5.0(focus-trap@7.5.4)(vue@3.3.8): resolution: {integrity: sha512-fm5sXLCK0Ww3rRnzqnCQRmfjDURaI4xMsx+T+cec0ngQqHx/JgUtm8G0vRjwtonIeTBsH1Q8L3SucE+7K7upJQ==} peerDependencies: async-validator: '*' @@ -4313,10 +4330,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.5.0(vue@3.3.7) - '@vueuse/shared': 10.5.0(vue@3.3.7) + '@vueuse/core': 10.5.0(vue@3.3.8) + '@vueuse/shared': 10.5.0(vue@3.3.8) focus-trap: 7.5.4 - vue-demi: 0.14.6(vue@3.3.7) + vue-demi: 0.14.6(vue@3.3.8) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4326,10 +4343,10 @@ packages: resolution: {integrity: sha512-fEbElR+MaIYyCkeM0SzWkdoMtOpIwO72x8WsZHRE7IggiOlILttqttM69AS13nrDxosnDBYdyy3C5mR1LCxHsw==} dev: true - /@vueuse/shared@10.5.0(vue@3.3.7): + /@vueuse/shared@10.5.0(vue@3.3.8): resolution: {integrity: sha512-18iyxbbHYLst9MqU1X1QNdMHIjks6wC7XTVf0KNOv5es/Ms6gjVFCAAWTVP2JStuGqydg3DT+ExpFORUEi9yhg==} dependencies: - vue-demi: 0.14.6(vue@3.3.7) + vue-demi: 0.14.6(vue@3.3.8) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4631,8 +4648,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /axios@1.6.0: - resolution: {integrity: sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==} + /axios@1.6.1: + resolution: {integrity: sha512-vfBmhDpKafglh0EldBEbVuoe7DyAavGSLWhuSm5ZSEKQnHhBf0xAAwybbNH1IkrJNGnS/VG4I5yxig1pCEXE4g==} dependencies: follow-redirects: 1.15.0(debug@4.3.4) form-data: 4.0.0 @@ -4641,38 +4658,38 @@ packages: - debug dev: false - /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.2): + /babel-plugin-polyfill-corejs2@0.4.6(@babel/core@7.23.3): resolution: {integrity: sha512-jhHiWVZIlnPbEUKSSNb9YoWcQGdlTLq7z1GHL4AjFxaoOUMuuEVJ+Y4pAaQUGOGk93YsVCKPbqbfw3m0SM6H8Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.2 - '@babel/core': 7.23.2 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) + '@babel/compat-data': 7.23.3 + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.23.2): + /babel-plugin-polyfill-corejs3@0.8.5(@babel/core@7.23.3): resolution: {integrity: sha512-Q6CdATeAvbScWPNLB8lzSO7fgUVBkQt6zLgNlfyeCr/EQaEQR+bWiBYYPYAFyE528BMjRhL+1QBMOI4jc/c5TA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) core-js-compat: 3.33.0 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.2): + /babel-plugin-polyfill-regenerator@0.5.3(@babel/core@7.23.3): resolution: {integrity: sha512-8sHeDOmXC8csczMrYEOf0UTNa4yE2SxV5JGeT/LP1n0OYVDUUFPxG9vdk2AlDlIit4t+Kf0xCtpgXPBwnn/9pw==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.2 - '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.2) + '@babel/core': 7.23.3 + '@babel/helper-define-polyfill-provider': 0.4.3(@babel/core@7.23.3) transitivePeerDependencies: - supports-color dev: false @@ -4681,7 +4698,7 @@ packages: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 dev: true /balanced-match@1.0.2: @@ -5032,8 +5049,8 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 dev: true /content-disposition@0.5.4: @@ -5196,12 +5213,6 @@ packages: is-what: 3.14.1 dev: true - /core-js-compat@3.31.0: - resolution: {integrity: sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==} - dependencies: - browserslist: 4.22.1 - dev: false - /core-js-compat@3.33.0: resolution: {integrity: sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==} dependencies: @@ -5532,8 +5543,8 @@ packages: which-typed-array: 1.1.11 dev: true - /es-module-lexer@1.4.0: - resolution: {integrity: sha512-lcCr3v3OLezdfFyx9r5NRYHOUTQNnFEQ9E87Mx8Kc+iqyJNkO7MJoB4GQRTlIMw9kLLTwGw0OAkm4BQQud/d9g==} + /es-module-lexer@1.4.1: + resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} dev: true /es-set-tostringtag@2.0.1: @@ -5676,7 +5687,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5697,7 +5708,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 @@ -5716,7 +5727,7 @@ packages: eslint: 8.53.0 dev: true - /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.9.1)(eslint@8.53.0): + /eslint-plugin-import@2.29.0(@typescript-eslint/parser@6.10.0)(eslint@8.53.0): resolution: {integrity: sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==} engines: {node: '>=4'} peerDependencies: @@ -5726,7 +5737,7 @@ packages: '@typescript-eslint/parser': optional: true dependencies: - '@typescript-eslint/parser': 6.9.1(eslint@8.53.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.10.0(eslint@8.53.0)(typescript@5.2.2) array-includes: 3.1.7 array.prototype.findlastindex: 1.2.3 array.prototype.flat: 1.3.2 @@ -5735,7 +5746,7 @@ packages: doctrine: 2.1.0 eslint: 8.53.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.9.1)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.10.0)(eslint-import-resolver-node@0.3.9)(eslint@8.53.0) hasown: 2.0.0 is-core-module: 2.13.1 is-glob: 4.0.3 @@ -5751,8 +5762,8 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.2.0(eslint@8.53.0): - resolution: {integrity: sha512-AQER2jEyQOt1LG6JkGJCCIFotzmlcCZFur2wdKrp1JX2cNotC7Ae0BcD/4lLv3lUAArM9uNS8z/fsvXTd0L71g==} + /eslint-plugin-n@16.3.1(eslint@8.53.0): + resolution: {integrity: sha512-w46eDIkxQ2FaTHcey7G40eD+FhTXOdKudDXPUO2n9WNcslze/i/HT2qJ3GXjHngYSGDISIgPNhwGtgoix4zeOw==} engines: {node: '>=16.0.0'} peerDependencies: eslint: '>=7.0.0' @@ -5763,7 +5774,8 @@ packages: eslint-plugin-es-x: 7.2.0(eslint@8.53.0) get-tsconfig: 4.7.2 ignore: 5.2.4 - is-core-module: 2.13.0 + is-builtin-module: 3.2.1 + is-core-module: 2.13.1 minimatch: 3.1.2 resolve: 1.22.4 semver: 7.5.4 @@ -5966,8 +5978,8 @@ packages: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true - /fast-glob@3.3.1: - resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6379,7 +6391,7 @@ packages: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.2 ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 @@ -6390,7 +6402,7 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 - fast-glob: 3.3.1 + fast-glob: 3.3.2 ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 @@ -6784,13 +6796,13 @@ packages: /is-reference@1.2.1: resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} dependencies: - '@types/estree': 1.0.4 + '@types/estree': 1.0.5 dev: true /is-reference@3.0.2: resolution: {integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==} dependencies: - '@types/estree': 1.0.4 + '@types/estree': 1.0.5 dev: true /is-regex@1.1.4: @@ -7049,8 +7061,8 @@ packages: type-check: 0.4.0 dev: true - /lightningcss-darwin-arm64@1.22.0: - resolution: {integrity: sha512-aH2be3nNny+It5YEVm8tBSSdRlBVWQV8m2oJ7dESiYRzyY/E/bQUe2xlw5caaMuhlM9aoTMtOH25yzMhir0qPg==} + /lightningcss-darwin-arm64@1.22.1: + resolution: {integrity: sha512-ldvElu+R0QimNTjsKpaZkUv3zf+uefzLy/R1R19jtgOfSRM+zjUCUgDhfEDRmVqJtMwYsdhMI2aJtJChPC6Osg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] @@ -7058,8 +7070,8 @@ packages: dev: true optional: true - /lightningcss-darwin-x64@1.22.0: - resolution: {integrity: sha512-9KHRFA0Y6mNxRHeoQMp0YaI0R0O2kOgUlYPRjuasU4d+pI8NRhVn9bt0yX9VPs5ibWX1RbDViSPtGJvYYrfVAQ==} + /lightningcss-darwin-x64@1.22.1: + resolution: {integrity: sha512-5p2rnlVTv6Gpw4PlTLq925nTVh+HFh4MpegX8dPDYJae+NFVjQ67gY7O6iHIzQjLipDiYejFF0yHrhjU3XgLBQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] @@ -7067,8 +7079,8 @@ packages: dev: true optional: true - /lightningcss-freebsd-x64@1.22.0: - resolution: {integrity: sha512-xaYL3xperGwD85rQioDb52ozF3NAJb+9wrge3jD9lxGffplu0Mn35rXMptB8Uc2N9Mw1i3Bvl7+z1evlqVl7ww==} + /lightningcss-freebsd-x64@1.22.1: + resolution: {integrity: sha512-1FaBtcFrZqB2hkFbAxY//Pnp8koThvyB6AhjbdVqKD4/pu13Rl91fKt2N9qyeQPUt3xy7ORUvSO+dPk3J6EjXg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] @@ -7076,8 +7088,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm-gnueabihf@1.22.0: - resolution: {integrity: sha512-epQGvXIjOuxrZpMpMnRjK54ZqzhiHhCPLtHvw2fb6NeK2kK9YtF0wqmeTBiQ1AkbWfnnXGTstYaFNiadNK+StQ==} + /lightningcss-linux-arm-gnueabihf@1.22.1: + resolution: {integrity: sha512-6rub98tYGfE5I5j0BP8t/2d4BZyu1S7Iz9vUkm0H26snAFHYxLfj3RbQn0xHHIePSetjLnhcg3QlfwUAkD/FYg==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] @@ -7085,8 +7097,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm64-gnu@1.22.0: - resolution: {integrity: sha512-AArGtKSY4DGTA8xP8SDyNyKtpsUl1Rzq6FW4JomeyUQ4nBrR71uPChksTpj3gmWuGhZeRKLeCUI1DBid/zhChg==} + /lightningcss-linux-arm64-gnu@1.22.1: + resolution: {integrity: sha512-nYO5qGtb/1kkTZu3FeTiM+2B2TAb7m2DkLCTgQIs2bk2o9aEs7I96fwySKcoHWQAiQDGR9sMux9vkV4KQXqPaQ==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -7094,8 +7106,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm64-musl@1.22.0: - resolution: {integrity: sha512-RRraNgP8hnBPhInTTUdlFm+z16C/ghbxBG51Sw00hd7HUyKmEUKRozyc5od+/N6pOrX/bIh5vIbtMXIxsos0lg==} + /lightningcss-linux-arm64-musl@1.22.1: + resolution: {integrity: sha512-MCV6RuRpzXbunvzwY644iz8cw4oQxvW7oer9xPkdadYqlEyiJJ6wl7FyJOH7Q6ZYH4yjGAUCvxDBxPbnDu9ZVg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -7103,8 +7115,8 @@ packages: dev: true optional: true - /lightningcss-linux-x64-gnu@1.22.0: - resolution: {integrity: sha512-grdrhYGRi2KrR+bsXJVI0myRADqyA7ekprGxiuK5QRNkv7kj3Yq1fERDNyzZvjisHwKUi29sYMClscbtl+/Zpw==} + /lightningcss-linux-x64-gnu@1.22.1: + resolution: {integrity: sha512-RjNgpdM20VUXgV7us/VmlO3Vn2ZRiDnc3/bUxCVvySZWPiVPprpqW/QDWuzkGa+NCUf6saAM5CLsZLSxncXJwg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -7112,8 +7124,8 @@ packages: dev: true optional: true - /lightningcss-linux-x64-musl@1.22.0: - resolution: {integrity: sha512-t5f90X+iQUtIyR56oXIHMBUyQFX/zwmPt72E6Dane3P8KNGlkijTg2I75XVQS860gNoEFzV7Mm5ArRRA7u5CAQ==} + /lightningcss-linux-x64-musl@1.22.1: + resolution: {integrity: sha512-ZgO4C7Rd6Hv/5MnyY2KxOYmIlzk4rplVolDt3NbkNR8DndnyX0Q5IR4acJWNTBICQ21j3zySzKbcJaiJpk/4YA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -7121,8 +7133,8 @@ packages: dev: true optional: true - /lightningcss-win32-x64-msvc@1.22.0: - resolution: {integrity: sha512-64HTDtOOZE9PUCZJiZZQpyqXBbdby1lnztBccnqh+NtbKxjnGzP92R2ngcgeuqMPecMNqNWxgoWgTGpC+yN5Sw==} + /lightningcss-win32-x64-msvc@1.22.1: + resolution: {integrity: sha512-4pozV4eyD0MDET41ZLHAeBo+H04Nm2UEYIk5w/ts40231dRFV7E0cjwbnZvSoc1DXFgecAhiC0L16ruv/ZDCpg==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] @@ -7130,21 +7142,21 @@ packages: dev: true optional: true - /lightningcss@1.22.0: - resolution: {integrity: sha512-+z0qvwRVzs4XGRXelnWRNwqsXUx8k3bSkbP8vD42kYKSk3z9OM2P3e/gagT7ei/gwh8DTS80LZOFZV6lm8Z8Fg==} + /lightningcss@1.22.1: + resolution: {integrity: sha512-Fy45PhibiNXkm0cK5FJCbfO8Y6jUpD/YcHf/BtuI+jvYYqSXKF4muk61jjE8YxCR9y+hDYIWSzHTc+bwhDE6rQ==} engines: {node: '>= 12.0.0'} dependencies: detect-libc: 1.0.3 optionalDependencies: - lightningcss-darwin-arm64: 1.22.0 - lightningcss-darwin-x64: 1.22.0 - lightningcss-freebsd-x64: 1.22.0 - lightningcss-linux-arm-gnueabihf: 1.22.0 - lightningcss-linux-arm64-gnu: 1.22.0 - lightningcss-linux-arm64-musl: 1.22.0 - lightningcss-linux-x64-gnu: 1.22.0 - lightningcss-linux-x64-musl: 1.22.0 - lightningcss-win32-x64-msvc: 1.22.0 + lightningcss-darwin-arm64: 1.22.1 + lightningcss-darwin-x64: 1.22.1 + lightningcss-freebsd-x64: 1.22.1 + lightningcss-linux-arm-gnueabihf: 1.22.1 + lightningcss-linux-arm64-gnu: 1.22.1 + lightningcss-linux-arm64-musl: 1.22.1 + lightningcss-linux-x64-gnu: 1.22.1 + lightningcss-linux-x64-musl: 1.22.1 + lightningcss-win32-x64-msvc: 1.22.1 dev: true /lilconfig@2.0.5: @@ -7163,8 +7175,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lint-staged@15.0.2: - resolution: {integrity: sha512-vnEy7pFTHyVuDmCAIFKR5QDO8XLVlPFQQyujQ/STOxe40ICWqJ6knS2wSJ/ffX/Lw0rz83luRDh+ET7toN+rOw==} + /lint-staged@15.1.0: + resolution: {integrity: sha512-ZPKXWHVlL7uwVpy8OZ7YQjYDAuO5X4kMh0XgZvPNxLcCCngd0PO5jKQyy3+s4TL2EnHoIXIzP1422f/l3nZKMw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -7177,7 +7189,7 @@ packages: micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 - yaml: 2.3.3 + yaml: 2.3.4 transitivePeerDependencies: - supports-color dev: true @@ -7375,7 +7387,7 @@ packages: resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} engines: {node: '>=10'} dependencies: - '@types/minimist': 1.2.4 + '@types/minimist': 1.2.5 camelcase-keys: 6.2.2 decamelize-keys: 1.1.0 hard-rejection: 2.1.0 @@ -7693,7 +7705,7 @@ packages: engines: {node: '>=10'} dependencies: hosted-git-info: 4.1.0 - is-core-module: 2.13.0 + is-core-module: 2.13.1 semver: 7.5.4 validate-npm-package-license: 3.0.4 dev: true @@ -8166,7 +8178,7 @@ packages: dependencies: lilconfig: 2.0.5 postcss: 8.4.31 - ts-node: 10.9.1(@types/node@20.8.10)(typescript@5.2.2) + ts-node: 10.9.1(@types/node@20.9.0)(typescript@5.2.2) yaml: 2.1.1 patched: true @@ -8281,8 +8293,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@3.0.3: - resolution: {integrity: sha512-L/4pUDMxcNa8R/EthV08Zt42WBO4h1rarVtK0K+QJG0X187OLo7l699jWw0GKuwzkPQ//jMFA/8Xm6Fh3J/DAg==} + /prettier@3.1.0: + resolution: {integrity: sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==} engines: {node: '>=14'} hasBin: true dev: true @@ -9310,7 +9322,7 @@ packages: chokidar: 3.5.3(patch_hash=dzxbf3kgof5pdmbsyih2x43sq4) didyoumean: 1.2.2 dlv: 1.1.3 - fast-glob: 3.3.1 + fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 jiti: 1.20.0 @@ -9459,7 +9471,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.1(@types/node@20.8.10)(typescript@5.2.2): + /ts-node@10.9.1(@types/node@20.9.0)(typescript@5.2.2): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true peerDependencies: @@ -9478,7 +9490,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.8.10 + '@types/node': 20.9.0 acorn: 8.11.2 acorn-walk: 8.3.0(acorn@8.11.2) arg: 4.1.3 @@ -9737,9 +9749,9 @@ packages: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true dependencies: - '@babel/core': 7.23.2 + '@babel/core': 7.23.3 '@babel/standalone': 7.22.20 - '@babel/types': 7.23.0 + '@babel/types': 7.23.3 defu: 6.1.2 jiti: 1.20.0 mri: 1.2.0 @@ -9827,16 +9839,16 @@ packages: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2 '@types/markdown-it': 13.0.5 - '@vitejs/plugin-vue': 4.3.1(vite@packages+vite)(vue@3.3.7) + '@vitejs/plugin-vue': 4.3.1(vite@packages+vite)(vue@3.3.8) '@vue/devtools-api': 6.5.1 - '@vueuse/core': 10.5.0(vue@3.3.7) - '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(vue@3.3.7) + '@vueuse/core': 10.5.0(vue@3.3.8) + '@vueuse/integrations': 10.5.0(focus-trap@7.5.4)(vue@3.3.8) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.1.0 shiki: 0.14.5 vite: link:packages/vite - vue: 3.3.7(typescript@5.2.2) + vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -9891,7 +9903,7 @@ packages: dependencies: '@types/chai': 4.3.5 '@types/chai-subset': 1.3.3 - '@types/node': 20.8.10 + '@types/node': 20.9.0 '@vitest/expect': 0.34.6 '@vitest/runner': 0.34.6 '@vitest/snapshot': 0.34.6 @@ -9930,7 +9942,7 @@ packages: resolution: {integrity: sha512-AFbieoL7a5LMqcnOF04ji+rpXadgOXnZsxQr//r83kLPr7biP7am3g9zbaZIaBGwBRWeSvoMD4mgPdX3e4NWBg==} dev: true - /vue-demi@0.14.6(vue@3.3.7): + /vue-demi@0.14.6(vue@3.3.8): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -9942,16 +9954,16 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.3.7(typescript@5.2.2) + vue: 3.3.8(typescript@5.2.2) dev: true - /vue-router@4.2.5(vue@3.3.7): + /vue-router@4.2.5(vue@3.3.8): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.3.7(typescript@5.2.2) + vue: 3.3.8(typescript@5.2.2) dev: false /vue@3.2.0: @@ -9962,28 +9974,28 @@ packages: '@vue/shared': 3.2.0 dev: true - /vue@3.3.7(typescript@5.2.2): - resolution: {integrity: sha512-YEMDia1ZTv1TeBbnu6VybatmSteGOS3A3YgfINOfraCbf85wdKHzscD6HSS/vB4GAtI7sa1XPX7HcQaJ1l24zA==} + /vue@3.3.8(typescript@5.2.2): + resolution: {integrity: sha512-5VSX/3DabBikOXMsxzlW8JyfeLKlG9mzqnWgLQLty88vdZL7ZJgrdgBOmrArwxiLtmS+lNNpPcBYqrhE6TQW5w==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.3.7 - '@vue/compiler-sfc': 3.3.7 - '@vue/runtime-dom': 3.3.7 - '@vue/server-renderer': 3.3.7(vue@3.3.7) - '@vue/shared': 3.3.7 + '@vue/compiler-dom': 3.3.8 + '@vue/compiler-sfc': 3.3.8 + '@vue/runtime-dom': 3.3.8 + '@vue/server-renderer': 3.3.8(vue@3.3.8) + '@vue/shared': 3.3.8 typescript: 5.2.2 - /vuex@4.1.0(vue@3.3.7): + /vuex@4.1.0(vue@3.3.8): resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.3.7(typescript@5.2.2) + vue: 3.3.8(typescript@5.2.2) dev: false /web-streams-polyfill@3.2.1: @@ -10050,8 +10062,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.23.0 - '@babel/types': 7.23.0 + '@babel/parser': 7.23.3 + '@babel/types': 7.23.3 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: true @@ -10127,8 +10139,8 @@ packages: resolution: {integrity: sha512-o96x3OPo8GjWeSLF+wOAbrPfhFOGY0W00GNaxCDv+9hkcDJEnev1yh8S7pgHF0ik6zc8sQLuL8hjHjJULZp8bw==} engines: {node: '>= 14'} - /yaml@2.3.3: - resolution: {integrity: sha512-zw0VAJxgeZ6+++/su5AFoqBbZbrEakwu+X0M5HmcwUiBL7AzcuPKjj5we4xfQLp78LkEMpD0cOnUhmgOVy3KdQ==} + /yaml@2.3.4: + resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} engines: {node: '>= 14'} dev: true @@ -10218,7 +10230,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.3.7(typescript@5.2.2) + vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false @@ -10230,7 +10242,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.3.7(typescript@5.2.2) + vue: 3.3.8(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false From dc58222fb875f14c8da42b853b9377e7abb0ec48 Mon Sep 17 00:00:00 2001 From: patak Date: Mon, 13 Nov 2023 09:32:07 +0100 Subject: [PATCH 043/656] docs: add back link to ViteConf replay (#14972) --- .../theme/components/AsideSponsors.vue | 65 +++++++++++++++++++ docs/index.md | 3 + 2 files changed, 68 insertions(+) diff --git a/docs/.vitepress/theme/components/AsideSponsors.vue b/docs/.vitepress/theme/components/AsideSponsors.vue index 90e6addab959a5..92eef401923d87 100644 --- a/docs/.vitepress/theme/components/AsideSponsors.vue +++ b/docs/.vitepress/theme/components/AsideSponsors.vue @@ -18,5 +18,70 @@ const sponsors = computed(() => { + + diff --git a/docs/index.md b/docs/index.md index bdf716bc3d20a7..0771f563b896ae 100644 --- a/docs/index.md +++ b/docs/index.md @@ -21,6 +21,9 @@ hero: - theme: alt text: View on GitHub link: https://github.com/vitejs/vite + - theme: brand + text: 🎉 ViteConf 23! + link: https://viteconf.org/23/replay?utm=vite-homepage features: - icon: 💡 From 6a564fa92a368ae4b5f0c2392c49450d534d4b52 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 13 Nov 2023 18:14:30 +0800 Subject: [PATCH 044/656] feat: error when failed to resolve aliased import (#14973) --- .../vite/src/node/plugins/importAnalysis.ts | 2 +- packages/vite/src/node/plugins/index.ts | 18 ++++++++++++++++-- 2 files changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 5d824afe03a729..18dbebf0376e39 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -305,7 +305,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { const resolved = await this.resolve(url, importerFile) - if (!resolved) { + if (!resolved || resolved.meta?.['vite:alias']?.noResolved) { // in ssr, we should let node handle the missing modules if (ssr) { return [url, url] diff --git a/packages/vite/src/node/plugins/index.ts b/packages/vite/src/node/plugins/index.ts index b4d548c381a10b..cefc11bb147ebb 100644 --- a/packages/vite/src/node/plugins/index.ts +++ b/packages/vite/src/node/plugins/index.ts @@ -1,4 +1,4 @@ -import aliasPlugin from '@rollup/plugin-alias' +import aliasPlugin, { type ResolverFunction } from '@rollup/plugin-alias' import type { ObjectHook } from 'rollup' import type { PluginHookUtils, ResolvedConfig } from '../config' import { isDepsOptimizerEnabled } from '../config' @@ -51,7 +51,10 @@ export async function resolvePlugins( isBuild ? metadataPlugin() : null, !isWorker ? watchPackageDataPlugin(config.packageCache) : null, preAliasPlugin(config), - aliasPlugin({ entries: config.resolve.alias }), + aliasPlugin({ + entries: config.resolve.alias, + customResolver: viteAliasCustomResolver, + }), ...prePlugins, modulePreload !== false && modulePreload.polyfill ? modulePreloadPolyfillPlugin(config) @@ -161,3 +164,14 @@ export function getHookHandler>( ): HookHandler { return (typeof hook === 'object' ? hook.handler : hook) as HookHandler } + +// Same as `@rollup/plugin-alias` default resolver, but we attach additional meta +// if we can't resolve to something, which will error in `importAnalysis` +export const viteAliasCustomResolver: ResolverFunction = async function ( + id, + importer, + options, +) { + const resolved = await this.resolve(id, importer, options) + return resolved || { id, meta: { 'vite:alias': { noResolved: true } } } +} From 3f57b0579a70d81af1f352d9f6f3855129c642ac Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 13 Nov 2023 23:43:13 +0800 Subject: [PATCH 045/656] fix(pluginContainer): run transform in this.load (#14965) --- .../server/__tests__/pluginContainer.spec.ts | 40 +++++++++++++++++-- .../vite/src/node/server/pluginContainer.ts | 8 +++- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/packages/vite/src/node/server/__tests__/pluginContainer.spec.ts b/packages/vite/src/node/server/__tests__/pluginContainer.spec.ts index a20fc919f7fa10..070dedd2acb463 100644 --- a/packages/vite/src/node/server/__tests__/pluginContainer.spec.ts +++ b/packages/vite/src/node/server/__tests__/pluginContainer.spec.ts @@ -32,7 +32,7 @@ describe('plugin container', () => { }, load(id) { if (id === entryUrl) { - const { meta } = this.getModuleInfo(entryUrl) + const { meta } = this.getModuleInfo(entryUrl) ?? {} metaArray.push(meta) return { code: 'export {}', meta: { x: 2 } } @@ -40,14 +40,14 @@ describe('plugin container', () => { }, transform(code, id) { if (id === entryUrl) { - const { meta } = this.getModuleInfo(entryUrl) + const { meta } = this.getModuleInfo(entryUrl) ?? {} metaArray.push(meta) return { meta: { x: 3 } } } }, buildEnd() { - const { meta } = this.getModuleInfo(entryUrl) + const { meta } = this.getModuleInfo(entryUrl) ?? {} metaArray.push(meta) }, } @@ -84,7 +84,7 @@ describe('plugin container', () => { name: 'p2', load(id) { if (id === entryUrl) { - const { meta } = this.getModuleInfo(entryUrl) + const { meta } = this.getModuleInfo(entryUrl) ?? {} expect(meta).toEqual({ x: 1 }) return null } @@ -184,6 +184,38 @@ describe('plugin container', () => { const result: any = await container.transform(loadResult.code, entryUrl) expect(result.code).equals('2') }) + + it('will load and transform the module', async () => { + const entryUrl = '/x.js' + const otherUrl = '/y.js' + + const plugin: Plugin = { + name: 'p1', + resolveId(id) { + return id + }, + load(id) { + if (id === entryUrl) return { code: '1' } + else if (id === otherUrl) return { code: '2', meta: { code: '2' } } + }, + async transform(code, id) { + if (id === entryUrl) { + // NOTE: ModuleInfo.code not implemented, used `.meta.code` for now + return (await this.load({ id: otherUrl }))?.meta.code + } else if (id === otherUrl) { + return { code: '3', meta: { code: '3' } } + } + }, + } + + const container = await getPluginContainer({ + plugins: [plugin], + }) + await moduleGraph.ensureEntryFromUrl(entryUrl, false) + const loadResult: any = await container.load(entryUrl) + const result: any = await container.transform(loadResult.code, entryUrl) + expect(result.code).equals('3') + }) }) }) diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index 1026eb4d447890..10c3080e718f04 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -333,7 +333,13 @@ export async function createPluginContainer( // but we can at least update the module info properties we support updateModuleInfo(options.id, options) - await container.load(options.id, { ssr: this.ssr }) + const loadResult = await container.load(options.id, { ssr: this.ssr }) + const code = + typeof loadResult === 'object' ? loadResult?.code : loadResult + if (code != null) { + await container.transform(code, options.id, { ssr: this.ssr }) + } + const moduleInfo = this.getModuleInfo(options.id) // This shouldn't happen due to calling ensureEntryFromUrl, but 1) our types can't ensure that // and 2) moduleGraph may not have been provided (though in the situations where that happens, From 4033a320d6809c9a0c2552f0ef2bf686c63aa35a Mon Sep 17 00:00:00 2001 From: donaldyu Date: Tue, 14 Nov 2023 01:26:40 +0800 Subject: [PATCH 046/656] fix(plugin-legacy): add invoke to modern detector to avoid terser treeshaking (#14968) --- packages/plugin-legacy/README.md | 2 +- packages/plugin-legacy/src/snippets.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/plugin-legacy/README.md b/packages/plugin-legacy/README.md index 0e40ccfe55f121..c2cfa4c45ef659 100644 --- a/packages/plugin-legacy/README.md +++ b/packages/plugin-legacy/README.md @@ -156,7 +156,7 @@ The legacy plugin requires inline scripts for [Safari 10.1 `nomodule` fix](https - `sha256-MS6/3FCg4WjP9gwgaBGwLpRCY6fZBgwmhVCdrPrNf3E=` - `sha256-tQjf8gvb2ROOMapIxFvFAYBeUJ0v1HCbOcSmDNXGtDo=` -- `sha256-4y/gEB2/KIwZFTfNqwXJq4olzvmQ0S214m9jwKgNXoc=` +- `sha256-8uUkKieevHiD3yYtzjkRvyDZWt+uZkBLuGEQWNiV3+c=` - `sha256-+5XkZFazzJo8n0iOP4ti/cLCMUudTf//Mzkb7xNPXIc=` ok -> __import_foo__ if (node.type === 'ImportDeclaration') { const importId = defineImport(node.source.value as string, { - namedImportSpecifiers: node.specifiers - .map((s) => s.type === 'ImportSpecifier' && s.imported.name) - .filter(Boolean) as string[], + importedNames: node.specifiers + .map((s) => { + if (s.type === 'ImportSpecifier') return s.imported.name + else if (s.type === 'ImportDefaultSpecifier') return 'default' + }) + .filter(isDefined), }) s.remove(node.start, node.end) for (const spec of node.specifiers) { @@ -184,7 +195,7 @@ async function ssrTransformScript( if (node.source) { // export { foo, bar } from './foo' const importId = defineImport(node.source.value as string, { - namedImportSpecifiers: node.specifiers.map((s) => s.local.name), + importedNames: node.specifiers.map((s) => s.local.name), }) // hoist re-exports near the defined import so they are immediately exported for (const spec of node.specifiers) { From d3af8791c0973e3fe0aa3a65ed0af7d037cbf73d Mon Sep 17 00:00:00 2001 From: Thomas Steiner Date: Wed, 15 Nov 2023 12:59:23 +0100 Subject: [PATCH 061/656] docs: point links in messages at https: (#14992) --- packages/vite/src/node/config.ts | 4 ++-- packages/vite/src/node/optimizer/esbuildDepPlugin.ts | 2 +- packages/vite/src/node/plugins/resolve.ts | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 9e9a3628f1769d..39de230daa4d2d 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -1092,7 +1092,7 @@ async function bundleConfigFile( throw new Error( `Failed to resolve ${JSON.stringify( id, - )}. This package is ESM only but it was tried to load by \`require\`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.`, + )}. This package is ESM only but it was tried to load by \`require\`. See https://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.`, ) } } @@ -1109,7 +1109,7 @@ async function bundleConfigFile( throw new Error( `${JSON.stringify( id, - )} resolved to an ESM file. ESM file cannot be loaded by \`require\`. See http://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.`, + )} resolved to an ESM file. ESM file cannot be loaded by \`require\`. See https://vitejs.dev/guide/troubleshooting.html#this-package-is-esm-only for more details.`, ) } return { diff --git a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts b/packages/vite/src/node/optimizer/esbuildDepPlugin.ts index 9de90d27ac7f3e..08b1abb72d48e3 100644 --- a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts +++ b/packages/vite/src/node/optimizer/esbuildDepPlugin.ts @@ -257,7 +257,7 @@ module.exports = Object.create(new Proxy({}, { key !== 'constructor' && key !== 'splice' ) { - console.warn(\`Module "${path}" has been externalized for browser compatibility. Cannot access "${path}.\${key}" in client code. See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\`) + console.warn(\`Module "${path}" has been externalized for browser compatibility. Cannot access "${path}.\${key}" in client code. See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\`) } } }))`, diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index 67b8d079e724ea..aeafad144182de 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -414,7 +414,7 @@ export function resolvePlugin(resolveOptions: InternalResolveOptions): Plugin { } else if (isProduction) { this.warn( `Module "${id}" has been externalized for browser compatibility, imported by "${importer}". ` + - `See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`, + `See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.`, ) } return isProduction @@ -436,7 +436,7 @@ export function resolvePlugin(resolveOptions: InternalResolveOptions): Plugin { return `\ export default new Proxy({}, { get(_, key) { - throw new Error(\`Module "${id}" has been externalized for browser compatibility. Cannot access "${id}.\${key}" in client code. See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\`) + throw new Error(\`Module "${id}" has been externalized for browser compatibility. Cannot access "${id}.\${key}" in client code. See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\`) } })` } From 2a519a176d9f499d2b2814cc08549e9985a048e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 15 Nov 2023 21:38:54 +0900 Subject: [PATCH 062/656] fix: don't append `/@fs/` for bare imports (#14995) --- packages/vite/src/node/plugins/importAnalysis.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 528b68a221dcc5..08b827d4d8fb75 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -335,7 +335,8 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { url = resolved.id.slice(root.length) } else if ( depsOptimizer?.isOptimizedDepFile(resolved.id) || - fs.existsSync(cleanUrl(resolved.id)) + (path.isAbsolute(cleanUrl(resolved.id)) && + fs.existsSync(cleanUrl(resolved.id))) ) { // an optimized deps may not yet exists in the filesystem, or // a regular file exists but is out of root: rewrite to absolute /@fs/ paths From 58ff8499d723ce6f87624faa1e17c218baa9793f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lubom=C3=ADr=20Bla=C5=BEek?= Date: Wed, 15 Nov 2023 13:52:15 +0100 Subject: [PATCH 063/656] fix: server.preTransformRequests https error (#14991) (#14993) --- packages/vite/src/node/server/index.ts | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 8620826f7674fc..4208aedcf0d952 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -1,6 +1,7 @@ import path from 'node:path' import type * as net from 'node:net' import { get as httpGet } from 'node:http' +import { get as httpsGet } from 'node:https' import type * as http from 'node:http' import { performance } from 'node:perf_hooks' import type { Http2SecureServer } from 'node:http2' @@ -497,7 +498,9 @@ export async function _createServer( // preTransformRequests needs to be enabled for this optimization. if (server.config.server.preTransformRequests) { setTimeout(() => { - httpGet( + const getMethod = path.startsWith('https:') ? httpsGet : httpGet + + getMethod( path, { headers: { From e0c86d4f210a302876fac280d9e79a2244e83b8b Mon Sep 17 00:00:00 2001 From: Anthony Fu Date: Wed, 15 Nov 2023 14:27:45 +0100 Subject: [PATCH 064/656] feat: allow providing parent httpServer on middleware mode (#14632) --- docs/guide/api-javascript.md | 35 ++++++++++++++++++++++++++ packages/vite/src/node/server/index.ts | 18 +++++++++++-- 2 files changed, 51 insertions(+), 2 deletions(-) diff --git a/docs/guide/api-javascript.md b/docs/guide/api-javascript.md index 1ff419058f2706..54b1dd0fa2be43 100644 --- a/docs/guide/api-javascript.md +++ b/docs/guide/api-javascript.md @@ -38,6 +38,41 @@ const __dirname = fileURLToPath(new URL('.', import.meta.url)) When using `createServer` and `build` in the same Node.js process, both functions rely on `process.env.NODE_ENV` to work properly, which also depends on the `mode` config option. To prevent conflicting behavior, set `process.env.NODE_ENV` or the `mode` of the two APIs to `development`. Otherwise, you can spawn a child process to run the APIs separately. ::: +::: tip NOTE +When using [middleware mode](/config/server-options.html#server-middlewaremode) combined with [proxy config for WebSocket](/config/server-options.html#server-proxy), the parent http server should be provided in `middlewareMode` to bind the proxy correctly. + +
+Example + +```ts +import http from 'http' +import { createServer } from 'vite' + +const parentServer = http.createServer() // or express, koa, etc. + +const vite = await createServer({ + server: { + // Enable middleware mode + middlewareMode: { + // Provide the parent http server for proxy WebSocket + server: parentServer, + }, + }, + proxy: { + '/ws': { + target: 'ws://localhost:3000', + // Proxying WebSocket + ws: true, + }, + }, +}) + +server.use(vite.middlewares) +``` + +
+::: + ## `InlineConfig` The `InlineConfig` interface extends `UserConfig` with additional properties: diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 4208aedcf0d952..c845e3cc2f05e6 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -28,6 +28,7 @@ import { isDepsOptimizerEnabled, resolveConfig } from '../config' import { diffDnsOrderChange, isInNodeModules, + isObject, isParentDirectory, mergeConfig, normalizePath, @@ -112,7 +113,16 @@ export interface ServerOptions extends CommonServerOptions { * Create Vite dev server to be used as a middleware in an existing server * @default false */ - middlewareMode?: boolean + middlewareMode?: + | boolean + | { + /** + * Parent server instance to attach to + * + * This is needed to proxy WebSocket connections to the parent server. + */ + server: http.Server + } /** * Options for files served via '/\@fs/'. */ @@ -694,7 +704,11 @@ export async function _createServer( // proxy const { proxy } = serverConfig if (proxy) { - middlewares.use(proxyMiddleware(httpServer, proxy, config)) + const middlewareServer = + (isObject(serverConfig.middlewareMode) + ? serverConfig.middlewareMode.server + : null) || httpServer + middlewares.use(proxyMiddleware(middlewareServer, proxy, config)) } // base From 0469beaf60b738a87b8fc99eea8b19342c67265a Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 15 Nov 2023 22:59:09 +0800 Subject: [PATCH 065/656] ci(publish): workaround provenance bug (#14996) --- scripts/publishCI.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/scripts/publishCI.ts b/scripts/publishCI.ts index 5f40df369374b0..7668807bd14ef0 100644 --- a/scripts/publishCI.ts +++ b/scripts/publishCI.ts @@ -1,3 +1,8 @@ import { publish } from '@vitejs/release-scripts' -publish({ defaultPackage: 'vite', provenance: true, packageManager: 'pnpm' }) +// Check the tag passed in CI, and skip provenance if tag has `@` due to +// https://github.com/slsa-framework/slsa-github-generator/pull/2758 not released +const tag = process.argv.slice(2)[0] ?? '' +const provenance = !tag.includes('@') + +publish({ defaultPackage: 'vite', provenance, packageManager: 'pnpm' }) From 9258ce08162477a1b2adc042caedcebe9f5d83a7 Mon Sep 17 00:00:00 2001 From: bluwy Date: Wed, 15 Nov 2023 23:52:57 +0800 Subject: [PATCH 066/656] release: v5.0.0-beta.20 --- packages/vite/CHANGELOG.md | 12 ++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 9e6dce20adf3cd..c155944b2098c2 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,15 @@ +## 5.0.0-beta.20 (2023-11-15) + +* feat: allow providing parent httpServer on middleware mode (#14632) ([e0c86d4](https://github.com/vitejs/vite/commit/e0c86d4)), closes [#14632](https://github.com/vitejs/vite/issues/14632) +* fix: caret position was incorrect (#14984) ([2b4e793](https://github.com/vitejs/vite/commit/2b4e793)), closes [#14984](https://github.com/vitejs/vite/issues/14984) +* fix: code frame was not generated for postcss errors (#14986) ([bedfcfa](https://github.com/vitejs/vite/commit/bedfcfa)), closes [#14986](https://github.com/vitejs/vite/issues/14986) +* fix: don't append `/@fs/` for bare imports (#14995) ([2a519a1](https://github.com/vitejs/vite/commit/2a519a1)), closes [#14995](https://github.com/vitejs/vite/issues/14995) +* fix: server.preTransformRequests https error (#14991) (#14993) ([58ff849](https://github.com/vitejs/vite/commit/58ff849)), closes [#14991](https://github.com/vitejs/vite/issues/14991) [#14993](https://github.com/vitejs/vite/issues/14993) +* fix(ssr): skip esm proxy guard for namespace imports (#14988) ([82a5b11](https://github.com/vitejs/vite/commit/82a5b11)), closes [#14988](https://github.com/vitejs/vite/issues/14988) +* docs: point links in messages at https: (#14992) ([d3af879](https://github.com/vitejs/vite/commit/d3af879)), closes [#14992](https://github.com/vitejs/vite/issues/14992) + + + ## 5.0.0-beta.19 (2023-11-14) * style(client): overlay frame show scrollbar (#14701) ([8aa4134](https://github.com/vitejs/vite/commit/8aa4134)), closes [#14701](https://github.com/vitejs/vite/issues/14701) diff --git a/packages/vite/package.json b/packages/vite/package.json index 706982ba9d5bd4..4151caf641835b 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.0.0-beta.19", + "version": "5.0.0-beta.20", "type": "module", "license": "MIT", "author": "Evan You", From d0465eef237c38c6b9276e2e47746c3353f7a617 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 16 Nov 2023 09:57:56 +0100 Subject: [PATCH 067/656] docs: improve why not bundle with esbuild (#14998) --- docs/guide/why.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/why.md b/docs/guide/why.md index d58d165ca0228e..0169e02907a77c 100644 --- a/docs/guide/why.md +++ b/docs/guide/why.md @@ -53,7 +53,7 @@ Ensuring optimal output and behavioral consistency between the dev server and th Vite's current plugin API isn't compatible with using `esbuild` as a bundler. In spite of `esbuild` being faster, Vite's adoption of Rollup's flexible plugin API and infrastructure heavily contributed to its success in the ecosystem. For the time being, we believe that Rollup offers a better performance-vs-flexibility tradeoff. -That said, `esbuild` has progressed a lot in the past years, and we won't rule out the possibility of using `esbuild` for production builds in the future. We will keep taking advantage of new capabilities as they are released, as we have done with JS and CSS minification where `esbuild` allowed Vite to get a performance boost while avoiding disruption for its ecosystem. +Rollup has also been working on performance improvements, [switching its parser to SWC in v4](https://github.com/rollup/rollup/pull/5073). And there is an ongoing effort to build a Rust-port of Rollup called Rolldown. Once Rolldown is ready, it could replace both Rollup and esbuild in Vite, improving build performance significantly and removing inconsistencies between development and build. You can watch [Evan You's ViteConf 2023 keynote for more details](https://youtu.be/hrdwQHoAp0M). ## How is Vite Different from X? From 0c3125833033fec4356ab4e90e806e02e8644c40 Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 16 Nov 2023 18:11:00 +0800 Subject: [PATCH 068/656] release: v5.0.0 --- packages/vite/CHANGELOG.md | 5 +++++ packages/vite/package.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index c155944b2098c2..21309e66a56b6c 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,8 @@ +## 5.0.0 (2023-11-16) + + + + ## 5.0.0-beta.20 (2023-11-15) * feat: allow providing parent httpServer on middleware mode (#14632) ([e0c86d4](https://github.com/vitejs/vite/commit/e0c86d4)), closes [#14632](https://github.com/vitejs/vite/issues/14632) diff --git a/packages/vite/package.json b/packages/vite/package.json index 4151caf641835b..39b81df4d90676 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.0.0-beta.20", + "version": "5.0.0", "type": "module", "license": "MIT", "author": "Evan You", From dd2a1cae0566093f0bb64f9ca39cab5642dd9be7 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 16 Nov 2023 11:23:30 +0100 Subject: [PATCH 069/656] docs: vite 5 announcement blog post (#14860) Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> Co-authored-by: bluwy Co-authored-by: Dominik G. --- docs/blog/announcing-vite4.md | 6 +- docs/blog/announcing-vite5.md | 106 ++++++++++++++++++++++ docs/public/og-image-announcing-vite5.png | Bin 0 -> 1479743 bytes 3 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 docs/blog/announcing-vite5.md create mode 100644 docs/public/og-image-announcing-vite5.png diff --git a/docs/blog/announcing-vite4.md b/docs/blog/announcing-vite4.md index 950ac637a3c902..ca0a4b8d981f1d 100644 --- a/docs/blog/announcing-vite4.md +++ b/docs/blog/announcing-vite4.md @@ -23,7 +23,7 @@ head: # Vite 4.0 is out! -_December 9, 2022_ +_December 9, 2022_ - Check out the [Vite 5.0 announcement](./announcing-vite5.md) Vite 3 [was released](./announcing-vite3.md) five months ago. npm downloads per week have gone from 1 million to 2.5 million since then. The ecosystem has matured too, and continues to grow. In this year's [Jamstack Conf survey](https://twitter.com/vite_js/status/1589665610119585793), usage among the community jumped from 14% to 32% while keeping a high 9.7 satisfaction score. We saw the stable releases of [Astro 1.0](https://astro.build/), [Nuxt 3](https://v3.nuxtjs.org/), and other Vite-powered frameworks that are innovating and collaborating: [SvelteKit](https://kit.svelte.dev/), [Solid Start](https://www.solidjs.com/blog/introducing-solidstart), [Qwik City](https://qwik.builder.io/qwikcity/overview/). Storybook announced first-class support for Vite as one of its main features for [Storybook 7.0](https://storybook.js.org/blog/first-class-vite-support-in-storybook/). Deno now [supports Vite](https://www.youtube.com/watch?v=Zjojo9wdvmY). [Vitest](https://vitest.dev) adoption is exploding, it will soon represent half of Vite's npm downloads. Nx is also investing in the ecosystem, and [officially supports Vite](https://nx.dev/packages/vite). @@ -38,7 +38,7 @@ Today, the Vite [team](https://vitejs.dev/team) with the help of our ecosystem p Quick links: - [Docs](/) -- [Migration Guide](/guide/migration) +- [Migration Guide](https://v4.vitejs.dev/guide/migration.html) - [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#400-2022-12-09) Docs in other languages: @@ -87,7 +87,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](/guide/migration). +Learn more in the [Migration Guide](https://v4.vitejs.dev/guide/migration.html). ## Environment Variables diff --git a/docs/blog/announcing-vite5.md b/docs/blog/announcing-vite5.md new file mode 100644 index 00000000000000..8f043ebc7adcdc --- /dev/null +++ b/docs/blog/announcing-vite5.md @@ -0,0 +1,106 @@ +--- +sidebar: false +head: + - - meta + - property: og:type + content: website + - - meta + - property: og:title + content: Announcing Vite 5 + - - meta + - property: og:image + content: https://vitejs.dev/og-image-announcing-vite5.png + - - meta + - property: og:url + content: https://vitejs.dev/blog/announcing-vite5 + - - meta + - property: og:description + content: Vite 5 Release Announcement + - - meta + - name: twitter:card + content: summary_large_image +--- + +# Vite 5.0 is out! + +_November 16, 2023_ + +![Vite 5 Announcement Cover Image](/og-image-announcing-vite5.png) + +Vite 4 [was released](./announcing-vite4.md) almost a year ago, and it served as a solid base for the ecosystem. npm downloads per week jumped from 2.5 million to 7.5 million, as projects keep building on a shared infrastructure. Frameworks continued to innovate, and on top of [Astro](https://astro.build/), [Nuxt](https://nuxt.com/), [SvelteKit](https://kit.svelte.dev/), [Solid Start](https://www.solidjs.com/blog/introducing-solidstart), [Qwik City](https://qwik.builder.io/qwikcity/overview/), between others, we saw new frameworks joining and making the ecosystem stronger. [RedwoodJS](https://redwoodjs.com/) and [Remix](https://remix.run/) switching to Vite paves the way for further adoption in the React ecosystem. [Vitest](https://vitest.dev) kept growing at an even faster pace than Vite. Its team has been hard at work and will soon [release Vitest 1.0](https://github.com/vitest-dev/vitest/issues/3596). The story of Vite when used with other tools such as [Storybook](https://storybook.js.org), [Nx](https://nx.dev), and [Playwright](https://playwright.dev) kept improving, and the same goes for environments, with Vite dev working both in [Deno](https://deno.com) and [Bun](https://bun.sh). + +We had the second edition of [ViteConf](https://viteconf.org/23/replay) a month ago, hosted by [StackBlitz](https://stackblitz.com). Like last year, most of the projects in the ecosystem got together to share ideas and connect to keep expanding the commons. We're also seeing new pieces complement the meta-framework toolbelt like [Volar](https://volarjs.dev/) and [Nitro](https://nitro.unjs.io/). The Rollup team released [Rollup 4](https://rollupjs.org) that same day, a tradition Lukas started last year. + +Six months ago, Vite 4.3 [was released](./announcing-vite4.md). This release significantly improved the dev server performance. However, there is still ample room for improvement. At ViteConf, [Evan You unveiled Vite's long-term plan to work on Rolldown](https://www.youtube.com/watch?v=hrdwQHoAp0M), a Rust-port of Rollup with compatible APIs. Once it is ready, we intend to use it in Vite Core to take on the tasks of both Rollup and esbuild. This will mean a boost in build performance (and later on in dev performance too as we move perf-sensitive parts of Vite itself to Rust), and a big reduction of inconsistencies between dev and build. Rolldown is currently in early stages and the team is preparing to open source the codebase before the end of the year. Stay tuned! + +Today, we mark another big milestone in Vite's path. The Vite [team](/team), [contributors](https://github.com/vitejs/vite/graphs/contributors), and ecosystem partners, are excited to announce the release of Vite 5. Vite is now using [Rollup 4](https://github.com/vitejs/vite/pull/14508), which already represents a big boost in build performance. And there are also new options to improve your dev server performance profile. + +Vite 5 focuses on cleaning up the API (removing deprecated features) and streamlines several features closing long-standing issues, for example switching `define` to use proper AST replacements instead of regexes. We also continue to take steps to future-proof Vite (Node.js 18+ is now required, and [the CJS Node API has been deprecated](/guide/migration#deprecate-cjs-node-api)). + +Quick links: + +- [Docs](/) +- [Migration Guide](/guide/migration) +- [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#500-2023-11-16) + +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!) + +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). + +To stay up to date, follow us on [X](https://twitter.com/vite_js) or [Mastodon](https://webtoo.ls/@vite). + +## Quick start with Vite 5 + +Use `pnpm create vite` to scaffold a Vite project with your preferred framework, or open a started template online to play with Vite 5 using [vite.new](https://vite.new). You can also run `pnpm create vite-extra` to get access to templates from other frameworks and runtimes (Solid, Deno, SSR, and library starters). `create vite-extra` templates are also available when you run `create vite` under the `Others` option. + +Note that Vite starter templates are intended to be used as a playground to test Vite with different frameworks. When building your next project, we recommend reaching out to the starters recommended by each framework. Some frameworks now redirect in `create vite` to their starters too (`create-vue` and `Nuxt 3` for Vue, and `SvelteKit` for Svelte). + +## Node.js Support + +Vite no longer supports Node.js 14 / 16 / 17 / 19, which reached its EOL. Node.js 18 / 20+ is now required. + +## 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). + +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. + +## Main Changes + +- [Vite is now powered by Rollup 4](/guide/migration#rollup-4) +- [The CJS Node API has been deprecated](/guide/migration#deprecate-cjs-node-api) +- [Rework `define` and `import.meta.env.*` replacement strategy](/guide/migration#rework-define-and-import-meta-env-replacement-strategy) +- [SSR externalized modules value now matches production](/guide/migration#ssr-externalized-modules-value-now-matches-production) +- [`worker.plugins` is now a function](/guide/migration#worker-plugins-is-now-a-function) +- [Allow path containing `.` to fallback to index.html](/guide/migration#allow-path-containing-to-fallback-to-index-html) +- [Align dev and preview HTML serving behavior](/guide/migration#align-dev-and-preview-html-serving-behaviour) +- [Manifest files are now generated in `.vite` directory by default](/guide/migration#manifest-files-are-now-generated-in-vite-directory-by-default) +- [CLI shortcuts require an additional `Enter` press](/guide/migration#cli-shortcuts-require-an-additional-enter-press) +- [Update `experimentalDecorators` and `useDefineForClassFields` TypeScript behavior](/guide/migration#update-experimentaldecorators-and-usedefineforclassfields-typescript-behaviour) +- [Remove `--https` flag and `https: true`](/guide/migration#remove-https-flag-and-https-true) +- [Remove `resolvePackageEntry` and `resolvePackageData` APIs](/guide/migration#remove-resolvepackageentry-and-resolvepackagedata-apis) +- [Removes previously deprecated APIs](/guide/migration#removed-deprecated-apis) +- [Read more about advanced changes affecting plugin and tool authors](/guide/migration#advanced) + +## Migrating to Vite 5 + +We have worked with ecosystem partners to ensure a smooth migration to this new major. Once again, [vite-ecosystem-ci](https://www.youtube.com/watch?v=7L4I4lDzO48) has been crucial to help us make bolder changes while avoiding regressions. We're thrilled to see other ecosystems adopt similar schemes to improve the collaboration between their projects and downstream maintainers. + +For most projects, the update to Vite 5 should be straight forward. But we advice reviewing the [detailed Migration Guide](/guide/migration) before upgrading. + +A low level breakdown with the full list of changes to Vite core can be found at the [Vite 5 Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#500-2023-11-16). + +## Acknowledgments + +Vite 5 is the result of long hours of work by our community of contributors, downstream maintainers, plugins authors, and the [Vite Team](/team). A big shoutout to [Bjorn Lu](https://twitter.com/bluwyoo) for leading the release process for this major. + +We're also thankful to individuals and companies sponsoring Vite development. [StackBlitz](https://stackblitz.com/), [Nuxt Labs](https://nuxtlabs.com/), and [Astro](https://astro.build) continue to invest in Vite by hiring Vite team members. A shoutout to sponsors on [Vite's GitHub Sponsors](https://github.com/sponsors/vitejs), [Vite's Open Collective](https://opencollective.com/vite), and [Evan You's GitHub Sponsors](https://github.com/sponsors/yyx990803). A special mention to [Remix](https://remix.run/) for becoming a Gold sponsor and contributing back after switching to Vite. diff --git a/docs/public/og-image-announcing-vite5.png b/docs/public/og-image-announcing-vite5.png new file mode 100644 index 0000000000000000000000000000000000000000..56040e518ae1bfceb1828ea48f34abfa8ea2ae32 GIT binary patch literal 1479743 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⁣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%0DC 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%0Di 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%0Ay{4Cc`}7(w_eV8ev?Q8V*rLPK4BP!u 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�Go^Vi;#^1*r>B;Z0?25Fs@8c4dNSCY>seJzSYm$Us* zf6W+syluOKsX%z#+ZcR{aL=NjHN0BWSy*a|GBASChrM$v5e?Z}6|pgC#|dDT*O;C3 z!fWGP*_9Vqf_3s|Q^07J>F*0Srt^aYVegWQ0nQ%oi^gQOhbi+~sDbbO*05%U?Y|ao zP`(1M1!xnnC6%+1*0}#imTH`qSJ;xfpLf8rGVoSd5sjl-lGvzn8e5XqT%6&VYkjRC zuz6e!U^{x^i(mYXfsLl9HV)38KM$}?Tnh@@(&*DqKTWI%f5|QK=Nyu6o-s;(So5?| zZ`}CS%);ewo|{BkyZVj!s~4t;K)5xFGQX_9{qXfTed*Hj;>43({RTELc{)~^6&oFhL4AZ=>O zikg6peQeHwHkaIT!8UD(s+8o&pR^(PUD}ylP(8iYZ(d8)>VGAMxdmY3d7KmH9Ry%= zap1GtccilN%b~m_tk*azpBow|%}2!-1swznHfB~m!Nx^SN&;Kyig~o@E%NYisMPK6 z-<{QXZ9041rWh``~3Q1dkze-vJFGH6^(8LUzdCwW|C{mgY zejoswEAXCCSHNZwHJ)_si5_}L z%aa>g?MN-0q2u434tG_bk3#|1U^n%fV4u(LbWmu@t$H8bGF4RDtCMfqyg7Q{DLwqh?|=XMKQdCO=R|O+{diAPyW$ckV!Ln`Cd-Rhc7Hs7XB;;0Jicbbnob@_ z0-IXR($Is#2KEuRpyc=VG{i>JHJz$(_y8?YeQ&8??LoG_p1t|_BGe+V`MU_OaTJBW zzM#6k{&|7V0?JZxV&i**ac({AX(>%(i%=t93O@pp*jidN%V>;?mH$wM*USmtM4+8a zrWT@9Iz=eirfssEn3}2uXtF(<-ocLOR`c2^buu9~0o%T<5Z3b8l9u}6E~eK^VelH! z1T)~AP1s0%VG$O zj$zHMkJBoesA`tNYbQ@m4-Sr>96mw~@T{b>&v0U1d)QT^H9Ms~`=>%T^uH8taCh@H z4nlEYU@I|^#_4@*f8KlWXVT}kq_0{M`I1;xUSUh7h?>=WT0V}dyt)=%<(Yds@S1_m z`=A20livZ{+VbERn(g_c=i4~R(*ZTG&2=uRDf;x-=+fvIz&6^+8VvX3$270=>sM}E z1=ubx%-+0p^Xk=O)90~7yM7h>+(@xLNKY96aS+Gr>0oYC+8y#D^b~qYB z3kf><57MGv-&Uyy4_$uZvBys>ER1zxqg^{CV4FHmFy3I-c%7yfYCCGY{CQ*pejZbS z(74a8BO4xm0D2Rr`3?nILn*PDc!AgCZ^{;FG}tToUH@G(!$vogf?k27qay#1^@pyg>T z_7+gB@Dc>J*yWPc_Wj$RC<0q4bKFqj<`~<>QI1!bjCy54U@Owxiw5kHB-31}X-Qyv zwG}o_On`yQ3#+2Cfx)CBiX*K}Wp@kMy3=Z%RJJ_#0o%ny$_{b-Cfx3_K^TC--|5WohExc~zz zN`MK6Vf~ z+erP$79_S$uV2A)AR^f6MwU3zvW-)%IzTUz&lkVmsClSwk0{oVYK4sx6gCN&`u07< zl0x-Lh)Swkh~9Tj0@O9x(oHLx)Z@1CfC6@?^y0h_SX z)cBB`d)fGbvZQwC zS1xP(d-=7!Bw%CV024I=o|k27@tUv}YGSixo2V@scVm|23>*1EwlOwHUqe}A+d)t| z>juhs%Bg!PV0#LItpIFf%RjYuf;V%M`;&$=4is_FrmhHfg_#C|$$IdTql7om7??Mz zR{v(!Ol9H$1VxHfcNEfVb{HIF_<*ujo<80V^yUxClAtw1VtzpRo=@&>jJS4}j=R%PSdh}WvT zL;yFl0mpYlqpZ;&oxHU5>B|v#a6D7Xi;dc>)3uHF9~(c3g=kl*?ZkdS&A>*XnqZns zv43D-i`Vylt0}fXYWG!Mdt;H>g1qMX;~xMv>VMexgplrW_cJM^CE<&TT?hvyv8?>7 zS45M-8t3;euYqbwTJwo5J)Vj2+83Et+htxmdH%!+DQqXF>9V)+mq6Reqtn@IDv}Q7 z;5C44bnV0(zZ}L!=dyWzX7lO1d2M|B%8i?om%sVVbBic!H;?6Mux|X~m0Rda-hjS{e(KiNMtw3Ma)k5vzUR|?hiHw>qW8)3O1)jxCTvG0EA@}!n- zQVq>hh=K6hnR#45#`8+2+u5OJC+Y{l2G4D9MPeHV{P?>i>fz^t;k<`xo?GNKjCI*I zAVH?l(-L09s_FpPY8>GmX4m3X452In+fS2JR+`pI#ZTQ^Y-mhWORk3oczYH#Oh&fB zGR@SLoJ}jwYsrO!XP*6yfvh~O#YMK_Nno~;m{wYE`{9qEw!}U`AhQUdVmucow%9VM zMKmdFabAl9+rtMi^>9bDF!UCmdqbRyt91nx)r+HE9H4`)tSS}`@cV4UtgkUu;k3Zv z0f0?7_d-D$E)&l$0-Kl&vS0%c!!!S=Mq8p0#E@67@Y?E)0}NuZb_ojYVZU!Og^2oV;!~C% zU53`M-E;#rnViDcE%mI}bvCaR@XYskp2pRDFJE@DLKT||&gPHOP*<#Ou10C3KkM&F z64?A+h=?IgRM^hB5F20vRkX9)6fGSvXw|dneeZa1&A#nhsk10*0=9k5Isn+V56xn_ zw0CeEjG7m)A+UjAx%nZ0jfyhOMURc5G`GG$S2fo+IZKTa|h*_cd| zrp8T_CfUF?4p2tZaB8cAq+|e+KHh`srp067TyWxL=|IdDfUWl+!4QyCq20+2K>z0L zulc~EsEl8D?9m-crjnXgA%V^D2*S*CQw}&(s(S!7<%}SxIbGD72!YoKrUTd@w26KQ zEQDmyQ_bq?R2M^R8CxzF5)*bE&1ccp+S*GSEhub0a|K{afEp+FwFCO*y9a+J1hx{vpD|WT948^|?!1;v5l!0V#!l|h zEH}n%4y7veLklYhyELvw9px-PK0Q57aXJmOjf>YNpfw~mX4u9ycV=@2wp_NYlFb+C zzHPq$jhl<-$f8>K`t0n@an=^Faz1f`o+x7!%Y+>efpGEGnMHW*(&L~1JivD4%Jjs# zb)E2DT?3s>S#U68#C9}I&y4>*{q(#`><9(G~# zo#MO}tuFW~Untso1YiT#Y|&<3t7=P20O)T_wN?5ri>ey+u7c(68~FKp{tE-`y~qJd z9$TxfRE((iUus;kU3+dv3$@XXYpe|Tx!MGVy!Jf7nzgT$P7&?dwrAZs1h!mig*$X% z(2aLRMOqaMJ`m+b+DGaM#4Nb!+c~1D779Teid3?|UG9mRHH0lP`B(SNz_wXKMF?z~ zMdKz=L=8c|PYWMJcp(_mVga=>)86_)w2DS8+^w!>r6I!1YGV+X$~OS-SHwbCkr}Sl zyL-r_(q=@ZG`3GS)>mt=8NIYOrr&BHqPyA>j}0f5}4J^mHJ{H zIw08%RE~(v&UWl@Scb~iTC z5M`yYv8lCN8<&`{ef%8&+qnd=&5W%xu#Jh=j*U+r9^X5!5jHZPmEn14^3>?YcaGI--bQWJGU_Pm+JyMXp1B}eK6q>3b{vh2lSD@`;yRH( zI!sgY!~3tCVb_3#qs41Ch^M-FfNowU` zEu56r*UCX#kkX2W35o5cw-pxU0k&c$!9T2j-XpDj;s-@qd#T>;$-N^ku7zELq@s2& z%=XJ4{lJE80ocr9$xQ=YAHdFciKT~z;k4*9iEM;<@=tpJU@P7Zr-l41|GUO~L4@We zbvx&3x!6(g8#*-Xs7li~Z_%z;1rE#fHZ?k>ACOl+{{ z2YSdZ=rOU4NJO)3h?G6eYq`VA=)7aAxDAD^bvHBrJbKlNzIW{g*jBDGur+!kpf;q( zd!EZ5MquT=Q{$3LI2r+4u=NnIQEG`A*etQ>W~SZ%R(tY-m$a6F9y$E>RRmx|$}C1= zaqj&L{i}qE^4_&|5U4oN+pDV866GS4D6lRB>PyG8Xjf6gJss*#7u+4u$__w{2L#wC zW0@;D3!A~g71+g&$jFxCyZN=WR=z1&HV<06)Lv}bwhu32YbBhp~sqKrG}Sq|;n z{GCbZLa$ys_MKf#^#5Oj!7hE&3 z%`?cd)qDf6kx_M)82DazEhnG>*nlL|G!AtcIMZnqKM``B1hC$zr~dRpHKtx|XJRXAd0m4-3Y&!gg_B<6OY@ zNO!uSLQfnD7zK2>vUknf_<9&*d-Tz*>-Z_>hoM4+QXYU!d0EbqrzslE6V@E@6H_ha zrzhk#-GY1U4cM zmM3R#krcmf``To4ga~+bN<#a-z3i@NEc zs@WVyjmYdBQrP%OKf;zMqS}TUHbyt@lEa6A?SY5GZk{`$>OyHHPZ(ysL?a?io*8B5 z0Aq3#^b8$QfDNXL1Dog3lPief;%|g&cURY9gqA!g%WBEsP*sB0UU~q5jWVwlfbCyV z*xU#;tMPi*(KVljb00!w#h3Wm-Rk9f3C#AhAABMqp6M(BY~e_UE)$n3ER~i3whbMc zK^b_!edEyl)M=o?xa>xW)P!s1HK)m{doEr}^ZemmeK+r$D>7P7q2M$g;0-$8*vnJfV$}?wL#XHG>%s zap$Ogs&lbgn68rbSGC61;?wLFZ#+OxRZC10q!mjTrRa6+s%eE%d?+T&yHjQw(TOlb z6lYi+DpyIRsc3l zvDtxxtw{r$tZ)LbaXQ$9p6efNP64)5p2oNm*wqSE$b7UuDq!nwgxHkxtPA}A>l0>W zAT~*C3LI(67}(SjZPtf;suh8)Lcs@4hN5U#=GH}RUVT;jw0GMdDQxf>6`>|1HYf`@ zZ+8asT;p0;J>b!JB<=;U^%JVqHoS2oIb!>15b<%<7VS!*umNo1L`5JBxb_ccAhtaF zr*ic;Vi&d}gbPg#^Sp()MtOiOn0pj}?UNsV_Rm(>?t8dFoYdmLcE758@@LuL&k|#6 zNnI|ymXX)WPqBp$YJtrwqNVk<0BGl>ryX`(m@ z&fdIn>*8r5s=oZ?g@whdx2{cYUy~yODzg9HNV`D9#;Vj*ZClsuevH9#z_qZCG?1=Ju z*GlpkhcS6gH<;Mo{uU*%JH82yDWkBJQ`>Hbbx@;PIJ)6Fzs&Y+RMW$C*cYo zdk4(WJ32cd-(r_4nO}w_@Vg4}_z!tOjpxhoUv_uP$@L_&!SiF|ivO(qW zfdNUv89>D2j-GYoonIXTHV!GQ|2D|^pM6mQTTx@<-RH<#^^V|T_OP9UXR}w z-eK*HTUrlp+pI=qZxb36Xi#{**B+w_Tw|22vRO3e={DVB%_dsq*%-kG72MfCHan2{ zk}Y=73Uvp>`yw;rBLXK#rz5-yYG_ZYSeLbIm+|gE}d^xrrd=#kFRsn4OIAlR_cMq{S z3_`#rx^)!1w>k(z5IL>%7jEgX;Kim^a8)gjkG#saR_)O6QH-NNF22MDwoHY}z*ZnO zH<77ml~gClR2LW2i($|1-_ybv?VWv*W$x?MKsvu`Yge1 zWwH%k5@)sKawsRZ^myizF@;ShMPSS44QwiQLn(+2cV+}O6#|=qEeE$P&dl}aSvk0d z+s7h-RLVk_vnqFO7RwKSZJ37Shd=Yh^Lr<8%4O+ba_Q#M)mv9D@@s+^_|u=oMR#_2 z`w#+~e!oj#1EW~i+|^QbwD#!E3l|qIotqoKu=v87T7x6gM!`UN!g9>lz`2(JL@g6 zOs#zq$u?EqJY!4i3E+YAfPd9N!A{D^^55S=cxz1#E6I zmQ~w6@%^I+krU+&M*h+eT6yPj|(DCI3 zANcHb;1&&0nwv4+PUOQEc&%XGVqSYd8SVnM4K?O90h{b(SojpNHDf#h-5c+0=w@Kk zKpj6k#yEiOxf?rJO!j&VX`}-*D)l?w0i=@MUhtd)UMQtDJlDKNA^Sio8T7T|tsv2; z>_u@-HLz(8Ka5!!T~sJ@E1DHpP%xH-&^jXhCfew6o6-CsK;w-vthx9=tQ>5n1Z*^|DG;ZHHBA&O=b3VMnqnz! zCP>t(S4;HMA8D^|hIt%Bz?C8JlV@~9DSxg28fgzw*i2ti*dW|UUsMZJMsyIL1j$N_ z*KDmD9NP3fO63Y?jz6>sK2TGdvTU0&JaY`(p80F$lp@BzF(_@cL9} zG7HWsNvaaO7PbyLtS(lxAgOJD*p$6et#{iP@fs}1o0U%>*z;^AOqKhg+)z!CzKR3e z`aX4OQ)!2K^=#U+t#y#5;if%%7-_^OjijlMZCzf*c4KUQX^fnMx8a&Q@0RG{E(vTj zIhO!132gh^5jC*M!Xp5iQ0;H_xeUayQ)(BGGiT=1F@f+t8h}mR*4)HicSO4tC@QPm z`T4ndo90HHR5oT3(+8^(=`Fu>Y7HG%QJ$0l%D8X zH)#3E=1%6gjNq zSH=GQc3s=QE0b>O&jV~5xu~#%{WL^R3w_*Oj?3^BF6Es(M za(w2ACmw9o=5;072*7sr=C^L$QdbluZ*r!$UyGtG(hp!W?AJ8Z%VU_T>lQnr#fp4A!qs<|*L;>R%Z-;WmESN( zwn2**4Qy}uBp?zp36ie4E&)#&UJF|WFEyr>*Vh7{=_qzF;h1|*vuiI;Ae&#pG4;b| zZ^wYmidteJA;x7TM%TDH#%mAP5Ge!LBe2EcE>Skm4gSc%I2Wna#X50qN-KNmzD$*V zV4X5Wj9LbX&A{eILs*N}4_+Pm@NeKTqMAoLJ3QSODx zB}_64E&HC%ZJR`Fhz)c|84y$AyE|)?iH&VY=K-{EOAOfH2l1N3ArG8|bOLEY^)66J z$MRdN>uL(X2C;P_PxQHMDBs*LI~H^^$CNUmKeAeFsgZ6zxjh0lKo(>p7R$V5VDp{= z=uu(AM1B0`?$#}!0B00i?0%=dhNd)Ch zW43Mv7}%8PQir>59m1c?Xc*TgnMuI5XKhnA`2O*a?^&~t7AKg6QQE2P=f;-i=7)e0 zpbB84r+NJ_0vm&Bkq4X9vSoKfSvv3t+k!N<1@DT+felwTZUNeac{2Cd&Srwux2>46 zEsxP_^~72?;+c{SX1M3lJXCe)(4o#w6C0XZlshm;a8-!%1b^C?B!tnNOeK*GqH*IB zRoB3#=4VzECp$B_dWg|H<<_ftHd>-hl5*EJp|_>$ES*sRTdG@Y5Jh0y39xB|&A zg~3FM?a}_t4+3nK*go)@2iG=H=?3X^Z34Dt?}}Qc%jm5LY+i%gsn)8&F4_g<^WiJb z0$^BUDMhq`k2gGAn>osiQCq%$qNxifg=pK9XCz5%N3&?;0ygg)Xn>94#?R=8Y)JJ) zRpANRz{b(-KOwRGNA)$m-iy3O-4}%|j#yyw?%&ZC6L~Ik#nmpLD0oX=)8>80d zuH||Oe?Qa-xQz`x`Q$kwL@(YXii4cAiTw193rOSHyqJd{$Me@Oo@Qq4^yy3d4!FFq z_~nS!K7W?R=x3Ktt?Nu>{L9f9?c%kXnkmHS>FL8=U56WLPmIre>52C>vDD=ZeZ{?nxEu15&An-%VH@T2F5*bjgtbd9l~(uQCT90AdTp})54>h}u%Ex)#lWU+p@EG8a|93$AJF;%q>=%MMj$_a+^uSX z8we3;O%IvZIPJCaP|pj(mhEF_YMRa>3iJOvw|s%s==1tAf0Hi>q-l*YOJg4`H z1DiK=Nqr@%N?KiUZ4|0Q`oV{dFS^$240cCrgYa#bDG?;69;7wwb0K7UqS&w@uzl<`ACu?CxAJ2hvj{vFT`KS&8jG#cN4w3$Ka# z{VS4nKaxMgsdXoAkb#Cz{n+bGBZ%%`I+}@wB zLIsw^r1~i z8n`A^)ja(0uIcO7*%G}tfAw1ou`SLG)@ezpqIQ^=1kA9Cz*Zo(BQ^5JwZ^7%esile z!JhV!mKA*?jk{Z0XDHV;hGJ}2pVYZfz?E8lz~kQ1&KJcK+sVoUgNRUPlWXFE~I}Yh*+~`Q{+L)Rm_{} zzLX~QJ7hq%nvZRVYur8R@T~R44$)updI6gw;O$}iP>1b;`#hDdQX2azSS>72YSq=i zrVHjZhf6%iZDdf7mMExN6X{=KVFTN9kk#B^2C771w7U4%2DXfRX~AHS%nKgKgZ$&r z5bcm~HnJWo;J~!aVln}*fz54K)&uy=Uhtf1ZUNkITJb-GzC%tf#fJ+VtZ*X@loqcI z0Bn>)R@J3;aptUdmDBP!BCMjWMU=~>D2WnoY3+nq&_M-k+imJWqf#De%&pBS=71p4 zp+j?fRSf!K-LX7*adw_UU<(&0k&9~*iKOd!7t5HOJnMqQhXr9yyYQz z@LnTLl+Wi7PYBMBHn7bY*l3A5tDp{G!^{Kw*k}O(txI-z*)*m2&D0lgSE{rD- z4Qq36SPqP z8;?kt)LtEct;Xp()u`84o^RQ0N2b&`(-M)s*48&N(u{af#q7!R0XFj*6~@&H@|uqV z8AxG!-R--zL=!KugS%AHC%1U4*LeNtbuW}Zg*@1dHF01ooR+R1{Kj;4@55`xvv{rn zr&Lm5y9=}>5UsSr7V2lW4Q#GNGc-CiqQ!GXU4__J?|MFrz}BM9WvsI;;Z4O66&p@; zy^eCu1&$sR$?-PyXf&?@Y%lVb0TLT{VzV)Nr)YC3oifX2_3Qx^UAm1PRk9Q&VB<+U zG{S5_0ao~=W@Y{B8D7_D(}485;fk!>Lpw+J==rQkV9_iZl6GaXkSV?=%mg9@&$0*y zqHrr+05+vz1@w@l)ZE?;34$*h)hv|6_K`;*woh-d8Od`F9B|q_ zrEXV)fX&*VyS|iVLq~eL%(y6OmbC zK;}rFfNk}9y}xC6^V)iDdRGK&_4+izCPi@36*Qvwi6N;2FW^{5vVCjNXFihV48vYf zMaIQO)`8IP)W5!gEg&^}yhgSSL1H8AtFfX=I-K8yX?6=uP5rH;wsrz+LsHm~)-=O* zcE|F%8JZsJxI_{>9Z|V*%sDz#z-C@sTt;Av0~_5?)mbwdCoa&;#CDd7nyE;0UQBS? zl!sr&?rmPPC^_NU%-F&yuQd>bbqIMa@ER6v&N{$|d7>-0*0Lg6*FNYhr$Nr39nGu> z*xVGwWRQ5O2-uL-~8880cv&`Wwa79Q}GU7VPJ1yryoFi zo2_wW=-~n-`I*nRNt=VgGIdDrh-6H%Ma0&Y?M1ra>mD|+X@+e$pIh7C#${m{EvWsd zYt9-%Y2zUZrQicsB($lJ*zV_YXjnJ+?*W@3>)w+;%ZC<}J}UcK65%-g=U<#6T7uSe z;?t6{THMGZ8Ey~@5&a3FR4Nl&0C)r2$s(|cx2{25l=egCqLqV)*Vr7NyOy1xNeZxi zlWyoYjck`EXKzj{jj>m7{lbOpg)G|&ZB_iqaPr2tE-rrg%U>3-UHaM+U*q)B6Hh!L zU|Z&oyT`ZgQ(Qu|c+J^09oE+d$8oojTTNHp;kkuNLyWLNY^jEp0W5I<3PJV0arQWT zeebagH;(Py+clo|wh{lK_zhXL(aq2rO6UH~_pnYJ0*VP6*d}1pVp|ohNGY(v@Oei)k@sZBxgMIHVq?UlTn51@3ULGd2g#B7LD%P{F zLtqOVl|C!tTB1Fg5Z9jlRl;uVZt_~-wAiWN%x8%%sE_a13UwtG4wA6uLyFGmr(zil zfv#d&TM^h`GY(x4myye*98pcMc{LygYz4jTZ@^YGZ&7@#dCiZ416w9qIOwZVyB}cl z`tYlr+0I6RkS)k$W_)xu0bA&Db>PNjjG*<8$Rc2~uxwccvT)=mT2OU;AHcTCYp49c zb~F#>TKoHn5#2Moc5P2L7$dw2DFbL!o{bN)RyOGeC&+LDZ=^9fYyjcPz{ah3YVf4V z6Ci2gKwJBIa7fVyJj`%q>iEHJ2L)_1n+AXz#9n_N&x^W>uOWh3Z9yOgj4B({$b0q>?K>z?e!3J#IQ z8eptiA?3y;#1@r(KU4@|UOT8G=ZbHM0Tn&cye5Gy zYKqqPrHDe+3MaruBNtxVvSkYj8`UgGF1o{c4MUA*^BRDtGQHUgkGxja3@g%GBtUj| zwW$|}!X!%NMJu3@{~jt{M=`Wtvl^Ok^y-xc*y?Jruyg7ex@78jZ>NE+sq^4w3SLvr z!S>}HAl7RDHjrt|MCP4?V;7E{fzcLDoec`x#YJU{9g_ZLU_;CidKg%b77AdRD_UAttP*8HH zjr!+-jTO;=Yo)ghbXtDdAh8`9gSH>u#^K7u7Ab5xNdTJ!vNID9n{X{h<~y(O8YOSW zrv+>{=h7X0GOBMs=>X9)65?*!yp75drgpMzI)D9J7r!ovjokOkm!9|X2tTw{?IOZ3AWe1)~0Gl@h zUla*!qJbExg@HD%4XWEu?H&8`j@nB3trahqZ;6&r*HnSm;zurZM*m)6OD>A~%(_?rE)>;>)$FBKgFR)~ z<%}zAk$4&_oA3JEyk_JSuok{(s;VbAe&TeAn{ZA|Ou zeHwUxQ<(kpQbLBAA>Po|00oV*n5wMZz#rMIIV&#aW zGHGOi*J|K8FCI8;wNerrI2X}vy#dxMxZMP50c`q$VAPJ_R>v~J`geItv!2f(xY32V zJiCiHZ6SPCL22V!16x`nUKQ!q9uP}bvTP5!!;8onebwUV7I;lxWmxv@P<*J`=1%dF zZC!Qv>DaKbN*S-F=q7ZjO%%Mgh7qHX*GO%$W_^}lh4?M-j+k$ovAi)Lh#P!rxl~x>P7++&(4PZOP-MAOo z?+{x*&?I29)Ru3^6EkICqiWmO6;-}eHcCvFBd&mrE&W_iC%`tu;AB?crm&-0WVk4mnyu~vL z=`!n`(~NPA;(jJJjmI7DYRDi7sO0?NE3x<0A8({=rJ*$e+tH(3Z&2Gc)sXID_kf;g zLq8p={y=O4)DZz&HnR%^6Tk6n2Dt@|jg12=*^Z*K`PhSOJUi<)0o(rXv3F3S{#jbP zH+}8S*!J4L{O4Mtaa_7*5iN0NpZp82r99RCHG%ENg^+`Lom_iK?BtHyp}zFPpFBg$ z?Cqa=`==1tLPfqF0=A;S#!h$?_%83Xr6R8ZY)?LkneBy%xiMdu#CiScnW1w|d}r6- zCb;H+1QulGawv4{2YllqLu}eQShy@!d*Vx9;_Pu1=U>@3F`jRz4Zx=1j-xwSd>Gt| zFYa6ySoW=_F9U2+z!^erUR5I^Yr#MF%b?O@pdse*G^u?ZS8`ACkgx%=r8sw}G|=hotO9zHXr`Q)z7 zYl(|~DV|U|(P6Uaj288^lHu?MYQYuAWxrcCLRG>lCfHUgMKqRFK^1{5#%vbdJoOfh zule2C5ZzDYJNqf}%N>Z4Y5j9R82oT1)8Xc)ujN#bU|`#zJ}HH`q@Qph8_;&d#%Kt^ zQ9@PG(-~fS-s|h@VHKLA=CzHrUAWHVc#a+#UE71D2WxBq8{88$Kb?gX8A|{m{K?_9 z$|^X^GEtNOs`7H9Owdr+l$X6_3v2_g`9Z3bl~i5P&3M$dQJ36GyX%?_RjZ1?M%4#k z!}N?nI8rX@h|->e*YxS7)v}Ol<0pb=Tp@0UVjw{3Y2q*NFz~TCkSDEj26UybFb5#l|<)-Ba?v zLOq}RNlWa|2jEjmDYR5$@S0(Q)~GP$7FAU=z}9GBgHuD0m#Vm)yUL%1>jl6YWwn#& zQt3z)sUB7u`%}gQes&aAp0>G(I2GtsCsf#1jG_{-IZ2Bz1V`*72 zL4Fw4sNVM=4bUAx+eb0Z9U7ZIq!m#ZWO-?fSg%jG$*C4~mHgTtl89<@q!uHn1+b0bElQ{HcADL*ljGLu1i>uzJh&QvJ?; zM?N#LjprF+6R_DGjla6(fIHX)@pvMyiQZ@yU~A2>{<#i;O(~;dF>fhgwZW;$Okiet zTg}nkfE)jM6fmca5$_D72fL4V+w)C)C{qsvJl0kSCy0Q}(e4$}*m6j0A3$NF-a}JV z-`V~M0W*|cLE7|D9T(cv*_{%wO${Fn^K0senjlGJXi8-Yv{DcUFREPfXW}TqY5x+jmGo5m7kJGpqQIIYwgj$~am;;5$?VX$%;x$T z0^55j32Xt^3cz;W25bS?@W~FqCR&RD8-m*C+_jra`rkS;v!q?@&M^ZUxdr1lZd`Xb zLZ1ACr7`l}@!+`mjm6J@{xn9plM6vy^Vyd;=WOxMtEJ&Ux=Hs?eG$0^9RF z(nC`eS-dIdp;oVlrYqQx=%}>tK2k4WtD)s$apct=Ukih4k%tHURmu`u(dpwyWyjb4 zHRm-d0cnZpHD4&!em+S9TZn9mP>r`@{R6JWAuXKWd)PbY@oaZpyvOOaq=iSU6B@4d zp)bWQgwCjdv^=npALS4!8sb4u1Gpa0if9d21j>$^vm~-di+N+k{ZPL@CQB)%T~gB5 zAS{G48LY`1cVK0vxr4^L?r%S43Te){XB#B*(gT(CA1becL``cf3JTbYz8(TJ7DS&{ zUm;eBI(g`FEfs?Y>4bTOu2VB&nGE-c#{R2RhA~f-(LiL{C*@^EH%dD|E&nWseNE?e zHd~XR(()oxz6dvYPrItF>EO0a#5xW|z}DK>R~w0VZa0R(GByL?DFK`Crf;NOMhn#D zZ9MJrJZiX!h_ZGCB}%lbTE>|ODByn^4&7NJdL@^TD;pQ}Bbz)T;+Iu(=Fu12y5ZtF7*E%bcGc32dz>YzGf^_G_hb zXx$zW+k-n^^Rct)f}VxZ4$Y69v%lEZHS8SNB^QhW)3Cw4iuYde@^!>D&2FAr>;7B4dD)=PCBLQw3gv#YN4w!u8d zU0&Wqu&Oh!p|T;cxfLqsU48}YcX7|!A%dcEbVLnn#x{tJx1gi}c{D^FLPfMHI-Gux z(`xXi8!UTuX|FhKjV&_u=#{4kz@|S`DE;W$AC~}l7Dbi*{^$oj@PW5Is93C~R9l6J z&A=vYts;cErxeM>OCX_f$1xj`F8J--B9YvZ}VO90pj9t^(Ll z)>%5pHl=F8HFroQv9TYzQ2@s|0^3PuzqK-oyheRk&&*yabyM`W_rrXx%=DU>4Pg8C zr_=(Q#SZS4{28aX1gHHgu$I6xUjOA6uZYH?4a%FZ0cNfeULKq#>X&RB1YQH!J{jW5 zB4C54xXO;_P57ofViQt(WN;ri*|NOVOzX;efsc?@o@ti z1+cO0z4&#I?drwP5^DgxO)gy0f+(k8+a(>7Sal)a)*xU*chJgzeX+2CB2!|!aH7?!5f@qP{d=xIl z8=}c_XH>CO5tJs9-=k7?EWhh4ZiRlRBMK-c*kZUApIA#WoV%cb*C<_0$Tg=un&iUAw7Vh?ln`Rxch_0odp_+Q^LJeGuy;%&8+fLIgtuYz$SgXPtF7)Dw2KlGk9jmF7t` zYt?&=rkKoYVJytqqO04tY$2ek{q;D$F^RT9i3W5SDa5b_8P?-_XJF!bT~`?_G@dKl zIxeoFBQ5Ez%HDAD&JB58@}qSb;6lJEsRu$LoJI&OmY2!#MuDc4L28AE^`s#7iQ?+o z<>l)=1AQl9WKJD>Ah2|I)H?@K*LaPxzbX`DS&`cIp%1O=%}VwmL*gLc+k>rXfX%sE zQ2>`eBf}bRD)SopXR6Y`<{~#g+vJvLCufWd@<{O7JGKIBJ0jz?(L;xZPT|)9u&o=N zrA0C`Mi>pCr3tp#S%%rnYeisF_w%foO-0*ua>2wFfK3|P_EYYQavRgh?!0ns5!i4G z89UTVv3U@=h)m=FHbWQ%k?B%@KGhX`bkz~TPfOOSRo zLS3A>>L^q+rP6?FTQtldm%Q6o?Il4FWWW%AinEee`1A8|o!M`XmdAMduKC-xs z6@YC&dk6Q$e65VY#>?-1{V&2=prw)u8*gQjKNELJa@s%3YyZiY;K7!#&AnHBEfH>z z#-Dc=FJhXFqtB%O`=7q_1Xj9ii++A`X70jt?M@mp_Ks{B&hUp9 z??1Tr*aSY0%U`)PIeF;|m*>a3QW_&oG1C&x1#Hnus8nX# zc!aIcP(n9LY*rg+jHKBq>d9&I2z`wpLs}dFTir-seP8{`jt#bT;y;w0ef@N9Tq`_} z^TxT}T<)L!sl2>)&w*5?v{1?Lsp4f*TA~O#D1>U7*Ww{mDxH?XwK%HrQjXSQxK?_>M2iR=se*oP`g|bpvXJuvcHh7JZ%l1?NHYzj}5u03|hxa<>3XO-Y zav9jvK@6ZGatg&06CW!eAJu}NEwfPp*bed0n!4MYs~J)-ut7;~iHcl6H{Mg0XWHLu z#nS^|Ly^-+=txnc3SkNbU}G5o$Ao6}V=&}b&4vzQO$;lv0xtr zu*%SowzH6inz6(I?1^h5=F_4*z9KP`H4tj`=(R zlqt-yV4QFoHFN{8dE)@ciuM)s<#DxzKg(-A55U$e58{gSrnkKfYgUK_R#^*UtsA9< zW=xeTN=3jIPk^sxN5h*AwbDJkPmCp7TRH$+uG6_;2DTjl+twX6UgO^kf$hq7H?pE4p@Q?F0>!K}&1~HhFqv<%lc!4XG>wwthth z^wJV#OcUQ4(2E}u8+Q1_ASEMSMe6b!yD`m=3czN&Tm(DPpV{Qpd(jhh5Ej+d&9C-u z0b6qvPM~Q3dBJfJ)oe+DqUJS-?QJ_AT-Vv1=i&M91CzPf2vtcr>+VmB-U7fG2;JiD zQA1RH(#oo%Sm}bI09#)3ZTVE*9=>^iZ3u9lC;}VaAIwX40AL-yY-efDoYe#D{hB|(Dxv* zc|&vvV*B=!W27A9$c@XYCIGf`GsmW{T$#Sk;M;ZQ#mj7WadDQ;=9j;I^;@@&UBIUU z6r5Yy2gR{6dg=1z)1QC*vlq`yT+l$~#*k25n_^aVVsN}GJ3crucKJ(RIlXx9iSJ&X zzdqR2cCt1z*on}0?#cOM)3xWRDTV}USr(E(0BFUNBL%Pd>C!FH@Vt#;W@`^Qhzr;h zZvbfKa@r7Y9D&z5h-9u}wv~2M#{kM25}S-SgRz#M*ad9TPK<0EhvJy}RryA!Pwqut zb0tUBN)E4a;+u-V28PoP)oV;&^Bh}IV@u4g@tP#H@?Fqm5S0&Oiw1Yi4UHcrInA%( zEZz|ep7c-){7((QNC~kw({2n&1#nVF#0Wt7!^~ffzh~_fGvn}5LL7!I>LRL1Z;b>A}Y&MwM3<) zIlal)#-ZZgSMv<)jXpI*n_1VRIIHAT$1*@$zoqpNb_-T&8#M@QS}=&drd2fuoX}}d zs|J+ZN3;z}wfQV)Xx02n5WvM>fQsXEoPL-Pvw2&Hb9dUi8o~gZ3?z=Xi`Tdqn5;g^ zEfAXlx#7!J3DvA`qSeS`HwJ8KhdvZV!W*5L;;Lv|1F&t*Feuq&aAH)*Z@2O8^r~c+oFy(pnYn)H8UGG1al9qnesSzxP5HvS>8P$o83J+dnfwA zG`MX7i46*)w8`oK(ZQTdWnEERR0F^U)pYlI-!-Rj0$Y5bxRLNQYGCVCE<8=s!swb$ zid6@&F&B_V9;LK6irl7L-%Oi$Voy;?py=Xt*mJoeSE zeifaKG%x(6Qc{1RDN1f^5w5{+`N5{{28SH%l<)@iacWDCPP`D5YmljuWm_I|Ij!u_ZGLg_%IB}G%GiUn zgDaPwJc+_KUK{b+dS=V2`2P;GF`s*koIHMwJbVLSyLgf*g3*e7sLMR=)QL04&yRmr z0e$oe3g~A#r~S_7GFp@w_9oH510msW>qbv@bD(Fq@)~S%0XB+fnT|A)2Jcx?Y~T0d zBmJIt(VP*cyO|L@lwT(kno`r+xA_j2z^)lo)u*HYgc!?jaeR3@~wW)kHPyP6ZNn{JiB}GjwPM0UxT)41N z{jbYd>t=WjU`zV7i1#6VqrQ#+Hf4yGDnyj6eK$GHWX3_x0k*-yVr5==Tn)bu>1(`E zqOR!9iBy(=Ir5J>rAx1ghRAm%96V1pvm8>ou`ylKG&MA2f@*3Zi5hm{MVPQY*ye74 zw>Yvhg#QcKEX_ewk$o-*X_`=XQIHim(aNGi#76l6I4)>lv4N!no#~@>;DC!$j*Y_X zat5$jyrP+>Pe7^}t{!wm1F&_?UjEm0T}ZWQ;yUe1{^ikaWE9iTUwv8)~HQ%6lnxq}*jZG$?ZBDPn) zG9*(K)BtRCn*g?!uyBPSM1PLda#(8a3`ZT_XF5c&et4h zI@+$_O>nJSBW!O5*d&{QRMUIz($c^V1U3>6v~VC$n1Lis#fK6hWTc4Eo zK{dv9)*@TjFK~qg1j6ORzJbqain5rB#74dikyH!Em?j>`0NVf{rZ6hf;W<)CRFx{l zHQFQ*uEA?)Ya%wqyp!b7r>z60WzaPbz{VNk85RH>^XioM8Vwr{EkFL=&>AjTS zm*rG;s+*e|YIq~OM%ns_E1Gv3>1^s_rPjoD;R2Iv@7~h~u_6B%*a}spq0$uq8*6Ve z1)=m84;NZFVBZtv4Cv?1lGA#y@R+FSY(Xzn_254@QAInsZ}{*?spAt5HSQ#*EzvKG3E1=|=D-GKhNjO=FI+r*e)4lqBCx5@*Jc*R zrpGRQ{mWl}^s86q4^Ez^;W|m2yn3S7=!mi_y1IyQ?mX7Fljp~4_iK+pYnnB^N)T4& z)i!yEF!^@*!nYs3gn!4xNHhP*NHIoa`{Id%livi`c!EN1SdThpVC!N^h~jCI=enqq zLq&UXj1YlucEl{|V9}szptZe8J_Pl&xa7mYs-K5ein~0Z+^?pnZRo>>fzPb4x%|W) zjyTN0YCcMgujQ{KpXClU;58StJst6y{5%qw?=fW4)gJ+8xh*{M_d&7OrNxou5K@>+d>p1Yk>~AOttPq{L=o6R)|rN`|PWR%$8= zw*YJ!Zd6M&{B>ZHH6$~#%(MsUAxhXy!1f|cJ_4}aX#@<5qWs8aD{_Ek)=YNIN1hwm z^Ft!I0ZR1hR*zEV?zrE8BauADp$$E}Aj%~NwOdfw6s{f`djhtQSQRBYu^=tTQtWwQ z0EVI4V5kgr1gwEu|EzQ>Ria;PDhE_$(E$2?Q0;-2wh-jIB6~r$J+`5|=GXpe`rT zODl^2O~A?xLE>^lk$b>=Mz%m~ytC4=%F2uReh32feRRaTmkt_uR=2=bqI)(%b9cPH zT;ElW?Y|*62kUC3ejeAS&en$F;|*M)vN2)C+iC=+f?aQY>-`(IwKWuISPl}PQCC(S zSlRyqg2WiF@n<8y(Sq$8`IR7wtz3&r0k)PDUB&@OXP~_gV52Fz_pNUR!0=StI}L0( z()|GhHa7c*$EKJpQ-CwSxxFBo@#}!sU^0l!$Y#s6EU}@ZL3Z(ss$i$97^~^Uy>@YP zJ9Mv1+UU5*jjd_O{+wStHZvevqXx)fA1Q;Wne4tm_LrUBBqKSIeQq_bfE?*fL8!xao3=+frkb*ObeZprtJaa zwt)?)Pt>I+6TW}!idtf0oNWhVY(2Vr8g)9gj88DpIVq(*Wu+az)S&))@Cz%C< zjfVg>D{S1-$ycKsdT7+a@9Z};EnHd{KHM`(!kBiA_!9w9j>C+;R^r&}kAAcZV6zFE zfz3uATELsAM_>cixB*}r{O&U!c-Q~Rd@aAe=9gGY6c)+{Ysu)(B(7Oi`;%zx&wu#a zuUJNYX-A`iCQ2&|27U1eX}@csGoSz>dT!QmO0Y(^WROs*N&zA!e%X^e$~flyP^49hS|5N%NH&@4A&jpH*;*bPkF?EB*b>{k#8=I@8{R^sB)$ttJk8iJvW$N z+1_1!qS|02>MS6ibe%+TOdxa`8$mAW#N2iq@)m z&9%F+$YC^P^@I2E<3btS(OY$93d1^!m{LMPWl#g_A+UMxlWV*06ncPRx`hXG@4ibF zo~dQn&j4Ft@pCwe?uc^4xP6`G)bE9(WcMV~)uMDqhvPND3GZ)GZj4g3J}(LxjT~#r(rY!Q&mZRN#AX2GzZ9Ph$LILw|BppP})@aQ%8k`d&Iz7Gv zUh6qfx6Qfl{Pknyqd`@M>dn23Bmg80QE6|WVoDpC>W!+aYl}7KbaIKz#!lwu&71Ei zH?JAkf*q~CyBH@xksUuGxsBrL`+adWfg*C^&NaQ)oPl?h)v>JiOoG^ z#fBe5LHE1gegDSxDzc7ii>Sfz(t6ef1=&_W4QwV)%Dl!O2FB?^K2$A`XJRu~Rxo4_ zXMh5rO*gpKXJB(|!Cias?^p)I0I=n0IuN2YmN&KGIqzSv`Y0tE4AYf z13R=`kp~UDt;fK|%0nxzY*dBzM90nM1~yKdX~K>nK>XO~BR}xK1-yrc>col#7W2}4 z*IfWxfz{0vpOg1j!ATy#z}8xoDr`J7s7Du#^A(Lu@Z|ubyvp2{mQe(37wZLSGL9~S z*A#SMc}@CS37(-J^&EMy%;ikDwj^AG*Jj0Q1~zKxM}Pgm|4v_{xX9NI4GPDlb6OW?VCKEPH71Nd2RK^LpQ(hMQxlPe&VZFu3edb6#1=` z!Gh7r6n`8|94F&|0o1;wX-d|`_R?1msd( zvUI>Rq4OI7HVl`F-OnIqk+Ow2C1S&0VMBF8E83cP%^BXZ@1S1SUyEe06SpUaNekIb zY??@VVNhCPk{TzKAdWYG@3uA`6lZIIHJ_5|TEcrR7qnG`kW)Ur% zh04!tel@AZE~%KUhp*=5v~Wr`Mw7_q!`s(O!-+GNXtKcOg@e~xUsFM5u}L+0nvE!6 z&>WQz*y4$!Ds{hO0SVeZxNp!)`?$Z7Z52;4c&!_wuoaWBmljF%y>-7AHSiMgY#ged_H+W9o1h1CQD z8!ojzF4!z9x2n5$ZT+}%-&+N2DRbFo5)wpoXjW>_qHL5I*dVo3Rb3?)5tIl=1Z(96 zHUUxjM|SRfynCYM+~>o<+NDlbS<XW3hMz@KHt29;DN;*@EVx42eEB_cucYyDj2F6VWI)Mq?s*3 zT}W&OHk+|I>VSgS05&9)ZCN@T6 zL~KGUUflq%(gw6wLn#BB^KrOUfj+9jbOm3LVh>W94UksHF{XoUYEjMfOfKz@l0I-` zQyns|v2tKulfV{eO%JDY4G~4W=KTW`o7{7M|JQ$SdTlM{YqwrDfY-7L+aG_orr=Lr zlJrHzx}bjm*RrC73u61p+7-67bU)WlXg<%0Y{^@b0^3X1I=z-dUyFen#|cZ1@0-^` zj%Y+{FMMGDHg<{+fovwW<0BbjV?%U?vjycExW*`ejlZq7Y3~3y8)nXIVP>TM^vIco zVbu6DGbe_-_wc*o@}eEK7cQN-I9X5PEeqxV+s%h=&YgIaJ@Y5=XZzOKYh#DMe12)P zqJj^Kl`SIx09)_C@Z##+6Hh($=;4Jvnx|7weNIcG$BxbHBW~qb+nF;b#^%pFGG05b zKt2x!AxmUnO2FnpUTs~4v+NZpthl49ojH)B=Cz_)8lsWG?(;X4Z*J%y6B1mDCeHOF z&zhZ7lrXLasOciEuQ|TxpOdNL$mWv|@<+WVxGgrj7Auonj{0uKf-Rx2Wr2;;53>>P zuG>b2=ESwQi^so}8=AP5AhmEkFR{g~bie;>>bpV*G6GvjuF3+Nc#Rm*M5aL~9dXJ6 zn=wrl?E~*tL(~d~)?=P)MV2zHo7yNM;AsQCP$nPH7!anux`7RH3z?VP*L-I|PUDq< z*X|UPz#P%&ym-)fwXUJHou@I4Vk5B0TpB+vgs2Wq%1%f8@$i;yD$uL|AY(|hZV)Ak zZphB&0|QPy?||1Ly#A-4ARqfK>g;z4YR4e*2U9xmX)SJq+eDqyQS zis!z8tS%9;oOszoe3BwViS5=W#8hEe0{%Up9`*) zmmAnNgnfj-Yt}1E)s$l#s{xa*;2&4bci0jgRBS3WDF%zS7_g;U3O2o)or4y%(MCP> zlSkxySP@$s*yQsKsdGj{w3?t5GL->0K0)JQWIS04?Z5~FnC5QUv{6478_gQ*2;8;I z%E1l`Y%C!x(!R7-rcf&6HE`|fv#IWLA}|A65ZDy|4w7YnjkgD6GqBC+1``_(wx}%9 zKx|5_Vs36)%MJvZzI9Lc)Uo02bLYB=npUD`Sp;lq0^{8w;6)^J+fZw+5Zk^gY5-vC zX|7^HbQ7I_c4&EvvZ-vO<`Qm|Qlnu<6Jipj5z;1Lb4rb@2SZixMloQ;WLYmVUQK3i zLEV;ddCIuzT@yXp0zn&eI)tL&H+65-1YHNtFb1|zv^y1J$fF6^WF%J>0u$iI0f-HW znjFw{iZ&=g2i!X)m$nJ-i89hAqXoC2~`=qjBRwA_^ev#~gh9^5JoQc@}w04E5Oc z^Tx^(k3I^oky%CD$=Q`l7e@iMW(?dw#K%}tJ-P4j*wq`WV~;+CK6he_V1$`3fBDRb znSBR)N7!OL`1s@dW~NrIoOtB3`^RhVqxri-LikQ@(R^K`{bburXyQj?o~1Exr#Ly9lLi!Jp-fcn=qZ#aJX z`vxu>-LfD0tgIFXw%z<{B$X|RP+(7&eWF+uQ*u1v?P?y#{v%nS* zjDa?iugDWs6O|2P-A4r`@nfg67g5o@y}m3~Q>3?f&0GRaZGZ*iz*f)#uMKH}4ZEif zlw<-p1Z)MWLa!Yt0i9+ndW=S^t0Ql=uq5EU0}-9oJ%CLuQ7;a-A!>1rGO#I6VHcuJ z1Z+ycLT^IVNwJMrZr?Fa$Xk@NZ5z^*CfG8-cJHoMdPXi-O(E;moC(;1=PA7AiM7hQ zQ+j%J6a&=4Kp5bY7MFM@a|45M>WU(T>CY$uuZP$KWMCd_Wb0h-z0wgiseyL73?8(v z1f>LQN|@3<0)1Sfrp!~dn#PNOO_IJEohkQk`Oxy11DHJ}_j>Uf59q~0a|5$i4ZWvM zwFo<%+2C10eXsTKnd~m`P{d~UTpN2d6x{z-32ddc4Cpe6=52TxDf9VjP%ms#xEo6K z19E(mHEpX=yfVTUB(ts8djV|Ld79c$g#a6jJ+NVu!bV}_F~-Kh16~(cS;0MxTJi3u z`7Dg3IdCfQmw}CY+c7r+wndI8HBz4iHXu$wXNitHDu9i$z=q-mu1#y%L2uiGe?a%1 zy~}(0j9v2C%_va1o`3 zXmxsYGyq#gs*`aY82i&;a6it(I+PZBB zp>h%Mb?x1>acg^>)1^DCY`O*^Hrm@LdEzh@B>1pi6J>isLG&WFMu@GjqG~{{+H5D; zicQd_A+{d5&jV~r`}sew9=m~!<0zkw%l_T{T?RInd2LC&Hj?4BxWe|?1Hb?4|H^!g z^PI4jRM-qveo0VUGNmBqla}m)Qn>^PJ@}dwHe=R*ait&$V|iMm;gHgbXi{7AQBGRp zBFSs!w4C+wAOGN^p9+;}hJtNW_<3OASj6UKQEP0L*qRn7&JqgS9K^PbKSm%sLaI>U z`-YmpI{jy#JNNLHRA#n4)59|t9~uAbQhlekMi0+pzIKJIs`)3L{Q9Hw{$(6S^{g@H~HZmV`V5wWb2F zNy5;xo+?_-__%F z^*UX;e4!1*A4Ry9t$&0zPHSj}CVHYdt=IBk+b7u%{byc_5!(+UdCg~Q7ue#Pq5t@j zJmtYPS3H3#DX#f!t?LHnG#~gFCtbsq!>HU4)m5u*<~1F?upit>h8&2@Tp(K<*gUI9 zal0SY18n}~JE-5XylP1_lH3HV4Dg_e5dS(t(#s`GE?&CIoTyo7nhS zjVxWG9C)s}e@XD=&N>*XJ2I!LN%K6eC-idnYs$+D?chp+74(7*ggKOaqcVeQ5Q>2# zGL3-hB(QNmdD(I@vq@ZYNxmt2{HW|a!o~s4{{;rNo!bu(G4N~@X;9g0gqx}{u(d}D zo6Hufzf6QQxmp3Q=n0!@p{JD6jmpNUV8W8K~S zgl6rpCSdcb0d(sb+~#v3BhaWF?dExx?!F#`i6@>eT$SoZMH&~*y`VZ z&%I4%-vDgv32HON{@sq3m;C2dc4vrgA+AbE3<{(uBkO>iBM%ss+$V)C)zV551wRl& z+7p!z8=xUb+p&nH2bbt(0Gs{_rVDCZ3wXv`GWnpHTOc+mav|ctYXt_jVH@aDx|iQ< z)y-F#Tss>98(>BSk&V=N^5&Um+qh?W$MW=0Tc_Ym#G)=P(a?ldQ5MReB-)=+(%O%S z+Nx|cz*L@^yt)|`0GnDTLx_(3cL@6i0odw0YM5T@k>17ff#05r%D`sVm?{HXa{#u| zsEP*N-Ik>rWp@vav3WIhIuZ`C_PA%$#(THbi33IDp$3^eOp|lf=08dBAmO~iVjG`2 z1UMfD7?VWY<6;q2gG+B2`j9;8$9TNpSwxpe3dW}iV}Lu+%@^6HEOUP%=- zu&GX)*CrHu;Adwl18k>}*#2kcYg{CG&1Y2hESJKT1S+40E4S)`Qt>CYs2GsTjcZiW z_4dEK{F(cf#6`Tg#sphnw12rBn%p)>7NJxzV6(s$rq{B-Mw!^oo7ez06PqdyY;)k+ zxi5U--fcY{^=wG*Tj(1bJ0~rC>Wgy^KYV!^c`aL4_w*eeIZvnc^avXShaUylu3h=+ zm6f@#9%i_0aZVcB{LIDAT|6^`yW_&t!h+0o&tAV^f$b?m5~golzcF?2b0_A;_D#;B zsf|`lPEOJoJ$QVHUu3pQ&@*ASqNHc58`3w#YaCiavu!D=K~?*%UE;OD=ODWG={2sfWlk^s@%PMO{L6^f05aBc)}-;A6aIU<1UQn^2a@o$8wb@L+QL*r zw6Ho=SJhChA-e!<#aUouFHi9dG(JDF`5p8#1#FfD)tNNeQH53vVY6Zb8%qXsK*`Cc zL~K^AiuuB7qg_$I8*{0Jk;KLWc@1d`R=iX+Zx^z**3lO=u&E&$nf=0Wj70Ue@Y2K6 zv@O0`D%BPB&S3`6TpLVqlm^JM6vH~9zty3+Vb)q1KT1B+m3SxY@iPk z8zJ-q%@y#~=&0J7kd3r9lNXgP>qH|oa_$;x8mOXLsuZ?G4S9l1EQZA9kwMPNDiq#H zJ5|I6KvznE>(QpDxQWs~QYBHdA;F`8J5=@3!^R!1s-~dS<w5JGD`=DH|Y7z5HSrtlhuAu%oAEVphNgah1Ax z3%{jn+Gaqu$Lg0DI`XCvo$*ln2PNQ{&>FWK+Am;pJ9H^sKO$a}DcfhPuBigBeKyVB z!Poq!&=h1BS#lBn~R-WUvqiyAh*Dl>{k9SY&vq?Cw>{f>It^^02{@5 zK3q$@`!-XY2_9o7A@J*XIsjd~|B+Afob?@rn_`JK)L5^ZUUy{qF0JlA>H{IC<1NNNW8S z*qp}g!jitDrmB_swUox!n1A!#+_UQ60IxC8X43{01LPWFD+yj~kXd%kARI-!hNkyS zLSajSTV7-fh?cw(|7rF`UTph~c;nWV9zRM5Y8Th%u_y>j+ zP-cbY>|y>(09&o-zhB-mQG8_pHuD<5#(n+AL?|%B=W=L9TrBy0V9&t(q z_rNghh}x?cC@W~Ft1JkPy#SkfqDXM2KrR3_D`|HCY|mqMly4s28H14X=B=<%(HAAk zK~H<$IQgkWi4io)iLSS;{ny2j$`Dp`xqRdV)<3 zY z6HKOWHyNK{k`2|W^1!Kx*2*YzAoq&_8^5$J*-uc!M%8rIktUj!gentv9(Ztn?fC4V zj>UF}^2A^bQ2QnYY_iPe5hHO;AedIELAw;>5*d3er5zDzLk|O6aQO(pw)C@S-uSPr z8~o?yYd#MJuqE@_6TQ!HoalnaW_>t{nNuZtqPaIedHEm6X-V^rJy}plBlwJ>7Zs%$G6x%LDGr)pwW|}IW3x0=B*;J z&=HM7gh(?;0c`F3?NzAfNZ%UZ*%8f;*gqo_6M_L z+7WzR3py&B`lw-^+7wubN>hS6FB_F8K$L*ZTZtvwJzyrw={pbso6)8S5gQy4MWjP3 z!6tXZD!V`ubh)kPzcA!B;8e27DMh_)z1752UQ4kfh zb>sW*-AYn?WMnFBPWN>JJu;K71n)RGp0$*TG(ACQ^b!YxC;E5-Exm)9qUG!8_TDL8 zgPg3@6{%I}_w{0?ut*rna%c(t-Vg}C&Z+qP&sK{wWSVwV-rZ2B{RF-oQ?3U76hF=v zQWkhkxd-L2k}1oi$H?3r;x#~mQF3h_>RmuK4@`M&Q85Kp*UZ9Rp%nm|A5CmDMf;j6 zEAa6Ein9}MwRA}Y6~bet?I}XTfcb6% z+ndqXFxuGhfauGT8G4$t+wHIB{7{wYOH*nA*tq}u{4QZnbeYq#fo+%(7q2Yv5R@p- zsa0nMYnIp?Z?$*PJ<&yq^XX~*sL~!8>YLs;+|(&xqd+2#I8S+?t=hn*C0Cm7vKF)_ zn`!`b!^j*QW!t!|PQa!iHoDOeo9sO}ul5LA%Yl|kuj?A=7(h(Bum0+ z3c#i<-;i`*a`VnFpWP^wWQpw=#gAb5R#I_5G4Lu#ODmJiX$Jp9LY$-^M1yHGU z9Th1B*MsEpScBLKX}tns;{vvNVo_4*^lYliz}AT&5Y)BBz-EbUuqX|R5;D)@fp!p^ zw6)n;EK4W&;T(~^2Bd}gwa)}#`z-a2AN}ROYQE;mZ@v~gw+~w~us!jb?1Cm-Msw+F zabWu&CV$=n0CQY$a`_;8-RI#jtcZqF9z%~j+XlA~*j`R3RRFdK*YrY>FDqb+5nISS zupe8Gh>dXx0h@`}6;}^{ z4Pv7nym@wP;nCsc8xO7kY*()Fn?bAS`W11FUo(VKU3%iu+%g&QH!hDIKJ(PcgC|GM z?;o!q{QW#NJ1Ah2+93ffiVn@F7GX>%z*q*@xKGLYQV^3w5d^m4T6x5J#7zMRmd+0YFZH3bnFTTnSIbq z6athM`k~@+0h=S^rLU>dg&U3t#{e;(9Cl!3F4KwcZ(JYD%lY}yU9!Mt`!(()wpTQ~ z=Gxq_=YsPt8S}qD)*nv4JffahM@^lg6_FgYQKvB|{v}u$g&K+T?$$Mlu51^VkX!^oozfb`<0XlkTLIt6cl)hPx{Z z_}h%fl7<(2S#< zghLB#6u`z?3J}=pVQu}}xhdz>(ncpza3EkqaO2gNGsYaL=&lxQkU#Kci|IUJNzNS1=mT;jDXusLCB5is+XsDaHA+uWRx4HFR9 zjNkCgrRW#&A`GYZ4`Xa{1EJ0e*}NqRuJPh?$!sWVWSqC180yp30WDD%d!cDwDXOMrLf>Pd;*}Y;;9UY;V1XrYL{0FyWk4*sO&? zZ2GUr7nJe_QpgkKzk}G0A-1TW$+?iMC@q`qwDzKr*9KT7T{^_nk##joY#MLS!(d3l zS4I9s)CyJ6-J-dAdP%$nu&M0Q76IGRXO}+qm%siu&DY}CmV0_FT!a#^B{JA!uQ|J* zF*ng5uqBkWgu)h6*8b~pQb{(8-w?ly9r;?E))FhCoNk{(#VLtvx$ET)rLv<(;5EM{ zfsIS4vLd#n^G=fL4SNSeDp>7{k-)}|=sA#WWA|3=DxISp>XvAX*RGt z3y9RNsbI33t7kPaF~-`#r6(W#{EDY3qKVmSlGx6!@M~iAGQUVx7sqB;EG1%igg@F& z9z1xm`S|GUenqoU5;R~jm!^WUz}6q(8mBN%bmtK!WUzXd!j{r979~wXjAmd{=CnI8 zugw6P^WwE$Xgmuh9+a;JeT{|}z~+kUYd#Lw@{4QXC>b4^Ka46_Prq7A2Nu|p^&=x% zcv-8JNBlCp#yE{r{#XN_!eJiUHNS@Paem{q1gH5wOE~9*$OfMMbKn%FxiQDwe{{+P z*W${WgF}sPjwAhOm-RKOny1|^JFrn9xazfnJ$-?t80{O7C8}~C-U~1s!}MXH zl(9J=E~HO|1<}aRgZC)$6grw&c}HdIkhTp#D1?ZLLY}|vdmnmn=Cwx0f@?5MBAd&i zn-Pt^YQ%FTR)GXU6vPIw$pIGTuyOFV#2++WmhP@)OY+adj z3q75dby#;x^NDl_*zRRxyu~XBEP)c=9yV09FsbAKg(N7p6JV1aiNgbIs^(EJTcH6@ zKqSwd#KsXgCcIxMJZ}14C)G z3J%_mVXg+o!gonZp+mqar>{G6D`bUwU6ikv#;o=YA9qA~ORrj@4G2Ca2)cAG;L9Cm zmzP|{#|AbeHhtdsP`d?N z05-{RC5HxW{{icvv`u(DVOE==F6nC_KonrxP0<#`rOh2t;t)EJ*#5`*T5>hi7oh@E zah3@FjE<4k%xYB9vMNXr2~*L;4BLM-`ZGtEXg+MaW%n~Fxw$ecqIn&2jchSg%i>y| zo+uj!xOuqXv)yC=Ra}QIO zqcgWe^_r~Zb4p7g34Z?bpC?H4<|;ZHgQ|-Ru^pbDT5=IQLQCwbz z)y5WYEDtlyHV@t%)I#aOGc&YDO93{1xnVjeyn@wK+P88?BJf&FV)I|H{9eT>zUuC# z%KAZi5f(K{Y@91s4}h(3Lzk`uV6(=;-|=0qb=%CqmT^%(b=V8gR-zz2=KG8+s)Bq4DD&vb`+; z8x`X<%{dC#67{y+P9D)tFjvsm_7}oyX-ZL{QqBZ)(%!V$0;!7&_0C+|-L<9Bz{Z~p zf!CA<50G(30bAB+7hW^4xinW_T&&d=9#Y$n8=N4Os>1kvTibvPr{oo&Jwu0Y7OS2Y zbreA%md+&I*e040yDdm`TLQ4*b-}f$%uFgH2BqmTumr6LtBv-pn&UCB9YfM<1K5JA zK>=bHASB$9C0UJAAOSYz6F@uQ)=q%!{oMjKh>c`XoD6L^D|U$%IgdoBv}H>X9`V)E zxPk&#B&sv8sXN<2(tv;saV!EhAhxksFh`;0flUr>*q3D(HnrGceVdVkoYu5De z9A6HNl1p02+9!$}$Ff+n+E+x47Z!L1NnawR{Q}`u&;ogo4&}bfW=@9skylucG(`rZ zAOt&m#DLA~t7bo`koJ#ry+F3U1??^P*{!#(Hx6?HY$2tzNP?jlF&bjC1)E~!CBJd4 z%eTp|O{smLZb}=Y1l4N?(%Aq*oAw5U?adELU(04qQPBXKTA#)>--0%_7`c2bvjzG< z4A{;(;XrSK%;t%TpP7N!JgU61<3W|j;g ze6V(Wyfib(h8ucHz$V3s3@S5Pa}T`6-w92fY!9Fw4uES&xOHu4yh=JiVzVP#SnMpL zYAPXS;7h>9EfQvR&6~(<1Q^)tt2+NZ6?fTkn&DXe~!Ua(Wgnq^djhDnO=-=Y37EWavWeg(RQ#I zVB1nVUMpgA;bg;;r6n`YlmwKi@Z^by72_>D!*$f%eK&z3vdVgXB*{qt0ob0W-=TWq z4CSU6hNxaU2+gku*Q~8rh+)eC{q2ZREh(vS!C78POE|B^6*gbqwoGdxvY&w}xp?h+ zzexm8<=Z%TS&n{a+<48eYnok4ZXM*AUdvkvILjRRfJ%DcAhHDy+)rgSGBdTLI;25|y%>C)%} z?J*L?DT?)=bQxu4+TSAp8;B6p9i7=n*6dVJb=2-5JdGX$*xV9D@A8~BI+I<>_^|R` zE2HNLzu;UJRdG>yL#qT6D{M9NSe0?0OecH(n_Zl+AjjIq!iJhVqNZfFhiGS7po}V$ z_$IyT^)h0kiV+8ktM738mFifhuCFl9?sF7)t3!>SZV;{QY@mn6!i3gT3$~v+MQ_wo zZ8o=!=(cp7-X`iwg+*B-m(~X&b6`2RMZm_+L30b$`S_`pl=PckWFRqw)IgVK>I}km zN^y9rfz322Vkk{-082q=nqEo<^E;s)LYvIJxmi_zb|WxY*uwUZEf1>Q~ALaR-r zZi0py==gyqkWTled+w1Dn-MM0n$OH@F4QsJq#G3Zj@2zv8r-G7fge;$^nIRUW3N<; zpze!uG==r~nKSI_i`W)}gPT?oU^7kTgKVwJrlCfRmN6dlN@Q$&@>JCm}Ex2MCJRDBHLg*aER>pe{+F+$D1!)c;}n%dh0z9+jgW; z%D`r=P}XWV#>pzA12?t+Y!!+QRbYIn=Ga7PTLfiByma9#cuM#IpIc3Oe-}?tP#2FR zU_)R-ye6)SI@CBgTbib)1+Qr%xp_q6Ygu6X#6JQXx!mJ}Kl{sjZ^LVP`49B9xWbmK zSN)B(gP6n??}GkWUC?A3DbWtiJ-(K;_4qHSYKg=AR=B*xSj=Y$T;nVp#_K1){X?L& zTP=v1(EJ*MHJ|d<%YXfgAF3hh3gTKQ`*}FzU_VYUoDVYl2(MXTi-7Gh0b3}54TVjw z-4Gju<}(gC)A=6i9&uWLHrGQBefy#1?!)rL{oI$o{=}8l3j(&e#Xd3;ux498W1Ii# zJO&>Iw(B<~uz_++x?Nu7k2cm4ZjL>9=F;Wm#f5#%6BQ$$>pgjLq^xvFYdMaMr%Ix7 zthNt0^zS`>?P;)^?HotjlwcuV)7pBfeDDZQk(8ZEt(-i6!}HXpD2eno4;=~EWCg-q zy>eh)%UC{mc1cnTw{&E5wS=L^?JLV{afFMTJz=Fw?pH09!Y_XQ)~g@r?{KALWn3a1r!2X%uhGGIR(`64i&A5ZKfaC4wDb!$}p4@~FCa&A6t6Mspe`U%FUb zaOtYc7$_mB$nRq|Vg6mt>*<4GnEOCSa@Tt;rZst+SBCT`h`5!(UErr+Bmo z*zU#f6zeva>W=UkQY8X5kLWRJrhJI5^#zqR%(sQIEe2V7XkqbqwHV^^WKs0_&$;yL{XtYUXx1xyHfXvK3FN#$WvJ)zzoo4T$ z05+GkvH)!GReXFc8w$D-fNc+<@GDtj%Sde2*tiEP`v>V^0BqBomLCl7zSqF!zGx`% znt%4}RXVJ#S^**1?{gYDQc@g4CTA&=&EC*UPdVeiUR7g%EBT5DTXZ_4rUQtK!K+j{YD z`q>P4xq8yFgb~}P`u5&+{rYv5Za=;0;~%W^4^AA|aBd@K3cZ^p0Rx*$pc#nGI|{Xp zhu|+2YTj%`PaVM4T-7pBbg2KMU9>etenk>n(bU9vA~v~wux>C~F@m_(%nCu;AfXgAvOWOf$gz@$c?RCc?W&eSYP+pm;enww#CJB8#ih%+O=uVCL8ozy?WKG z7Jv_+=P%7KU)|9+Fruu{lg*Q-&zFu<(cf`{7Ndo2U22ND>_V!z#xDH=J+eXF zpVINh{yR(3m3Ox`6gD1#=rs1-Zx1$jZ2;Vhj5P^6muK^o;N8a9kj^sN6>T zZdOx^k(#gF%Elwt4>G3&v#p^-V>*357q7kNX}x)Edj?rViv_$V6*kV+IK7rzT+7nh z+F&gPX;d82atmxOd$LJl%l1R>qazv&+G3cN05;d|-GX?9zTA#iHBnZP=GnRsl%Q>>gv<=E1!oTzdQNU&3%8lr+_i&vtR+EK3bpE}+O{j&N1d9Q zLSt)hdz|QQX4}9SkA)d*c(-V=fwBc$F(<0L@`E40_g)rR2?#RW1#dEUWuvVN`n2M; zl69$5sdT_K1B)A53};~wtMrC|h~+!qvAFuJR7<=WWvJopm3)yN>xc(GJL4jA+&X6;(r>9d1nqrBa|}U_*?b!G8DcAFP4T1SMP4H+q^ng~Vqxu$t4DAT z)KOH`cF|MLo^A=mrYtf|<#`zaWE(AOX@O|SrxLK;|5gE8sH{mx)>M3fS6*7w>xK z_3Q7%w&eczf4CJXuaFABCS4AVtylAPAhUr@`003e@~O1mpeiPF>Jaz^u2JcV78JIT z9-wXTzJ6^mfolkC^hML~AWynH_H0p@f8*;SjS6U+NIRn{Xlz+vTQaa|;cjU#{ayAB z@(r)8!F^5b(0t3GxfM2x5x@G|pMOVNG-nso6&E2A8bs_k7qI>AC;wsp^R`25RB{0{ zL1YPX%U!I9W*a>|<HBYc{GOz_@EdZN{&As)=>P6j9TI8jiv0SX5 zG)runV{2c)u-U|hz(xtuEUry=tJGBC@1<#Z+EB|^zw}U+*Z{Vx8=HFSPXlaEetu>LxOr{m=7n#sULg{mIX0|6mT%A@y>R2|^7ZShb7PBl-PqHl zsL_K5druGYd7hsgpPl7@?CkjX(qOIqiu^|@loladrr7vjcSowM8eZFdXJbd*(K>#O zdf1IuiYHXWj~Be=dBp~{Kx~=VA)M=-RBDAypq3qX%FeaD?q}gA`QOslvZo}b<)2;y z(&C4&d(%Jj+V`JX`%-8k)j+R_NQ2D9zp@*ugCw>ks7+^UV79ol7QY%!acq0~bq2PK zz;>Tab2AQYS=)~|uR&}oI87yNyHonwL@ENdbWvk}G_pp;i49;=(HD1)nYCRnB)i}> zAsPf{Cm7%4wNXoOQgUIm#v zHJ>-Cg1Brj%kY|j%^FV@*bF45lMJuPR<4$%0kWm~hU6b|Y-nf-V5_sLRJP8HfxAVS zfXA&r-h(v<&CdBj3~bwve*EKGn`E6O=<=r*fbF>f*c|83UxL7PDpjgLDwntQ3V5a! zV>J|%r!@uU?aX&z!)Ar7+^%X6TM8IE0EiWD2;+NT5uH}f9bLth67AKp)_GuiWe1X=&yv!)$Jj zM!*(HB-$weBPj!$1{665*xFJgim^g~y^7K-#i)E?m>@f`UjeW}F@3I%<|5b_UfUAP z+Ia1%t@g*^J`^(`)irqQV=~*v&VhjK%~@EBD{R)*GVRd2&Mv}PYzc7Tb~RY#k7k4zQ^k3d9A4ZMs{urX^#PEgR+X zeRHusU^VUDU3Caiwys45!_Z@>8(w3W4U~{V(SFh*cP3}CFMFp zfghqN+OE9=1Dl02CC8JD$`EHAne}pnK~sahC{(mo#@LFAYyyH+Be4{;IMselYbT+T zmTOh2=n(1dMS2eaO`-m2B_2rb^A7r~!bnHyYN3)e*AJ@OC5*GirmX|ixd3dZPoJMf zrr7zTzr6Q9SPsn-^&a%KxWX34wQxa9`|p02*agiaPGpxub$+Y)wHF)MAf$iCQ!U3E za~>thEPF#9fh~D*u_BsBSqrQdL$w60XASi49sC<3h5UUZFMB@Q^zziuwTM@Z-pIMg?pSUG1xy zs6YS6=boHjd2sbX+McW3GZ$y3PPCmlc=6&>k6yWXef1iiYZq3pe17FC*Hx>lH*Q?G zvD`OiV4EM_bM4Vau+nSbmcav%PBFbioz}Zj3pJP zT0eN8qqxz}XUxLzn-vDM*Dl@mqr^Vw?QL@X zLgg4c7NnP`i^|hp%N3t8rDIco>9bQQd{0&1J2@yugJM(;48k!Q;Ee;DoJdy z!&q?zko#|FzX+){QONO^FL(dOjTK&+vrd{2b(Y6zz zhQJn_KSK*Gik+h1mVjxI!p1=;uBrSJu0!8w$_un7pI2uhKvC_x?!C8UIsR?QwPL$pfbgyQy7ytx`A{4=jzcFonK;4 zVUSk4rc(5t%XhZpz}tfolJh61RbkYtruN1sAlH6`}igmAEPDy%7PJ`AfS51ZY8NULUo$YoqOR zYm52yq(YX=Ot#s8NZSW3q*FoI-3GQDF<^tdGFt~>H8hZxhS%nnG2&QWbj>ZCIkPam zLkt#{54|?4duoalsC;?jqz@|%o z1iQ5{Xh<3bN~re_#P?MclZOU2Yil~N<~QyX`1&BR`Ar5k_M^9TN5FRdf;L54)#v1I z9K|lu`t<2Edk3T?9O4-n@y)|t6XlAT%@XX=Xgwxunq=b{YoxO?(%1s9 zL2e5}1~$NK$QIEiHhB*YFSIL4*Br-*|IC-a^bqY(>PrtnY@4=Kp^rUwcz*dNz_zk- zbI;+6kDVAec=7lnk9_&5vDFJGY>U@!5?yuerj@l-Qm&S}r)H)uUw>ecjd6%=&s0@! z@4(}|$LmYak50PkN6(Lraz4I48e6jqB}ZP9SKdugl;MnL_;Yt-gQ|{bB@yp#s@O{b z8iTp$h?c*;T#-0b2H1i|B5@__?BO?L)M2#p>5TgxIK0eu7Cf1DiXb zoK#v92*_q_E#~Xtz9`)&{d!C*%`fm;R{%CwW{Wfs8^`(q!DQLWE@E5YH7XL-B4E?j zDA^lMK2S-9QMhd}aRth`-B2V`+yWQ|4W+LeUQ=s`rvk62(M_`zMwnEyECeAYfvqHz zNln!BEU;0&sP)M!3bpGRTH&>BJ=yY%1-7-fVPXN1)Ckxd^G>hM2?H8>^A@B%Gz@G~ z0}p(dSgIO&Pg=xdcHcDRw5<}IaR^RvP(&}Ufd>`d09Q&sP-_V**t;3FX2_Qx&X zT=@4o`U0q+d6uhkSVu^e`DAq=K8=r%^z1t5Q*iNquV6!8N z=+9?*WTRTvtd9HhZnEj69M4eE5$4n)w^h)fL3V6tY_^*K<#?O)F}|nhZ2G!g#&HX5 z;BZxifsI~Rbs>AQPTDdhJz8|`*b&o(%WAcsT6hP0Lq?%_NFRf`)n&{T8 z2DbZm;6xFSEdy*BZO!$7=g`8?>M^*kDb-NLLfE++Z^rD6Qn{9 zPcK7cW5P2>%EN!OMR}xYnxgO;wb%OwbV`9XB^?a4Xjg(Nn)o0Q6s3Y8HSktvjR{u0tw)KL;WZh6ED0CY54FHnKf#ww zgVov_b4blSBlY{c=nG^NHipYHK5T5)Yc2X>zp^BHn-RA7#cl4CG`mfnax+`lbb= zUYcKFkPUSWV0-u*Q&T5q9{b$IOREo@y>#XzDf7$A8{3*`iuR(pPmZ1*ojiV=OMV|T zmyM2Z>0%9Dh3{mefAQ(pqb)!A8%ckqBCs7Q++4?43lUWEQ5Ubt1yx=P&)@Ktk8JL! zF4ho9h=&iO4{E<;z13;cg~5v^RG_wV3kS z{(kX=8-<}X&IYlm57vJ~spE8phz{WIp2#zoVwOMcXLirz$D)kjgd<#Lfz1a76&H{u zRO7}Buo=;uqQp^nr(!ik@6`u`*W@5d2eubrqnQ*Lh*+Km*pSv7S^&DK0V$s~cUBE- zN2^kDC7`Kifz975aHT|f^P0v2Qc;Q;Shg&Xo@8E25ged+PEVLucE}LebW})3bSK;< zVa>{(KdQ#qQg_&#!_uMYRDyc86rXPn73#Q1r`kyz!_G>&q#&0jo_JW7&@*dTC;B9q zG)f37HqQA&D!a>Vx9YS78PBqlcmO@5dewbP!+@eJM^o`-hh$g-8yHDKeQ`lesU|ht z@)WQUvf!_hjZq`ppjTz>>?)y+dph?Z6fs7qa@>w;2W{67I@7< zS&Y}-&YAZ`rHcvJ053GQ2-t>Ckk<^3%@5Dd1xq%kyhn)!03Eg-!=Tz;IwhWBLyN=d zjdMpONMd_HTL&gK^tHWG-iD`+!E5^fHsKX~Mdwg%wpgBNPqY)KUv@8hoG8i^TTc@| zh?$InTQ$Vh!71iEkV*tU6H5NrsMFIVRy@JAKU^C4rJ*=h2DGF&lvVqMlQ3sN` zykyFm{vl0l?#B!7s)NF2V59mr-Q{m5<{od|L{k>wH?2STdBshxKz;FMxfa7~9q<@s zVB@Q+tFl3|fvx1w7AtH9HWICfhsUW+Yom4u!omYsG_P?t)=Zrp;sw?vNhA{3`T;iH z3a@!s$%@KnP*9dW``K>-Z09w*UHjdq|C*QA@=vdEo=08_3fnDlEg?{Z*F+@)d`xS% zS)s!*B(JWP1hxF$xJkF$By`14E`e%(kev7QxmQFJ>!G;~bCY3Id8gNW`t=XKpLNTn zvb<({mlqB;)jG(=rX_3nw1c)%LX0@Wm78wSQ)*4L#Jjj=P%!M zH}vY&b8Wo@ButL%1Mya_%pZR2b2DSh=Z;l1PfS)EZ^k+I^!Z1QHy@uIjYM~TF*a`T z9Ggv`K(-R+_j&kZLy=;;;kEw36rLVzY!_=NNw}u+Lg;gg%h^t2GfmIB8D4v>PrPzf z6(JfGd(M|&^OwMDv0#Hde|5yUEitX9Q}{nl4;FGO7729OSEH29-|n zG=uEC<_&Gsj>oFC=TLB;xGXlGFaoF zrkNRFOKa3bj(r9;%c?BBw(wPVFU1@Ee86b z`VybdrvXHns+3P(D1nV9K(%($1v0Uxm^7j@c6U`}2exjJvspDkq8)|iHE!}+04kfJ zH5K+rJM;w>4vn8)IiM`)IV7S4lr)ysMh+dy)#`9AB%@Uw{uvG|ZTLuP*6a|+^?F6-|nzpLHUsf+_60q%(0b7qtqk{a~n`S#$ zEHJUrd#tP!mdTCHDey`X6|hy08rW*sa*@JDdm1G#lqMscEsD!bP}bD?1dm8?RYhOF~;X#VWCCz&Yi^{I;TgCi}x5e{yT%w8TYj zsVzZdIY!fxH|J8?@*3#IS449wYx%RNa`!?h^V*NuII#IzAU4>Hq8S>1Ez4^Fo7$j6 zn6Xs6MSQ=%G)%E+Q52oL31XXRA2P7X$isUF%93M%0h()?X=~axtX(16qJ8|5FtNG5 z?fMdu+v<&nE`0l;2UnPxm|{S+_mQRZlV3mc#HIPUo20-GF9U23oZYjjyJ_O|=xF`v zlT%~!^4tCD;m77zmZ$jRe*{f!a&q+i=}GnvMn{o zhDM$&;kCy4st<2#tsyq>h@BPOmqK6@us!c13_ELcPQYeB3*wrN!V|S=Ee>pg02*w+ zc~z`#n?;q(4UKn2*I1riiz{qThmdzghpL`ln@Mh5O^aXid6v?Ak?e=&*VmGU9?=ci zQ(jyPU>47J&#SKmWJ}bKf7o^85dBc<&R9p(0$aSY1a4+iil{b3!!WQ{@ZAq}TtODt zLZ}sGtk;Fe>-nI)?v`kY3i<&yezIKtv9sw1SKPsOc<9bM$R>0m6^a*e*ox^nAnVV@ zEplOF*%5DwS4u+))hO3CEre!OHVJmw9fQcQO<)oLme@`59c1~y=>yrJ&HyV}WK=~pmr6Sh(>J&3!b#}(X)*kCYKA#-=aGQgeA zrz+|c;G@FdnSh%&G~`!ts(q^lztp`mu%UHjw?l(zF4qlg*2VT}RbbI}9y_iAYz_>a z#!ho_nIPvACl+XZKKM?6&BUhPv}3kfVpN&z0^fCv?R>eg@pyO9TvZCyGQg&jfo(a8 zJvi5AViT~b$^>j}z^y=wlKBOHekddqY^vsJUHi870kWy|bKoBhludbb6tH^GDPmKk z1Hk5rfDKtz2&eCTO;06lP~AJlyG98HcHR)MX~K;=W`Pa$EzL|!2G}4r%@R7EN>yQC za}5J*caeASA*~(kYR9f43v8uU*eU=vz6dvah5jL%lrN6GgVMp`VjHVzv2+}|!gLK_ z!*dRn8;8~SRGb;l=PTV*Z`QVKjT)pD(@r<<>l`5x!3rBU+$Sdx4Y5(IiJlHMT54i@ z$J2kwZ@!j)dX2Lrt|b&UokAs8Eny9xUs{VD|0fiN;Qn*^=s-&!~KfRJ^|Y$3Oi{Fkh3p#%tg;1KSHJ&NCfR<{VGc20~!t z*lx^7v;&V}o-1H;H6fyPQ;?dm%~1y;Ht`z3hQtQ2X_FLUTf~!NH3n>|3m2retuD^< z>tblA>Et6z$Ir~qU75c$c5`ule(v(>gAcAu4=)Ui)SsR_-hA+jmmi*b@`?E?D|44t zZZ3D0mf~M|{4`4urIWqn#x$QF+>d!K6L|XTwXjwLzUqkjtl!~4yZO6$J?&8W*4MXe z+q&(*&UNb>0k)_q6}+`x)VOZ*J30z6jK^^+18m$OqocTe7Bn?0GQKVF+UtIk`SD$Q zYG`;(z#128LA7ugYmWXX!Zl7=UVBNxcP;;}L43_1X0^7aT!U9+E|RICnX@djt+{gT z8syg3Ze2g%Z`5Z6w)o0H64&CuCUd@$K@tvBv(ncXI&+!CUj6J48yDs^R#0(aLj(cX zXnphgXvzgFKmdfW zMfhc0ld2?uF|h^3CtaeMw!@fVWS7z%wkWCflV46|E-Xn z^?(RG&5w7M71?#yIr5D~1>0Lc{NZ+GVpk~Z%>_alejJm@RiR;NgTms;S|>OZT(hq! zD8#ceGeMOo8OAFT0{}L~n~Jjlw#_>W6pH0E1OprToq5f{SEf!&iCRJ6Twx}f^5auw z{lK(V&0`wbbRljM#s*w7u<;%7qk8D9$n8)O8%1;~(9za@?5MsyZJuM-Yv{B&dECjM zLEFp%+l$npwYpiLiFKaT-SRY`2_31l_e;n5D7sv49gQA9sOQoxkkN28CT{&w+Q8iw zlIWX`vWOpmZR0)n?3Kb6fX$pn1#XMn*a)GL!ls1+mOJI0OF>~%!;5E^#}*EY*v9rg zV1EzB*v2khg4o7*!(n($fm1|_>OEKZ1rM{)Bjr{|&U>N)Hi*qTqFy=}rYkCqt2TH5|0*~BrxP8C8(#a1@i&Fqg9xxpFc>kMpAd6SWCXotr02t4@EUH5O=x{be= z(%Su$qYa;QwW90!d4=P=a2kNEKBCdq9xaL%*Q(P=foPnwLdw1QH4-Hy0GsG*<~2%# zZtxpnSA(8LVjQV+A05&C_sIrc)umm7!7Q-N8rLSHV11_8zWdC-YQAP-qw<9t#1yu? z4bfOXG^ZrNDJe~;xXAsK#<_M5esasz&&);cymk(9kEZ1p*pjT5yJecJkRqDPD>wJH z0hKq~z^^{DrH6rybCqx{Y#qE1h=bSyuSE$N02>o*Y#=c5D2=vrU>~Dq@Y=x4z&^GP zl;c6s7u5jUMwB-G(@u-n4$nky)H;HxP5-wO$o3r_?7soE&I5#yjf91-xYm2L^eHC3L5L@ra>7^xjt%ZcYQCa7L zX>gi{b}9R@Y5Lo`M*n>%Z(Gc3gOe?-ySCn4Sze^EAq#BL#(_uJ$~W&UFFwNaXB^nf zYX-Kgu9keJ7rQ0ZwfxA&MdBs#1ATjH^NWAN!{K)`0-F`KXX31uo7s}0nlHjBPHA~# zLlbME;UH<5>(iR{Lz8=<;f1=Du$GtFei3+0xm2n|OY|QDtX$$PJlGJ}B(Jf$1+Phq zrSD1SJezZ1Pz%83+I?Rwyw>GKQtcQ-KqpLd>yv}scRKfWH;1sFUbW(AnG70(PAKAe zn)q{Q$n+Ej*alH>BpMf+*sKmUno>+`7S^;|5G(UqV^G-E$AC?EqdBigk{Yb8Vc}rw zE<)`pOV%2oYzTQW3RShd*#l8XzvpMrFg5qWfB1crTJTY64#g76hy$BjpzxZHvhh@l z5wOiiz;@QaHfCTuJGMYtAWhNf9q$alHa8yu+a+e)9OwKQ2H1LOT56U}lm%`X-=N(d1URrx>^=Yk)f6~{qENtw`brs) z`O(PI8iZU)3B(xmM3;>S%x8s>rC;RiQ4l8Fyj!Xp%yoFQ`F@5w`MZ?{VoUW7C~%FF zfbE?qYyjK4-+Djpg7i5DI(NYiC0-ph^& zElL~Mpf!5JgAA}SmueNC8;WXSv;E2x9qHURGP<PHnI_THqHPW&(4#RrvWyQ z&3gyGN$6|5+&VbDu1_f+d4s8;!bvDx+b$MDX-+$8`TXO`KfZKE5AjZ+5LzJ25BG>ZKE zr85^tK6henktC`sD>qlh7FSgKDj7L_dZcaa;nmga*Ut?tEMCLua;jC9ow1*w&In6<@3gr|-oZ zqR+r+Yse1G8}H7G57!(Un#*~O)0$eLNoY&%8zfLIekEVw@9|OPQpNQ(D$8f_6!WDLN@H3x}?2vWw^21|>`p5cxLw%55EDyhX0@EmHB!Nlg9 zwd$gk0~TbQgkBy+?eHu{Llm)EHl7ac#Io1HQvjPhKQJM4OO#e6mBBM}hmPXVW?*x{ zBZfFFk_J&OYv}RuT}>!?TFTS&6;fF*?V)2+#~v>OMFOy)B00#4Kb0OQ27$LAg%rzO zEiKmuC1?K+G99ima8!E}~zq463Y%t(#K2xBy#sQuT3QbJm1ECZA3udZw5? z1Q=kydJWlDw|KI?iELEXFH~^ZfOgs+%z6QWq*D%}=bmhN@WFw&0Ww&diT?u8UU%Si zM?tnhY|0F52O?lIr9D|*9>Ir=a{N23Oq!x>8NBEG#RHmWBl{C63}Cx??a8=%teslE zFoncsVxuP-fbG0@L|GyonWAK;yK)}8Opxt}_CZ&?C<+p)C%RH3Hr{gk_NQzgFruHM zTqzi$S%A|hN(0v@16zG-bH0@WfQBq8(N|5CfDPE*PfqI)41kY$MM%u)U3X>AL{7c7QGL zT1v?Xsn-6iJqPPG(G~$4DA%eM?!N3$p%{!XUUJT@=ko{HU`DBF?xiwhF$b_&bfef+ zP&ZV^9qNc~%mHdHF6G^Jb^K%mY;ypch^?bA8#P5g{;l6X>)*^a2xhsJmqUFXJ2IS= za4o)U;Ir~$+9h7A97XlW607;;k1?g}z7`&d{DE*(p1dkkUilj?Su{q*cf)i*I*o(wquCRPy{yh zJI96>wYKOQbAh8`yk?#zv_zYGBiA05&AH51(hW_0*+z ze&W*Rdp>&pCdO>nlx}cNz_xh@1Cacu?!FB#ws#LsjokX;&0BBy*t=JzPacNAu$#^; zPJiYznTfOWnHCwa$ud{#Xaib1@DvDA1{5|R=OTFREKD{!*Riy|zHi@|{V7LnQ_@TX zWtc6jcGY0ixt+AC(I{Lr0ya}$F@eZd`H{q?p*F7YIPXSj!+o6Bk`YwN*|miIb7fld zS^Q_*Hw{=_EAiS^*9_tf(WJf>E>v3_UNfkbb;Y zR?{Q!VWc$lH5JhtqqjC0;`;+OZApFm`cW#fNdpU2W$T_Cxn#8`5LfD};l5_H@2qK8MSLBl$Gu z`nD${YXISZ&oRTJRen7?mUdQ^-?qJ>34x6q(V^UM4A>+cLZc6YkRT5R%5de7E~N#4 zgOR}2?in_}0&JG5K)F3BCBL&=AU#oV*WP;o-9RG0y4kA=TvalGw>j&o8<^+QS5;b# zHGWYd(rqEq9q6j+JoCoa?2mvgBtn?if)j|}B_81=!xMOq(uWbSb(8GaETYKf^+|&Z zQEWV!39SM)`IJoj1K7-vu4pMYW#_fbIQ!}u%vr!NA*q~t;p! zi+FTG>4{Phn{(h5RX8{Wu=NiQv%Kj-ViTmzcG!!7 zkgo?J42RZ5Y-1M&`G&%x5wPttumNi|7T730S^2Oj71f?@d^n3_LnQ11Y~AF=M>VdR zzgnGq4)M*qhjh>Mentk!1fD(?f$EwoQqbDznP`7)o8Q@E1~2Oc5^Bc4I)ka~FV(xH6l)uujm`rM(uXy<3Xo zR#~n=1SD1QqH?>7Gf08rZ~zYT%(<(OYDLTOlOWNW6^15&4O7-4vAM$7nh?R~rN~Z; zO%65?nC;lHqo!uZj;bB1T1tmB8iUG3OgjBgrgX;IO9GNIxA8p95gCNDT7v@x9wtLt zDO?Ui*GN}?y|x@pfsd;_$jZT?L)sd^mq6-QU2x0gIS)2uN;POB)trAWno&y~?DW2Y z(5G3GNR!@hf+5@7RIhXbQP(z$iFLIS_*`vHl`78eIjw*wQX&%c zEufLQr{_!$O;w6_*7C(_ohR%<`Q3_wWbmhZP#dLWQ9hM=?DRZ_A6j#qqYr= z2QY_3n`oOLU^3-P1F~D9ZJCTV*xTgT3X{SYE&A^7+36jN>WQ=Jh4Qz`^Bf977O&aO z17HN$=!~{Boq6DO&wu^_cYo3?-48sl%fR;hmj+(5QJM=-b0}4m9(qLS?FY_5 zU^j1l06i>P5TnhB-G^q_vTTy!t0i z#A{YIA-3)wqS_ie(*3=A_tLOTGpMLmYKho94M*v|$Y35Y^P;FUI+~zvjfV=rW`~h| zS!!%@<+-nXt^~HvzD?e_BiN9n__Pdc4rl<_dfN4s!C+2AoVas=tjwq!dg*FFS73vojHmJt6d)T7@G%`iV7R- z#)SD73~YheuAcb)uS&f3UuK8KG7ZY4QN@`pocyYb^7_31aCx^(@0Z(X|h?rS%1 ze(>UPg}`4tf8jWJq@*64!yLHRJb}_%OQ5c_?ug@d6ccvcvurAv=8Q30z^MW&7 zMkT`8#3)lk^QNOdRr_F|YoI#EOtmJQI}q5yu!%ZW;lZx9VP}mKf^1VBBsTR*55sI? zv{($KI-}g^V=HVwsjRLgyw=LR__Xz&Xn;1K!i#{dxNi`zN8dNsAW&K|G}Nd2_d%&} zelKCor>!+Y!|Ol$t|f`hm#VFaYz(r+CfMS@7CWW_u(AEg{y;_+Y=sS+$PH{>4h@0t zoI7+B_5#>c^xds3jXvCSk$SU%?I8oYRejLWQN0FS6UKSDQPyT^-2q{>)$kgLJR^Je zPO3d=1OgHOHXgjC4Y5BE@KIzm%a^r8$ZSdCJIIj_+Laq4|Lk-Ah@ z0428c9@v*BX}dVR2C|XHsPO6L(`S120BlV0LtRxCF`R+PTDp9wmkVspP$^-rBi z#~Cl4G>b@&g45h;=8W%mi--!gwMVXSRa}`Wq>8GJ2idiFsKo(sa%7+@#M(yr6^#>;{O&lBj@=i~QH9 zXngIksEvp+scR6t3^MKzM?$SVo~`4xZj=HwK>HZ^$U19*8*UN~?V{PDGSE`IIfa~qd7r)Fl~_wkQ>^gO%g z=h!RfIpK|!bGPo2Bl4$yXstJjWXho>{+QrH$cQq>Q8*mm1^FlLNkCi4JR z;|Ex=a`q0tj(S>?ZcSmic9_ifZghnFSW})(sQZmq9YpegNncw z*)Z64HU7vRb_880Y$Q|tyV0S^F6jL^EskjMD?Sl)Ksn!_atM_xk!wK3RJEkcRSTQYnCY#(s z90K&^2C08W4nOoEt91{3>LVz+?^+w>W{YSP>TikH7-frs(;h6*%t=T!0=5RmsEVNL2p-|RzrnrEEdpaY( zgXUu>c-g($Zt$YP80SJrlXLl*Osj9wnClZ-FI$A_*SDIbzpyHv^(h`Hh1`SyOtP!w*UI1JB zAR}S@%2xu^-bKytyDE{5biPk_OzM@ z1z>a7r$_yaTIRJNx0!mqe^8S$Svji;l;j{2RTU*NkXuBQEgwEe7aU%t_tiXHia$vp z8++_$J)NNtcc!%9wR%3PBJgVz6iNaWAEYbH;ELCHKNel9+8A=IN*_D)iWk1?T`%0N zFe-3uaBmbSvx|&Z7(@H(f@d5*uh z{{Xi01~w^i$0J}{5wPKlyE!wnwv5)M`4@_eQBSea4n5+q19**2DRq%f%S?ZF9x*nj zREV@YpuSL3RBN078@I7#>&UNElsVN68q1!qxmXBU-L8;jU_;!V)2AJQfT+a}4&`kB zV8znH$9Iyv0}y1VONkK0hXytgR^}fH+iXg}25arJ$UJ!9ZExc{Dqge1Hpn7D112oa zIdDsse|D@0Yz16I`~@&k*VEt37(>5}w&`-3!=#((I_2A-!;UIBO;Pe-6VvN%{_Wz9 z*RNjB;Uh9P5CPlhS(ku~5hWhB1#F9wN?zqSdlB2!tA!u_?O9vZ*Em(m4oxU*KCJAO z>+`rYk(~L7^+oTguf-qLe(~Gi1*!^XF>c~o`Gn8pVW`BN%U6X!(F(W?l;DFpd*bSXoLsVwrJR&wpY+UT)jOTC5Q&Sg2YzM$J^V-{@ zF!Pc^$)RjR~HAi zhnm+Ox1GP}+gD|dibNvkdiq`t_4ebefi1QcN|j>3b@9VW(YKXfO321*uZM{bpXkcbSc&lR#a)Ctf?8vOQvYONKT!&3GgO}P1dpY;V?%C$GTJ!xF*0B3Tgur zqispA8E_FbETNuQ?PzF#JrD_K##zW<9~CukUoVP*fQ{2wQ@T%cK>G;?U^B;~{MMe@ zWCTX3v1G?kScFfd`e4uA2Oe;5iV>}e2-u>bd+I^809zZCNq6p)b1lGDNTKoBFc(}q zO*i#4lxP>O21{2_^m-A&QfV^q_c9QbYt%b$^NMJMYX-JZ+a)PJ?P=xufyi!`<(ukkrEd=~|bwkZt0B{I^bxQvX{;Ix9A zxgrJ0=~8N>>O$X_n#dd%q!WV8jq?X8A~uj+MD|H_UTXo^a7{a>9Qa%2HP=l$ z-yY#QW|zl#GQAAU5o2Iy4~#uL#AaYahr4}Ip6F9k>r-G`c4=vB9j%SG>0{6nr7+_K z*dR9O@TN!G@M;^RCEAa~mW9~JT_rRFqg>qmpbVZ5psIP;UugyD7MrJO>yt&4E1hZH z9xZyfI2!Kn4)8`>mGL%VewGLVwNyoUCz|(rT_Ge8rkqT{hb9bOz!r$DMdDs6WnSa8 z1Z+;IN;^D?>h0b2WC7d9z%|vAU-ycA&Dh(hVx#O zc2E(p&GCxFCZr3%R#nh*z_S6^wpIH_rcD8)`m8pn4uEZgj%oA^Px2bIA(t%?TO8Q* zHATesli%AbcT4(O#c+dgku+Z`&ug5Ll?)C|n&nmw?D2^aHs>5vYD|{#SWDCvu#Kbt zV*h{@(Xt)UGH$s^T&uWnKtq&JDg&DYRSH(aF!|&Fz@}9L8@rGt@aDY5we`#sTHbX&0VAKA+O)gg-M~HRJHu0KnkafL*P2!0jTai+N1QXZTs3N%i zek;>!evNytC9K!BsIu{rfHpx_5!hZ9_w%US4K2OIcuf^o*(z0Nhn9bd;~KT~<W-lVt2CbRg5s9t*NyZxf^8ts9_sf zk~rv?VusPDcqV(_vb_wfbV*`!_s_FiLCy+bMH$$<5h}$kRw34$%JBGu$YWqb3(xYf zm{*YEr2KD*S-;Z0zq6B$sBF!|N48*71U#eDw1rX`^O~X$8up)-z$W9|lyqymnrTGL zYX|fvx7p*L715nis2W=M6#8U-s)t==m?N;|1#C1OT`fv{7g|wTJ2<$XQ6;&&VF-f2 zhL~u(HCL3`5DEoNyv8@|#Ic?ez@`j_9fe9cJ=FWPB-NjJaqYwWO=D5R<{JjKSi%?j zmc=&zjqsGAw=~QIr8xX_s0uNl>F83sWP2L(7*92^wgJ@tH+;lSn zHf6rA91yVG)EiXXCfI`Lm~uOy`C_`CyfxYrwZf(~QEptZEz^kPwF|@^+@8u0Uz!2f z9CO1xG#saYS%w~g*jP!u2Ewt1N~_&wwCobj9dnmiJxfaCn?3Td zk%ra}v5h%HK0-FHrYIAhbr{22JJMacQ6)>i{rj5$F-w}V>vO{z4(pUpo7=Ba*YM-e z8v?MEB(_Y59CLQ5MiF*B-=r3RP4QIieRf?Ayf%c5yz$W?_8s0oRreLc;GupJ<*;H? znn46?bBJggh0KP8wt|P)Ah+t1i0%Xa8>4A90h=T?!yR);gv#UOa&|!Lp#U2X!YC?! zKz^U*&JAo7-#EB5+B-P${l7lz{uQRzDuo-kd{N%bqfD>?2MN=)ShxXa$?VX|8+6n! zu+23ym3QUfGST`>;Mdj$(zgDltxvGsJKVrW6|zHPFN9LP;O#tA0c_?qpJ_kzFkZQr zPr_^HuuPGy`HYH8VpScUPA9wgHKO`N~muA%G+}F=Gg7%EjfTzXb?0O-bruEPd7}!1qu+b8I>!nG;>fU>Nb7^+| z>TGVB&4=vrk-JJ0{p{WM-taR+8lqok`hrwDMWviV+3U|SGD8FNA<o% zMsBvzBDJbE&)8iX>{D}uEQD@*SK2T z2*Q_d7poC3uIA`pE2iJ_l6cy&bw7{fngJCtTDUA;{~?ySs^8ylcr6ibz-##KUL4q>@8y>9&hVm0~1*inY9Qs;}}!K)tTfSRBHTbN<9 zj3cLt8l`cj8LigiKu=bseC((_hAr(u#;2-94*;73&)r9*NoiDxvY9-~W!5aMQYQp7h5q^)~m2|L|x9OlK&gL z^*BM;p5|WRU}S_}8^l9ls_i>CF19fJ_3>sV*iOiJ*JEw=Lh-kyNd>sxBxe-$E04n)Th}{(Uz!D?^4w}y}xk+(g6K4UZbb(U>GxHi+ z$oz!NP($F9yR_Od5U|O#q-|b6%qg?Y(n~3*g=>67_H%o(%`6zI`_>G~Fzrax0V@X- zv~~?(gTFNTFKoI9kcrpayA)S>4)bs4i&CV zPAy+JwLCJiJZ4}k5gW->xbqs=Y{n)SJWAlG>~wccW`}bkHi})(G*BcrHo%QYvc^oC zz9mwpQmh{YU~BIohzckg0@xS_L!1MR+VN50Tm~@2ck*Z71;7p26IXMQShMk@CXA+; z*yv!QhYfXK@xLoqUGfYRB^pLCmE|Adnz@nBX{ZQnv_yfmkEtQ*dg%-Iwx?@6uGp6@ z5nI23O=OnhkA$CWWyeSZY6jS%A+~A?r!|onAv}m=pc=r2hq8gK>nyLrasT&@Qv$Za zby{6Rxdj267esB{KpEK1>Jgl!1M!-2B=m(9_YMHI`>%&q2scQqhbC#Qy!o2X%g_7# zbGSixt)M`}8b!bOU4qo^?P6O#DU{2~E^Gh2ug9xd5iR>TljOC^(`!Lki!s|{fBEz8 zfNQp4Gq7Dg?2afkz$K8+7R&6_>nLn9%2Qv;(|b_pSrOP!*e1@-0c;vp6R<5*&viK- ze! ztK(6@Eeu8Oc~pp=DD!LB5Gq76duelY=RR5Ht&hD&@KCUB;(%0S-EHfD{c2>v~cJP&c6q+L2RzDT!0347;5v9fcfn( zkng9zReJJFBZ4?HJs}3a05-XKsC0o62e3WCkazeItfnaN+%_LHC*{}-+dTqI zlaaHO+R=y-Xoup|PqPhm1<9#Z5`ut@OWT2JbIib2TeC9_umOAk8zn9aT94KlBZbW% zX92CoBo%}=&?E2~aHlsLXb|X7j0|juHY1bFhYb()=dQ10U<LM-gQv8Xf*+><-d`4w`2kUM9#x2`K- zBk2HOW26!j8NI!*kjn*PTbRBx=DB4I+@!;eM9C@ah~l)U9C)Hd*Y8Z@kv_I>*U=BX zjby4Q_TU3k@06R{%!P~Bu6_Dr@4h&-mRt0|!NPDBVDm4`+wQ*ioR-et@Wl_F+kEqz zFC3pb_2#up9SlS?&Q>!rgB^zzHa{obHo+fUAsgFzIG^h26H8fInb$I&>=^se!YmK?z3Yzy;il`U#w+FE!?E{T3i zIP$XZ`N#ggyP?UswYWp>ean~@J2si!qZjJy_p2D8B^ixM_~n+Z%H+mbg4lw6ho{U0 zUo53?A!}RZvyZM4@dw(otwsE-fNPZQxXDiMp`3Rpo;yakuAdbi`PnuwusxJEJ(8@z zjyQO;76Myo>42sv9Hh)j%T3IbHRbUW&{mwgK;)p49ZJa@cUw*R;7+*)mTH@nDtp4( zo=u?PoKT3&z88Vl?BZ|nNrY!zjdOQXBZ;nXkaatFE#HqaK!Z&RgX~TTKWgth*vA-| zuto+G+nvlQ^#?tq-XlUV#DfT(+J3O-0d++2&6R8JgGaUa0I-2jLL!z#)qmxyOe3yf zzM!j?MB0000EcGMWJYbR*Q04msUs@m5(m~lZpWTuhYlTU@3zq_pMDK#@WI(*yHrMp zm6}U|Hoy(SeOg~b!@)hNTCELGj|14;K7Qg8w}X->={u~@f!6{ySILttLQbogMA`Wb zVTD{#6tp>;n)>vKHew*mcKm15?~AfU1F#twB$Wx+AU1%lO##Hux<_Z&KW3;dYbvH?SeCO@eEfo38_Fr!e81Sz5|- zEK2~AZAczmIUv(Ai0y#3M77fJGk6b5+HFZC1#ILYB3}FgA7cxjgJ37Wnb!*{^)vU{7mHl^2#N?%LYVz-P}Gz^2l8 z9Ka?A5>T$ax3?XI4Kxc1n?bBgswv!rRJBw5@J^jvHAhsZ}jc=UzVOdPulKGl=EfH}L527kF!b{}*_+^%c<|3~;I}vL)rUKx-D*evH5tfKBxl>Zu-G zo6}YSIxOe%?U=T#CJtMOfGwllf@n240Nb6h3;VL{z%V_DK#anM#1@t1H~mV@aDbVv zB(@O=ZR{PabIJ1PdVl@mLT(6R`+$N(VKy%A9$C)ndE${qz1??m*MVDPDUKe^(kLyc ziCV1>H4E4PxGsq(MP4(o>F+oz2L`s#5mnbKz#0{eIu#FH>WMPQ^zbMuqAaZ?ev%Wk zwq*y8_#RFCiZ4p_9a!XL-`Q zl_@QzuKC5p_D>3%0Sq`dsc}y8QaJ=poUQgCO4opZZ4~IDDJo#I+zPNEtMRxys!pkI z1mhfDWxu{h3_Qr0X!;>KOfTL`%+VBa(T0t#8-eNt?HbUIX;){kUFkfUQEGCwfq{*| z_o@^t0@YomxG5g$;XE1HvW++q_Czf&$+yhFR%Zc9WnM!rf>*+HTR2DD+u4M61+USt z8k4DqCwSz0EwP}l;dwhA_ppaN=}8X}u<;JYkQ9$j<~4ejj#;m2It{L|)v9I|zdoT0 zs}L-Qs*`?NBe6+2m`s;jW7E#TiJpDDmrS&5nR+F%KQ*wSvpMbkaZY7et$o^+GiTcO zx3+?CyY4vu?hwvIQUkFD9@Z16QmH{~0z&xsUE}qB-l3FJI)4k{_KkkXn%i=vA zVu?*J?vMI=7AcbesuVU~FSboVUQFHgw|82#$#v&l$VVDL7Yr16jju!H6s1-av+>!* z#aRkq3(3Z#Y6)nsG;DH+9!j%uSmmloz#lFrh}N@5sZqB!_0-1o$X)>0n&j6vxchbT z_zu$tj+5LuxWZ z%FBv#W+uN0u;J|?U}JOisPm~%)U?ZAL?aq>pI_-AIyx%v$R+ zGzz6C(yi3oejql@sj*aGTfl6;c0$ubk;XP=U{ehTU_;wfXsFAxkAd09BGpBK0QpXb zBna5R8s#0_3)mW&pUdZQ)WJev#K5M4+DgF2r`OlW&p*HhPiopuYpMZ2)232>b)jfF zqkSzRGnLkb+eqOFz(zV%RiOZNyV{tp)S+?Bz0!rTQ>Y&4!d3aSoz#25=>oR-jjIZV z_b}7O;wPrx`OcEW<|#Jr^pn4qSJtRXVN^!8GT{bgqeJ5-*FDYGsMw=j<>|GO(Sec8 zI|oT5s~G+18!F-3f877v`ikhI?vX|13P%;?HNRM3Gp`k0a|t@&0VWz=6OfHpI~n`r zMu&L~`LzIl6|N$%DT`LEbLwgl*fz8L76EK7l(j})4QzVWGnPkVQ)M;B#_|DksDqPh zv_W;SJ~O@8m?p7p^7dT;n~Cj1ANcU?+ho#R`!w@v*Unv7%1zf(kRXADQ@24op6c8< z|DI2N@FsQs&0l!y_1xyCKDV~GF;B!_W&+zQ{5K@ASpukb69b9Ff}6C9j5<;Lg{0$Y z)ADu$8)mzJUG!{vH1tItgk@74*rcu5n!&(kOj8vP!!+C50k+F;(p?{Zxx&stg4B|e zm=&=tpjqtDC%x#>FX1FD_42POf|^g^O2RO=jKZcXWl*hrB31e2(2B5DKFJ_SY>C`Z zU)@^8)wMAF`Q2EU=u=%nZWqS@8`FxC#l|x-PGVkjl()Jm%IzgI^Qyta0XD6IawDam zBfZ^=q;y9|0X=OZJX8uB&$H)>W^6)2OxrYQ*#NLr7c}qeR47!cR*%V~S^QtElYqvb za~`sH%1htDptc>8!d9iB|JZT?{GlPMh8hE#R}g}$u6G@~f*Xjat~%Pk?CWgqIV3`B zwxGf1FvYTvr|5dRcjAxn#D_hE-v)dQ^^bZll1jPU5#^(APqiO1uN`AaAyoyXiPx<6 zajd{kYk`ct8Q47eFCVrO?Z@`X&4X1~ZKMKw0yYdijB8#I1=t=&5v1_q6FvJ;*A#N# zFS4rG5EZZ0nb(Y=@L4ek;z8mq5!w?2qq=v@2a^pj-!5faG0|oi^F#z+Xq1x>?Ttnb zZ-V4fuha%>+vumZBb)IzYWOqxQ1Dtea*qb-19R~|)>n^ks(r`KPJpdrc7x3Dj9bQ1 z*hWQ!Zc7``Bnw5r29VJ?o5vNz0-W-^_yE=Lnx2xnY6WaV%@)|`h`#j62Ou`JJfWr{ zueoE%44STDJ05_|R0dSJ;5dNITctkxBD|&*0Mn0yal$!ZbwGC^QOI zQ)B>F94p0_){|v%n56=<5G{J7HSZv}`q9}u#ODdZ$Ph1+3hpWZj6YNhC*E0UX-ZWP zsYziI7*cu{_biJo(fV$6<|ANZhE2d$nqfP-*T5#D>4iMMBkZg?$lVGXi3~!` z9(-|VX=dCP7qC(8h`J?Op!75l;Z2a{#1hQ2G_q)yx1kG@*_oVtv-q2FlDABR40(xl z2yXAwhuK(w*DjSLwp1js&7JuEuPP{P_pZ`bsE;@(A04_ieJ#0CS2?rCuW?-CL`U?G zKZ+4p*~6sqZKdWXm;d`>MKnok<+npCyRZ4=qtXQ1cfZZ}+RGp|)0&INsW%ze98gQJ zuq+I!!WQyIBaasg*V!&E2-x_o(xNCS>j0ZowB{k&pe1LSSp!>yZTuQ>hkO9G-3}{R znOd7!8^ITQ@WM>4k(wUPk3{~t;x*1cSjCq8@|vuJu`LSE^oTKf^Y5@ zwYqfbop1g4+-(1+KDE4fwXME;c)qUAI);FaU3eUyCJ-?6XxLV**qF|AOIwH&wfCpi zklI;LLhR6A>QN7@a0dZf9etDM(JEOLu<;rip*Bn9z~y5n5pfjg4b$PnY;RBvWv15> zGO=F+pKaZF%@rS9i+4hOM)~a96blDiPBw^Jt^J#^p|O_|rX?=|wQbeUBLQwnTnm_1 z+0-K@s>P4=5{_cT<`yRwKLBno109ol=QWz7ui*{=h$BJ8m@8m zEw$Ff9;SlYJXEHzdb@d`Hr3bI7z5APD?P_fW2MEefuy4LEAX0oT5b`i?6wB5MZEUJ z9SwU}A>iw>xrs2<{Y)frL1W-GOK6PQG1j1atb(u>+(HQ;xvN0ZsZ{cogGf2>GHY7;b8cO+LEHsq&ht6gD}$vGHJdLt#5Qm6sfr3!b&Z*^%rpmlWb8LRuqB7(i?% zPoTK~p^(73dvJ>mAs9m-u;<;>bLQ2+#&>(hjZuGSh{cf;;1_yYh@t|2sf?ap1Sd9q zAd=EG!=^w{k^fWncrn1Z;lfmkdEKn zlM}SMc>MKPk_0w2#jv*r*oKo5Tj5)OEw8XuQrD6$9$akId@bp{7Bf9?MOP|}XUB(m z;*Vl~U`f=K?0;^({`Zvj>ez|;4HInT5)R6Q8zftz$tFyuO!UCPy)*w!z~Kv#WHPFx0J`}DOVBbzxA_cF7MxoP6B zW(E)3rJlUae#~_pr98<*` z!a9PBgKw4Xhb9ejOZ>J4aV^>UOuYCkz6-jw-Oz9lk2Qz~hu$wX)P$BKH{X(22(1ii ziNH`FRLC}nFNXST>%(htnL4hq6<2=EY&!6jhl5>cX9IJXCwc$=Fwjo%2G~vI|8pyB z{z>2xCX=_CI;+xT*-nvnpMi~=*cg@Ll3X23Y8q#w+5k2U-!wXmN)4xOrbh)V09$H& zRhqF4a%ucYIa3dmBLSIL5Pe=v6@d*AOmBtPlm*~P0m|$_8Ct@eTa7I}Y^y<6GCyX4 zO#?hAY&{H4^LW(CoEX5Qj_3ruh7RP%MU@+Pf*JnRZ4LX+?0us)4lJR1!C2L?pv@va7d4JcH)0qlcU>J@ahos6BeFzi;NFEw;T1F&Hp$2=VoQ$Q<@Y9a4k z&Cl&Rh&DmZYpe~yYX&r^OrJ)H*K`Av#^)q*bLc8W%G4o;-a7~#(O}HhMj4O=rgf?) z#lR~}X_LWlH#2N`PKZ57Y)#?~}wYmHg~ zX1>-={hsEkrkq?4u+3Xb?XozlLCVlU?P~=YB(Q-;#8m}->l(?Q-r$Ut#IWOpzk^{V zVDklnT*x*kX2oOTRs^=202{nE39yaOBS*`E*th`L#%9JgnQPnJlvR^}&6*lJ1`wMd zkV`%r5N>5EE1DfnrwwdF`9s<6$YO(BQ4kj|KdLe3%T$Zb2w-QugzsGw;+03wlvW@i zpxMAS7MwnYr zGcy+kk4CmU!}e`^^OSPnzu}4z+ue8b=Vmy=KgUxIYA8#y^u~b?+&F&f)O+~Tv%L1s zx6X}TK6|zPGx_0;dG8Vos3YohcbQBU$8=HJQ_hO%vX!nxxKZYCYE%8EPq)`+7%7O_ z5(A;%VPIo6MvoKpL=9|4GmB}_=$f;?LncwE0Bo04JdFRO46X$@D;Muhl`bowTKrlP z-#F>j=YF}b?^=8vG=3DHT=Po>Y3*KZP@gAp&1YLS%)Mu9D2H3gqKdDEy5hVR{Q|`` zw&24S<29~8T>OI6u{&*tOJp@`sodt!0(VF$!#nR;0=6d|Mon|+CP{4ai*aCvx0Pvh z(dSf{vjD11Lu8poC`Nu{S$S1~YXy;53nS$%+gE)rCkcqlqGWizRk+1XTyxo<%@y@6 zBYQL{Y^9ZhHd=W_eGP)~1e|#-iwhbSy?t;ShI6j1VjUluhvSpKpTTKJYpVeK^Y?0SED)Jf$21Jm;bM!#n zk2N>yn%FPenvHV1IO3370X7xaim{?Tho&iuSvAorr}^L!K#&qzdWs|EyQJoXoY*rr{ViTSnJ%Y!kc0(zMjeXU@DPnPC zo6D+aYduWFMlBR(g-v0#TGNoimiDDPqTTsJdr$W?h15@fH#tB}9HV+PEeN@JS}do6 zhh>GA(zma^DROG-tOsyIaWg+%2DXB^%r1hwW|TY{2e#Z5J$(S!S|Y)aLrNljr~39J1_7M*v08=*GYhlw^G*ED4FQu=@s8TGA)CqP|8|8eii)VU}A-UgH#N6ovXrOkfLjZ*;3Xx%OW|n$LZ3?-fx$y4=Ie zqY|p|nwVZw{p{OdnoE~2FtEK{{hfhTI_d2 z^fR)U8wjC0o#UB z-$62OmzvmwYy;%JH!xDbW1RvHLivFiVB;VnHk}S1hSDOfMd$XlgV?^GptWRzXwm|D zOI^`~oR;kQCl$7>B3lyIe3{VKD#4o1%SBM>Xv^bkNrA0+O1%8L(`zwFEnFr;-2$-z z;>m)`B#<4hlielDUWAD1R&hIad=fcWKYps$KV7CddZYp44D*uYoQ~n!XqygD8d)pI zCpGdnrvNrRoTD{m^X=W_Udsnvh8={6uoOz^etzVpGv_S>8P9rn&7)wJ38eo7F7Z}@ z*9+>rbifoF#HYSni2V%rg8ur{h{RW8WN)uz3)D3^dK^OaI(DKp)dxe7oxa0T7NSzM z%N1E7)abd8e5iMxIJ1|XgVRi~r3oS69m2*zaW_?jg>$Y=dRd(SH{mj+ze|7Wb3`Y~ zNPSrIt1+53=m^O22V-e~Gd_+sG#j4w;-1&^90Vmv++vc=p0;hegL$pywM542$iQY; zrD&o)NbDA};VD~=NP+XOzO8e8gU@^?8=t9y_XZs-d#9nz6o7+ag1hkYka?Y0B2UTr ze%R4Tm=3$82e8S3n8)^17tA$LP4_Qj#000cCJOw4Z1S|=Aks}+B;Yiqsyqu9mPpZN zgp39@-dPz5^_{q)oY}iuxOS9=sQRHrU|R>+l>Dg+A_^clYiu_T1Yi@Gg?dq`-oP7* z{ZN&R+Lkx7y)20m;x1qtRu2+K^Cb?kegfQ}H}(%0Wy6aNg^eyM#Kz`Nog2=xAa~@+Sg=L) zvF8SbE!*7Gd}!CMea`l!x|`jzwOw)$Ir@pZ1)B;B_cgJp|NpxfAcjT-rx72^iUS)jh%x8dsR3}$ZP+TdUfnF32nS` zD!(FH-p%74%og7b4cKOZ?YnO>tHpthj;MG|)}T6*0Xv77`{?Jc4`6GZxo~Rc4%WHV zXlTrPLG`Gx&I|?Eyjq>^pv@k7s?vEKz2V=Jf|s5(#Wu2QMZk7clKO>R2DV8CNr!TH ztbOjoA5u$H5mi(KYW4+3lxbMv$OQ5akP+!UY3h2!VmGjpkbW@gjC*2XglEr>2H z8&ab80-Ls5O| z;V$Ik>&lm@I~=;E`e6v$qWU3-lvdqaz(z;Z2*+)qkkv*Vbs+g|)WkM!t6Tq(mT1OI zQxn>nrgnyKbYf#Lys5^(W{rn(PA0d9NF-+(20ycmP|j%N?NRR)1kYTR#=K~}=soS` zApqhI-j-$riU-F@#{PwCsB27}?mKpZU4Rpv@Dw&?PwRVH4HE*9{X}qag}^+ct-S`e zRT;oPcIb@{JaEVx2XL7=4Lb7YB-Av0g^{^5NJiJwB|bw^<3_5Lw-D6Sm$EjZp0E-& z1%5&=6KSnh5zyxPPQ3A5uY1iNyQ&$=q$^546qsp#Z3nkX+1tL#+w^Jpinbt}Xr*QY0@}P|AYw}k;jFiX zR&oc}B=FUvOGl$%$lq*9YZ>+1!614w&y;>K;>|2ZcJG`|KPQkyy3a81lV4;YcKjUUV}YDUI^lUSim-Hb*n(} z*?Nm&gU2Sa4@dH?y0Jw%nt_cI(PV8`H;^-=qYK!aaV<|hrdTtSm~%`v3)9Sw8`#_e zW6&IAtFFEph|MXI2DYW{ZiubZ1A?<81byx5eA~Bv_^ZV5T19ycK8v$jayzu7uT^e^ z#yX&t%yN^kmKenLrOUvU*d$06H-d3ODfhnkLwO_U*UF zDy)n0_%Z;g@q~?H`Dj4Jq)Z`Yn~uJrnYEeWX=iDWsnI3tzH!^;j%6>bp|44cZe+lX z8mH!&4G^&j*f!Kv#qI+aPKj(tY#%tf3yE!Q@W}2FC*bhllujeDF~sJGDsh^5%?BUa z-ECld)za8netmOodhrXV1Z?l*somy!cRl}F3rtooU>g>&c|Pq)59VRcxqGu}DSW28 zzU{2D37pv&c&rF)J?Tsvz$W;T$Ts@0x>fFgqgHKdXYDHY=Z>;J4ZudhZe02ZR^v1} zdf66+XD_q6fiup;1k(kFNv4XkS-4UXhQqD#4BV~IT9VO9r}(s5Wn3#ETH-i*4WM@a zU;|(*eqc5$oh2hfeO4LPVrFaM>OG;&#nFG_yp|N#!r70Dyq2IgX=ZrqDM<7>FNMt9 z03aqn6OCD8tCMo(zA1$qr}k%L^kIgJ`lI~Bv7KDnQ5c}`$+Tpqr7u?pBb5Lfs|E@l z?3(DRL%`FcjeyOl#TCCY%I0ib%F2O(jdS_f1Yir3YATJ@Q^FZOibhj~YZUk4h5!pe z^uCDK@<1932R$<&b;oM-+bX2y06^s!9AA;*mgv`Mn&Dyx**Z}4@L1tY_IuMoW*aJ}wJNaKa_L{w~*!{Za zKOZ~_BzBFuAz-_(Y+&OYU|Ufl!IbRA&0=w2BZexRVa8@)3t0#O*l_U>iTZ1^#+IWb zjQN6V%A*OuhB$ZR`1#{U05<9xymrq2Fg2N{_uZ(L-Fy_Y4m~kogV8X?wkU7%VV3De z2D^-&D*|2_wjpD25t;It*i;^1v!)5ZDQpyAnV5J7HaX*V2S~Ag_BOz`c($fSRz}8;`Hl~#* zky{sPe>H9n;xz%=0?jS~8x;YY(t9Bm%dz{z8>8Ia2ncy{h z8JO3wor2g@-dw}Puh7THB!!yw&V}p9vek+}1K3zh>Bx;~;{b)NKdgkJz)>=17O+`l zD`Zp!imjQM{QA`3Zir3$p<|P~G5DYe!QodjxAxU{qpwkK`_K(SMcF|3^t*-M+toB5^TS6%f9zm(v>E0LDFyf{vMhk2Q(smFP%6ck`aLVL57}G6aQ{&L4EEMP_Vxw6`ECY)aeLID3sk+ezPh_xZ zb1;4YHvcHdvqMwkHO{x>zs7k9h-xTnd_v&@ixTf4nAB5}*UpI7j>`Isv(Uygu#GHV z*!2FUfemIdv@I`>T=d-xY!R#LwC z(VC?;<-pSuwSC*sM(?p)X0rD1YT1(D`iXI*S&D}?gtKu#iOhPMO>h$0c$E0iX5Nq?7Vob zBbOi9J=x5IBub)OvgE~f(xL~vM&mSHsIJ;DGFswOzNj-qGaW}4QwaWThg>Zu;sa2j{OY9ivM)?-7fq8~84Z!gb)5U`fBWyLR+!{vPNTPB{ zO9^+Cf2u`kelzBTY!eV0Zqyi1zYoRjEx(GdgqAMLriR|%F*k0I>zA0u7NfRsv1KQZ zIIe|D%CJ^BHq@tkIn*R%x~GA6l$fGq{4Iqs9?1UETB9<5utU_Bn01Z=!10ygf_#%tg;X0xa; z#1)+TW#T4ji+&oGQ;2GZM#wl&IYJzPjYrml2ltR5stJFTwW_DlrxZB}S29wAyoYB4 z4l3P*i`xUQcm*SDXHInXG4W=H4gT>ueX`DPmy!m1Du$G6sAqQUsFnY$%l;R9L=Apn ze(wo3mA=y25ZWHu{3>m#uc2@M8{hTPm%i{dd$9BkQkdY1Zd>nv4GEoapi1=!Y^{)>o> zF7u(R0x#i>bO1Jbaw+JM)eQ$HcnHJ5CR4Y1))PAA8SJ?#qM2G-yyL(LRP(t|GGaAF zcF7Ut^lM1WXQ%6R42o$-v$#cIV4K`r1K7NKU}8Id`(os8TWpCs;XSN{0&F@qudzGo zx@nu;qvw`q6jz3hnC}Hn?V%xHn_d93XvXm{!OWL);9)^$l1`nE0~??SE#BT0fNdQ7 z#IFRMixx<3p+4${0$U;}2N7iIn{es_YqZ#DU~8d*3JbA0Q9_MTMY!>Knb?$41+Y;; zE@)}tz~ZPQ5B!Y4z*f*dV}Z@6<}$|7;-(|YuueAu+mjL4a4b+hs!O3;;Mxm!5AJK% zP+}3-w9%bW50nKrxv;@&bK@K@3<=nJ(i+UGg0Wy!1ZEOJ=c;*lJ#k`4cBlR&c6pW5 zPNxWL{+fmwajo~-s24+#*d|1MzN(c2fNh!p$j^KRUgP-#|1AI;y!JlT$&IjgaR2qt z(o5--G+*;UVdrx?cW=R1N%vw1ckY~C#8C(+oB>?ZDDa`#cPsvtHSqBrKUx8MCXbwn}F z1=whae)@ygKK8bEJmB?w53~QHx3)oS02^Zw z^BT$(v5ih-D6NZ+r`khGAkf(sHot7x#+mk|%Q;xcF$izVXX*G3P zDe(Ks7D31s)((_XWnP2MK0bFK&qCq2BnzT>Va zuL)oSz!YxC=;wtefT_x0kJJ1Abujy3f)JZ;aOz8WCO!}_#ES(7lZ$*Khy>B|20)AU2x5$zF7DaIt0=Y~AT{7d+p-a` zsox5XhNiE0&0khkpGLx(&b;DI2yN@!jY*i5z)8UpOT($2#!i;lA4!s#mlwh2n_pwh;JfldB( zP2ieT&0V{8Bd{sJ6GYO+C$F5*$Xw3?Y#Lm1jlgUn@{{`kY)1h$Q5t|nL2MS-h!Zud zQ5U0((E}^We$F8v5;eHon;(u0aK#4;xnZ<7#Gv7R0o(G_xf_nSIjm!|cz}-Du$xwYa4hMNtFCuQ$0r1Alomw;zM-(;#2{cZvVqRI>BR`x91*@@ z_uN2i6qonPqDrc2$#sLkZCjDoIK{&aINf72G&ztR3sH>c98{?Pp48%oY6)>Ixffbl zV0%=I*pkZz;jC;sH2I>F4u1LL_q`>?YaU){Dn$3))i|y92Nh zaB#JwaWSJ^6~KOc0bqmJPUUBK+x6>}64N9U_S=9q4`v)8^*C_BAtGC=@p8 z^21B2TIJl(`&S&(cuA;hC0N^n^_p<3Tt769ZON)UyH=vMB&zu+T(1mkNgI!FoOs#d z=vw(`5GwYJr*xcHwZ8mQKdYotyu+_=GjPiD9*SzLTJO7$HqTC*d zVc?kxT=Uc(yykzLD`ClWb(I53LxeD1S3q0=TSRQ?fJSck4mFB;Y4t(@Ai^_Mp0%@G z2cuM{O}HcL_8G%;SV4S9Y$i6s^t0{V{nm(Rq4h}|O0hCvUk?9aas@U|wO*mk$HIoD z&{N$8Ha7aRuMsU7gO_b$z z!VW}!{NpPIw&xop0XF^JpJLcgPxBiyp*Ci7ylc*)nA)8!C13-5>I-tuMU$k41Z?3O zZ;4IkPV5}gHE0bvN@8ZTc2K1X>NC0lrwG^}Hiw?+pEK5R7i(`3)u|=Q>>R*`$qgF^ z&lRmv#eCN1!)qfW54>>K-mHP`V0s~K2@v#(*j~VU!FE99>}u-pBMy%OY^z9YReeKN z*s#V$M`KWJg9ikGeRaAy@1E$`o$2e>NuolPy+iou{P@-Ct8J8;^%?2A1zPrwA4Mx( z7#_<`?b=N))yl4;M|TU@M)r*jY4yE-{Zk+Q{O3h%ckh1eV{g0r?ps6^5B4@6B!h*} zJjZTl8pk%*-U+dx&NDBe_p9!D$RkG2w#~lk($bsX%%12h#HM}FiMK8;F4ouk_kLWa zMPZ|g7#NiwD(m!BL@iOSL2Qo*z_wi-lz~;k2OsnZZct-u0HTxWX()HKE~_1iz(#>< ztmTN=cn!#Q`D9{krc5hzD;~KCx7^ZkV*At@Q!N8+( z6xF@Dp=G$uH&zPUji(xvfB6^l>0dsfNNijNU~}Ts<&*lkCY5S+j1mFSWy$vAR`wtI7@k_j&$@;IE=Nw2^Wt{ea~JCY$rOIFDn6?XTaL*P75b$p|maH zHogX2KHMr*v(qDLpl4*1z-V~T)+KleNX}cY#PGqDhg} zSaHYazg_)tyA)Yub3xnk-2>P<)q~!>8(PDaJnB3iJrK>MQFJ*E+y>aPo?&yjMi9Pk z;F22(F)W%~Bjf#p!A@6mYcBF+-V*`a#brSn?N7R&h-rpabwyvrxfM2mEjPS&L6HX+ zZ@omo2BZOOlz|Ohj|~Wg9kge0%v@U^U6){aN%e>JIlG#4zNpuVN&(B=x9pY zjV%<@)sRg(CrT5!pb}BG8Lf21J{u$c?V36 zxdSrH8*YF8ZET6+zxL@*fBJ(L*#RenE!E}-7Jdt)(0yiRcrmy3Iezi8Gny_XQjg)F ziFxrF!1m5pEzZt=d}0DgZg%lii;K}vf&U;=Ozkk67Mwi>>^PZj?mg6dqJ>-#SvW(}g4l5Kki5qHn(J$C{m4fkwy&|CqtZa=x8uHR z@okyp_}Z4I*8-0vi0xk$w#v-LiAs*I#S*D1$A*S8UzT}EOs-Y3^LR|TRnQ6>2me;Z zsVzxrs2A|aYhr-El17Kc~un| z0&xjkYwSBHt6Q;MZR!NBx$20vvQ04n763io%8CSa2&YS$tV4Pevg z8Z&?bHsKrUrH|DsZTF14Vq#O`uR8kTwuMv_i%Z?{R_>LC*C6>!eY0}&IOg-@J%Y^k zV1=}}$9!=A=?8YfYlJihUZW$bjZXA4cul~zg6zkH9pxO*PzYbQiomAaQ1D7!(Od5a z)ZTwitX2ZH1$n8>qEo@X%u_-m6EK=BHo(Hgn5jTo^SWGP#4>2U{J;dG(kqs!0F<|2h+4aE4 zzP%6dj3$e;8{p9nY>l)sGn9DEJFq~$K4Zlt?0(@0qc@P35~-q<1D=LiOUqoHQ>RnF zrY(f_tbZHj!prxjacDSQnA4lxZUxl3C~lYl*|5>&EC8E{?TUyk_o|NoY#!3ljLyk# z|Nd9%gZfk+){-M^$!@4mW!=}xuhk`&Lo3N^Njs0E!p4%QfGw`5{m+#(j^lEguau>< z#67|_1h&}YP3)!IqfF(dXe6zL5YeB1`z^2<#1??ffxfX3hI}!$VTkQb1~$D-KQm0R zp}L9eEU>BgnJEDqZ`PEXf2~YmPI9)~=E)@*s%OXhuwd)$X&-8odnPx#0+GuuHXANI8+wGIv8=EO z*dR9Alm@mv2cM>{s3B8i<)qYlwk7=~$v>oKr_2ga^5_c7=a*mvMZY(lc*l!@y@owI z0XE)H6c(NJ1Ym|Ts+q+UM_S}H-xYn$zy_*?M0gjsW9=xhLOjBmO1vg>+@O=SN?_}x zx&^NJ?E3OD9Z`Qzy=5D=4)PqUK^oZ+Q^4HFU`n%g5Sw@{xW08!)h%i>18G&;B&N{- zXeL()V$=2m*hWq0z4TlY3%Y~*kBQgpNFFBpBVaqq&{+VsizDlsd~Q@6*s#qNjUBZX zryeL8+tZ)^@=xD<|0mC%KmW;_1~%8Z^B?`_spDD}Ju;Oaj({zf)4Z~QEoY$(V54R} zL*_sph3!HBwrlcUv&2SM^ajL+t%o)+AT=#=)(=6xc)WVNxm^heYB@{T6tMXoP>>ta zEuI$acjK{M70^u^qygB{b~FgUCbQf`xr=NMnm&N7pcyu?TEV7ws%l4kaUGxI(|bo? zG8quR^uNAoY=BK^rOk`VYU=L@hu(p(JRbT8;~fUV{5a3jYZLp z4GHaMT@$i7ZSkZx5}UR?m2|*VTaV|uCwtXFWwfZHm7Rk*8mQy*QM9*#?c{{kL+#84 z!d(r(W@6)q_En2|APSE}Alvny{52Y0qqry=MwO^oL$n;Mh4Nu?d@U(ZRN6L3EFF|} zqhd)k>>T{}faX)V6@p5Yw8>3MZWh?e>uWJ+tB`GwRM$AUe(>GP9$O0?Q9m$otq5$< z+M`7P@yvr|qx*N(&OA1%zl!41g<&Y^X6-iBI${~qLEB2KF*a(jN&5pKf(oRGRHdy# zwVGDbrdm?0C6WlV4Tvm>5^zh1Tij8D3u@do8son2Mvc)J<6nNxdEXhI&ta&`?R4gK zx=>)+_nC9=J?AM{do=WXc7BZr_Sx~l!5Ky6!1OkZT3epDGrSD3-PyPeM_oo)yL?u> z*1-(qr$bN?`72R9nIp0_(cG)ANX9zm@@ZGO{7g%c5H8+6TT(avC>W-51qL738zh z{91fyZ8Mvp_YI&*%5A#n%GaCR3oTu!7^THf%}0sCj?EPZHdae`WV1%^XSxEm#XWY# z4L)o1LhYVwhARS_-o@j_yykTGN1N9=R4rQ&osDcEz4jT8?W<-*v&tB!Js8WUET||**&5`O>p)wuhAU!41GyiD+Mj#e4A&ZGY2~a`w19f zP+8?nNPCqVZCjHNSvqsuER$(!?CEYT;_VuO7EUDaMHcGLbM3UHMfGb zL7<_L%~0h~!D_|_&jIqU$qRsHVAF7}L6{*w09cBpF-|!F{j^I{7;RyyrUX%su-RRW zf77~42zFh~nQ2XN0Bl`dpoP18w8KZ8{-t+p1!@U}*!P;3z52+JojVp5jz;2-X2u8! zjZ&#VCb`$rk40j06^YHx8`ntsyl#Q*RV*1q#P*U8eBz7m{?fa@h|mVGxixxW>C0aR z*tEYewzM%`KVx9yQa9^(0>;|v#x1c8irLtZU0YfkI`T~Y>F9eW#`xY;R{xG30bCmk znk)uXX0lFFa`Q9Y$}lniym+zkRqH{WOAuRgmrTms$>dn;1*mMQw95*pY}E{GX{&4^ zy08ZNudrs*KzjyiX~avSC1B&wO;Jr|T3|cKNaBl+zk&?=m&kw3z!rE-!-+i)_3zl* zsqCtB8!dB|4$@M~cq$`c%b?t~P#Kw7rE$OQ8Db{1XCOaP6x!i6EfJuZ6@g7rkQwbA zbt+(l2hRk)40g|=Bf4mNTo)RfO3bI`=qT96Z26$Pn(rNpdZJmGdIVsz&i1jZKM9;x zVcVdLz80jlM0jYKT!S*SMkV#N%ICLaAe9eYe@^Ti{NMd=D>prpYoR_Un<83ndd*cC z*~;u2L`T2;-dp0p7NmrT*vxCz5`u%SN_z(=YC!_}H zZLh@pp(EF>tJV!{ZTX1UP?z(XH)Rd9wkdmWV{YuqNBcX83udx&`mJyM@aMnwkuRyf z_{A?S-T2zZ?Ypb1@Y>nwDR|8%K>t#7a|lmdcK7<^P>A9TupMH`yOz5jMN3pT#z}M! zN6*^zu$t`#HYbVh+H;DAs)H0L`PQ4)q~?9tnqH9DB7IG>0~dc7+YS9s7Y!a)ChcA2 z+i(XJ5Ab*ptR>w%{Nm$H53eQW)}rIMSFW$(z0l3N812yj1+IoYwu9TwP zDS3ND>E@p+9OX;TB6!Zc;vp5``QuZw(oxFZV*nnqL0w$M!ZG^Oyt0| zwdCai$DQ(SLX6h{HYx%&4(u_4p)0^PoVzDrD-e09p$!%!y9NrEgbl82vn|uwQehS_ zuv)lMLEzZh?Ukn;5Ufqo9TdB`X!?=DR_ca|*S0hPY#<5q>ekU}>znH`8k6^iqck~6 z-g)x#*xk_jnwRZ_ffjBR2gUXyVv*|pOkr36HYse9{Q|MsK9@QnO^#q^3vBEgyd=`t zUUKsjUxe2#T>n4>Y&1mQ{gJPJ`P})N`cfy(-Pk}}gJQ=Gu``0%C~%yu$N>%u6ABeA z0h@Cc@c1BERAv}V!rU6u<4sGVu$J4+0GsHE(9ll)SxIvu-T;XaGYqEW2D)eq=9QES z{4}!!kSj<@3&l}ri044p}tPYYsvAo0Bpbe>Ho@V+-@G? zVy}L?JiC>fU`uv#xO!l=LA)EPD_?y4qwl}PnePTR^O~BX5L-Aenb<Ab(b;4B;BO z?M!3Oym0^O_{1;@+ttivIV%@Bm6;)6>zv5)&_aAbQj)GKyIPRVBaz&W`XS{xHZP}- z(1kp7#K1=J6EKt;;AgZQg^e?aezlC>RZ4P=wRb|wOH5BI zyBxatXoK?JYvnXGzg>pd3~XT)XOUE@JT1|VNMXy^6swTgt&oV0Auj-M5CrDL6U zfD_b>YHS$~#KEWXezA>~pG(uCmbS@)YvwWGV_5y)t6-Psie2d!5U5=2&oe02w zcuPw8WVq+1OdrZNP@4i;(?5Lc>s|&`z!2~nOca34TcQRw_e8aHkelGw>ban?`5J}o z+R^<-t_NUafbHenvUhOv{1@T1PXu6N31Ob!r8nNae&yvadHKx~?_Qc4+?bn~%dSdq zWIMFZdH1X$n30rBMRe8t8o;*Sz;^w_2^7V30h=SLjxZW&*WJb}RnLZj!A+u6dXSE% zTA~13u2ES}N>CW&F$k+tnI^_pPSa3zH4kW!*ohbc*{rJtVACB^(OlI+;iyDp5Sz-k z0Gk-iO;?DG%9E*Kf$hcmCw(~ z)>7TZUrq{zQbUFs(-{Ms6HXYc_Nh|8O$=ofiT>9!YUPtZ6DGN(z@~QSLt}8@kJ7qc(?91-)9bndSw;+QA4C8!8Gh z8htFl)V5_AXNTA9n9Bnd)G@Kyq=IGb<^xsRIJu(|%ZN?39^x3fi##UX@w0tFShu92 z>H1RwHkX(QHe?RKxYmPBF1eu!hQqbmHn@o2%`hWITIX*8Y@XlB%ZtOio~(0LekyBAfr`S=5re>*r3h~eF;OlNt zPZNnPN<yn>yHlIqoC^M)cH(&dx`S$NS2 z#Vh3?1^<%BM>j#eOR9g2SvT8yxZLM_7`<=%yVN(d6Lg+2vF+&_<@?~g?;&}x#lXg! z?c`7$d(CTJ_p%pblzZ)n_YEwtIj(d4D7o+OnzuyJxJYiEQ=(Mpi$(`S>;ha{XOQiR zq%{NE6>i_i-R#fx=#)gx=e2MeHwu&?`bKwM4m32#3z)u4t5bi{YEoDgvo-6#<)$thCwoqpHck z_Rvn+p)ZHkg2JYa1M*q-!)v(RXpKZ7^q@pOJp>}DPk~ZZ{E?RIMr494caltfp+~^> zP$R>s8ey}*mMH>TwSWyG1HYJ88_q39z_vV~1-`BCeec-_*rG`a#Zh%cBS&Y71+$G@ z9lv9R?KJ;4gR4Pb6R!!_z5%ekm%W4g>1zpvEgY5!qAJ@B4ILz3d>qbgm7=J^xh%13 za9{gSM%W%$NhjO?=W0UYAUP3df$hGFZI;+JBd^7qp+5N0ci#-EC2e!#9Z~a|dYIcr zm@c6-1vxX$Dk!{$L`|q!n|O`b_lac$Hu2iBflbRRK%0x-Jmxi|t!nP$?8KvuFIuY} zfSfc^&7C{m9|7CP`7N`fGfTHqV*rGUD7|g?5Wse5t^XG3@aG2jp?fPm)k%$}<}n;p z^PmYiuBX30*N7)LKNAeA-Tl%h(DJ|ZMS$&nn!@{Y^8pP!#G{+WJ z>3q4EZ^X_$+g3fI6B=yBoDIL)4Q%vAx79qNV^>jPvlYn0#C~%1V6JI20Ndxk%C^Jj zk=Fn=)II^*Xc5>-nH-6rj?Fr+C3WMZf*f8e;o1|ETL($+HHw>r(pI@ju$EXgsF3lV z+$xAuT6w$N=;l8&UweF+JgV|T1>vwfvBeZNt`2up+09bo*J8(69RY0rTK1iW&7Q$0 z2;z)wwxkZY=9FFr1^V^~@9;TyPxRDdBx$!)o7b9~+p1b@&?ciT1DkgaP<~Pe9?AHB zNFfK&tP#ucf>VI+Wh^c@%LaptfGUp(Ip$%t)VrOnoqI9HKX@8NTbp-HLCa#y9*L-D zY~kAb7cjL~uPR?ftMinB4GC;iz~(;$MGIU!&~WL}KHJ*@YzC!m+xNW&U&E9&uqHPe z?NbXVm4HoOsa7b(`>b?VJz_f~mJ*_g)QV=Oe%pT?B*6xBJT+}0$QsP!09%=;X*~hq z(SO0(?Nkj6c&Y?!+bF#efX!i{r_|i76)%>S4l7izi4`;U+;@Q_n*N}2J?s(W z3~Z-6C9>&sZCeMEf~r7kR7SaA1s}zp;mi7|9rE0uj=0d+#>P@+HHU$!IO0uNslugp zB4db69Is{4S`&bI4Sj7IU{h}BLvJEE^z}!>8YX2EwuK?afaAb+WP!cR!rX9j@Q!j|w}3kqA=g#%wFyP|PjqVl#uG7&qD zYo)hJ^@sn4v?|Y_QROwYf89(d32T)G-GacDR0b-aV$5n~&2n8F{NiWdGpoJjEdkiV z(m^ROQSk-}&+&}SmMtS4z`wSPCkS`Pr4~(1w^uRAh1cYmD}{{%CmmEzUmgj>=B?wR z*4u*Cd&a+uoPfuwDCR=xi6H_-1F#)Gx{}r8XIn2bJgw~ew8LVzZY{9J^#1jQ`8xoc zQ{^V7TR^YTGgJ#}2Yk>Fy&M#C1*gp-umNlz`4TNrcc$bBB~BM=pa0hle23TS7(wP{`ggp*D9nMY+hjtY_=K8+$Y~J(jZ~vkzloo ze!0H7Zw6I(jVB%Wx-zH5`=JSaEnGJB1N9q1s*=D)OSI)w-=0O5yLi^Jcu~e4g0xae zY>QkyP}lS}%%)yxthO#{>O>M7d(R^hS)31r$)HAouuQkWrVo4=IHB!NyY>fQ^T*o~ zx2UPfA)}b9R9oujxgTm)3BAxzT1|*Xw_%Eh4x$#>lmiy z_;5-STk$ovDF%x^Xqb;P>DaioUERqVI-*g;dT;A%x*K{^kHmq)ez%OuN7?iKJ{I7)4)%{qLf&tVI z)woydX>jeuuYdhJ;Wf2DRcLJ>*w8#1n$Nt#rfBfZCI2rsp=E$vK(}MSM!NK|J;`Rf+!W;v z1P5(2v>rrYd#!;jM7~>L!y&~p1lo#%LA7>?e3IBoz*a>!$iP-Dofg^5Hp;kt z8ra}9`6CBlleMmZtpgw3UK+}|97GFJ56qq&q0VARKTf(3z((=5fNfE4;KJY%n0@SO z_8u+o+%ZJ9xw*R^W-LedBd<|cC9%Ev;&*>icHJP*TDfq8B(wSIzMvMDB>tr*`e1#{ zm-{w}$T`?d@Mlt5OU8jFw?)gVXyy4W{#nUJssy%#ycVu1>ubrV_t-1f)GvSVX7d`w zO^nx^y(2#Y7^F{QYn&z^HUi3&=+2PZ(u5p6_z9A2A`}!N4mx?VC5f$5;qP+vU`Eow zhT66$U~6mZZOd~Xz^2zxydU+WGs1>x5B@eT0o$R0y!7bp=|-PGSZhCYi{B=ZY2#8B zGm$LLGLvv5zq8J0*b?oyaC&I0aWL}aS)Kj-N4^NCedKFMY~nSx4hFM)^Qg)B{G_Kp zC~4G69u3aso*-$dYduIJDF#4s1Mhk)C0;QO?kc6YR6M{g#n>^V&==0-Kir!3u+yv~I~%XiNus z>3;gO?#FL5-BzVBFvmX?i46#{zGn9d?xuLe?y>VA?a;a|4PbSuRks(PHBH`FU(?TJ z6|?h-^nuvF68QPq_XcBrLDvi(_&N2L0c>{FZ9n#!*0ded z91Pkd>yGf91Y#rb?b#CEY@)%{BWkuQ7G8pfH}y(NM?`Ej4yTgMTYx&+qg~DR5Q%2c zoG`COtAUOCBQ~QfMwZyEHp&Mza&kYn-cPW`CSarLA6e&k(0d+6>!E#UMMtcoR|6Zg z0I;3jyZ0b(P&P#2o?MQLs=GM4rpYx!nt;uRbQOy0@u@yFH*0OM7Ky3eBw#RPKnjt2 zqSoN3T8I02q{N$2>BjE855a5ieCO+r;N!s(rf7%|(QC+QOUr8u^5Zv&+0{e9HdvUO zm@q1>IN)^t#QG7`FA}7@{)oc%#_QL$>~;Rc7ncNVPJX8&x(u*=4I8#M3fQilzc7DJ zHN1i8CXok9ryAs|*Qr<=;}3w>4y~=6IQjzms|q1KF-D>1MZkvK$Dba64c?*ZnMkhF z?WA`E>eC`NFmUhC!5&GL?CCmaSIMp1&)kfGtyvlx?#iBGBfHbQhVJI^HHRhG(G6gu zYSj^S*_lm{#;lrw%`u8i#ZA#FVyW<#+Hv$1C~TSmL|}U(73pgvDem3d-7R2y*-&Sf z5=;4}1Z?tzOXW%QQB_rWVwQUK6mr*~Eqw+w%jj1z-c$_Q-gxSa1~&mbUb;b~V%E z1BE*UAcz`AYjecG5{4e?jq>2~6C`poJjK@HZMvyyfRBe7Y3y4mdEd6^$At%SrhZ~* zztpv7zMmns{X>my89TiLZ0#~lAI$Y%L(>2ByWaJ#_uTqyr%Z&-&8=oeM${XK6YYBsQ`qFH!0G8L94n3E(Ic1T+|RJT9!-Oz`Y zK*)p?iA|3&u+e2DlTqT3La6qh?rt35TnATy1JawBWpD24WXBKjeC*nlcYSs+pD`~9 zY@A7z(wu)-aR9lHy4o>71CyE%(o98Fk330Gl+u@M)8TMLD|Eqn7qU9F4Lak?Xp}VS zOtLjyb9ZICO4m?{nP^a^!I?i*v^M+lgrB1lu%)I&r4-XM6jRzCGE8iDd% zqc|RV*~|JhxEA;fWIGz++CSsN0XC%+=!go~2C2eam}HZ{Hny;?0QmF!qmOzyz;zjovHDjm^v1KS&~omYbV+RDoE+~D{)E1`uf3;u)Vwx}VRlSQw# zME48WuCJe8zqK$l#1z{RzR6ec{VGS4!gp5|Y_JMI(|9lIzGx;goy|%o8yKdaycZU1 z1PANAdfCKUr##I}Y+WWZ5UpLnhQtNv@>b;O;ZMk$*f_Nq*{b8^ZBQ4Qn&aLruSIe2 z{PXtj)c=$fw!muyQyt&wM*^@YVCz5FS_r*YNu@^MWX+U+z>C0EpTFEPg|SJuLK@qUM8+{*Xd|C{Rf`$p&Gi7AU4BZg9>q4+lro{;q-_T8W)Dw0+zEjU8h~)@Ep{18g%Y_>BZA)N1xa>4mPLvE4zwEo50tKAV}m zIz1&|1N9)cMfF4pMI+eOo9N^fqmU`Sn(gGP*`A{xH?di0&hc30oxS@6Y`r{X>FPOh z<)a_{=*Qpn@sEG-a{%T*8NXk-b?ZYP`p}8o>f}`p3^bGT}>BRS0fbGKj zST=yy7+?F^SMl_)+AjHEnp2vU4FAnWIc8YR>vD>4qzN=UfHq%s%F`sA4zBq~<(o}SuLU^ca^G-+SX=Zz3Jwj-mJq4SKw8DPknfw= z5ZDy_KElIx%D}cqS)y%|XQ%M>FqZ|HjfDeCY>pDuJGeIjwmm{MUrAy!q1jCf7ZC2z z<8CB_52@q^`;=J;^P#~-itQI%pex!b%( z^|2i)USs~od7+BmR`64_jj5&_EHIcmG=}Bkox! zOw6!pSAee}flV-`m4i3EuDgNdfTn7FiVZUKJ}0Y33U&XszD6 zhD2@MlL5v-r2=5V;i8#^%YtJJK)6r@ty5w!uM+qk%0A$JuiwpCAEr{7)+kmvRd`&a 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

{!5s#+!aXg~1g^#P1G`sL^I9ad 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

    `--=Z}QYzqnV+cS_;7 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

    &(w#jV9YC~z-Gg6d!Sff)o^fk~0h|k)S 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

    MI^QeZ9Y9R!+0^8i5l1}k{~%8 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
    rYQCDw7BoOHtVQ#>7jQZ0zx z!kFk`T$!Co^`|8fs^{hvBB5kdjA#;S8CZa=+4|Ma?PZ)HOeo(>&QlqdzD5_xPKH`k z9kNs`|Agbd@^k7j^N;kDY&YUtnDIS%a0g&ZAQvWC_|`OIU9{?k{YkS8H+|%rsSI>d za%)XX1sXADT2*L%;M4`tOmXlh|0k(7X=iE5&YjxPqXcKJA|+8vm9#m7YFvx9aTr`O-CgP%h*z3R+>7iX>e-=cEONuR7o5^27 z|8MB#UErdyR*KUaT3S=wx8ef&(?BzfDjahJMPWt3xTZni6FE=>{h{7#ORVj)M117eX-rg3^9b`%+si--{262(6=`ugE z*aYQAY7)!jZIU;;^eb|oLs#4cJdo{4I7cpTGe-Po;f7v5 zX^Ax|p&P~*=OMB+JrIy8_|>2O^ou9ogV-3cO-;zN?x2P~2*T{^GpXRn z@D4>$t>eo`sp8CC8D+&wWp>sOpQQ=2mp8Zll#xKNoK0p+dTxakjQ_LDMxK+j zoS#M$*lZ7BUQ=pg1A*p@F45s{d-xB>B0a0C59ulL5Oo@R-o7?Xob`_aFp}Y%ziD72 z05%gF5rNI|+2bQMjQatO0>wCxGS%55f4-t>q7x|0$h5a?rB_sA1s4sK_vTdh#VC~F z%1S>{1+y*#he{NAu$l^{taQb-8U~Jo(FPIGAKeN7zkByOBy8*z6O^^J_5hl*KTH+c~@;Qb4*^ZOuwZs&6l`?D**mNb3 zmBjK=ABF^*N}~1I2J@_+`g!QK<^KV;dZy*5d)RK$=;+=J#t$Ci31LoCrR;yg)1DsA zqf5z+?cB~$g_dag6nSL91q0hw#a%TyCCPXL6uT?uQUO~|lLs_*s{uqUY(aW5m+@dM z!C`40x?r8#ho@wLZxaq>*qX>gx=tdm*vbHdY9otA;ubtRt;N|ZfY?#_wdT0blutzt z>#pTo7+JA07dtq+d=z`o-!}^O6P5jY6WAsP5@~*&WtGnGwn+-uLTg$aP1VEiXL!q_ zs7K7O-3(M|1z)}Fq`{Z@g*YZ*;hC|GYFATGRy}z9jThcV0QQo-_v&Mom?uB4ync4hm*@`*=D%!*)x!q?zb@yo1TG9 zrXX4R%PA|nc4=S>2Q;;l#R%m|(IFDMY9FP_ZdBGfH^`r{BuXAb{k!79sEekGrrit# zG?88v9#e_GzT>bNOH&8ZdNZv#;{GJ+>@uv9%5T?@i1TyJPEdtlXm2jO|Ue@)lge*oiB0xd(n;dKB2 N002ovPDHLkV1il>?eqWu literal 0 HcmV?d00001 From 3c92c7bca23616f156b70311b149cbc1af59d40b Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 16 Nov 2023 18:24:38 +0800 Subject: [PATCH 070/656] feat(plugin-legacy)!: bump vite peer dep (#15004) --- packages/plugin-legacy/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index 07e0160f5da22d..848fc23b95b549 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -51,7 +51,7 @@ }, "peerDependencies": { "terser": "^5.4.0", - "vite": "^4.0.0" + "vite": "^5.0.0" }, "devDependencies": { "acorn": "^8.11.2", From 918dd6de5ff246ccfd9601f9e3c5e7e30ba4483e Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 16 Nov 2023 11:36:10 +0100 Subject: [PATCH 071/656] docs: dev vs build target (#14997) --- docs/guide/dep-pre-bundling.md | 2 +- docs/guide/index.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/docs/guide/dep-pre-bundling.md b/docs/guide/dep-pre-bundling.md index 0bc25b6e69ff1e..331563fd4c36af 100644 --- a/docs/guide/dep-pre-bundling.md +++ b/docs/guide/dep-pre-bundling.md @@ -60,7 +60,7 @@ A typical use case for `optimizeDeps.include` or `optimizeDeps.exclude` is when Both `include` and `exclude` can be used to deal with this. If the dependency is large (with many internal modules) or is CommonJS, then you should include it; If the dependency is small and is already valid ESM, you can exclude it and let the browser load it directly. -You can further customize esbuild too with the [`optimizeDeps.esbuildOptions` option](/config/dep-optimization-options.md#optimizedeps-esbuildoptions). For example, adding an esbuild plugin to handle special files in dependencies. +You can further customize esbuild too with the [`optimizeDeps.esbuildOptions` option](/config/dep-optimization-options.md#optimizedeps-esbuildoptions). For example, adding an esbuild plugin to handle special files in dependencies or changing the [build `target`](https://esbuild.github.io/api/#target). ## Caching diff --git a/docs/guide/index.md b/docs/guide/index.md index 6b21c00d28ea77..29cb9bad93e796 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -20,7 +20,9 @@ You can learn more about the rationale behind the project in the [Why Vite](./wh ## Browser Support -The default build targets browsers that support [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). Legacy browsers can be supported via the official [@vitejs/plugin-legacy](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy) - see the [Building for Production](./build) section for more details. +During development, Vite sets [`esnext` as the transform target](https://esbuild.github.io/api/#target), because we assume a modern browser is used and it supports all of the latest JavaScript and CSS features. This prevents syntax lowering, letting Vite serve modules as close as possible to the original source code. + +For the production build, by default Vite targets browsers that support [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). Legacy browsers can be supported via the official [@vitejs/plugin-legacy](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy). See the [Building for Production](./build) section for more details. ## Trying Vite Online From 927e9c854a45424e358c8a0c836d7d7fac8fb8b4 Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 16 Nov 2023 18:42:21 +0800 Subject: [PATCH 072/656] release: plugin-legacy@5.0.0 --- packages/plugin-legacy/CHANGELOG.md | 6 ++++++ packages/plugin-legacy/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/plugin-legacy/CHANGELOG.md b/packages/plugin-legacy/CHANGELOG.md index 28d9f3747d4b70..9ba7d07f3fa383 100644 --- a/packages/plugin-legacy/CHANGELOG.md +++ b/packages/plugin-legacy/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.0.0 (2023-11-16) + +* feat(plugin-legacy)!: bump vite peer dep (#15004) ([3c92c7b](https://github.com/vitejs/vite/commit/3c92c7b)), closes [#15004](https://github.com/vitejs/vite/issues/15004) + + + ## 5.0.0-beta.3 (2023-11-14) * fix(deps): update all non-major dependencies (#14635) ([21017a9](https://github.com/vitejs/vite/commit/21017a9)), closes [#14635](https://github.com/vitejs/vite/issues/14635) diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index 848fc23b95b549..13d0b23bc98dec 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@vitejs/plugin-legacy", - "version": "5.0.0-beta.3", + "version": "5.0.0", "license": "MIT", "author": "Evan You", "files": [ From 531d3cbd88e3024e264873653b2d3d203aebd15d Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 16 Nov 2023 11:42:36 +0100 Subject: [PATCH 073/656] chore: cleanup v5 beta changelog (#14694) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green Co-authored-by: bluwy --- packages/vite/CHANGELOG.md | 460 +++++++++++++++++++------------------ 1 file changed, 238 insertions(+), 222 deletions(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 21309e66a56b6c..f26a6b2b4e2513 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,23 +1,124 @@ ## 5.0.0 (2023-11-16) +Vite 5 is out! Read the [announcement blog post here](https://vitejs.dev/blog/announcing-vite5) +[![Announcing Vite 5](https://vitejs.dev/og-image-announcing-vite5.png)](https://vitejs.dev/blog/announcing-vite5) +Today, we mark another big milestone in Vite's path. The Vite [team](https://vitejs.dev/team), [contributors](https://github.com/vitejs/vite/graphs/contributors), and ecosystem partners, are excited to announce the release of Vite 5. Vite is now using [Rollup 4](https://github.com/vitejs/vite/pull/14508), which already represents a big boost in build performance. And there are also new options to improve your dev server performance profile. -## 5.0.0-beta.20 (2023-11-15) +Vite 5 focuses on cleaning up the API (removing deprecated features) and streamlines several features closing long-standing issues, for example switching `define` to use proper AST replacements instead of regexes. We also continue to take steps to future-proof Vite (Node.js 18+ is now required, and [the CJS Node API has been deprecated](https://vitejs.dev/guide/migration#deprecate-cjs-node-api)). + +Quick links: + +- [Docs](https://vitejs.dev) +- [Migration Guide](https://vitejs.dev/guide/migration) + +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!) + +Learn more at [the Vite 5 announcement blog post](https://vitejs.dev/blog/announcing-vite5). + + +### Breaking changes + +* feat!: add isPreview to ConfigEnv and resolveConfig (#14855) ([d195860](https://github.com/vitejs/vite/commit/d195860)), closes [#14855](https://github.com/vitejs/vite/issues/14855) +* fix(types)!: expose httpServer with Http2SecureServer union (#14834) ([ab5bb40](https://github.com/vitejs/vite/commit/ab5bb40)), closes [#14834](https://github.com/vitejs/vite/issues/14834) +* refactor(preview)!: use base middleware (#14818) ([69737f4](https://github.com/vitejs/vite/commit/69737f4)), closes [#14818](https://github.com/vitejs/vite/issues/14818) +* fix(html)!: align html serving between dev and preview (#14756) ([4f71ae8](https://github.com/vitejs/vite/commit/4f71ae8)), closes [#14756](https://github.com/vitejs/vite/issues/14756) +* refactor!: remove non boolean middleware mode (#14792) ([deb5515](https://github.com/vitejs/vite/commit/deb5515)), closes [#14792](https://github.com/vitejs/vite/issues/14792) +* refactor(esbuild)!: remove esbuild 0.17 -> 0.18 compat (#14804) ([7234021](https://github.com/vitejs/vite/commit/7234021)), closes [#14804](https://github.com/vitejs/vite/issues/14804) +* feat(resolve)!: remove `resolve.browserField` (#14733) ([43cc3b9](https://github.com/vitejs/vite/commit/43cc3b9)), closes [#14733](https://github.com/vitejs/vite/issues/14733) +* refactor!: move side effect of restart server to the caller (#8746) ([521ca58](https://github.com/vitejs/vite/commit/521ca58)), closes [#8746](https://github.com/vitejs/vite/issues/8746) +* refactor(shortcuts)!: tweak shortcuts api (#14749) ([0ae2e1d](https://github.com/vitejs/vite/commit/0ae2e1d)), closes [#14749](https://github.com/vitejs/vite/issues/14749) +* fix(resolve)!: remove special .mjs handling (#14723) ([2141d31](https://github.com/vitejs/vite/commit/2141d31)), closes [#14723](https://github.com/vitejs/vite/issues/14723) +* feat!: remove ssr proxy for externalized modules (#14521) ([5786837](https://github.com/vitejs/vite/commit/5786837)), closes [#14521](https://github.com/vitejs/vite/issues/14521) +* feat(build)!: inline SVGs (#14643) ([5acda5e](https://github.com/vitejs/vite/commit/5acda5e)), closes [#14643](https://github.com/vitejs/vite/issues/14643) +* fix!: worker.plugins is a function (#14685) ([9d09dfe](https://github.com/vitejs/vite/commit/9d09dfe)), closes [#14685](https://github.com/vitejs/vite/issues/14685) +* refactor!: remove https flag (#14681) ([5b65bfd](https://github.com/vitejs/vite/commit/5b65bfd)), closes [#14681](https://github.com/vitejs/vite/issues/14681) +* feat!: rollup v4 (#14508) ([dee6067](https://github.com/vitejs/vite/commit/dee6067)), closes [#14508](https://github.com/vitejs/vite/issues/14508) +* refactor!: remove `resolvePackageEntry` and `resolvePackageData` APIs (#14584) ([339f300](https://github.com/vitejs/vite/commit/339f300)), closes [#14584](https://github.com/vitejs/vite/issues/14584) +* refactor!: remove exporting internal APIs (#14583) ([7861a33](https://github.com/vitejs/vite/commit/7861a33)), closes [#14583](https://github.com/vitejs/vite/issues/14583) +* fix!: return 404 for resources requests outside the base path (#5657) ([40fd2d9](https://github.com/vitejs/vite/commit/40fd2d9)), closes [#5657](https://github.com/vitejs/vite/issues/5657) +* refactor!: remove `server.force` (#14530) ([33ecfd9](https://github.com/vitejs/vite/commit/33ecfd9)), closes [#14530](https://github.com/vitejs/vite/issues/14530) +* refactor!: remove jest condition (#14544) ([8d18a91](https://github.com/vitejs/vite/commit/8d18a91)), closes [#14544](https://github.com/vitejs/vite/issues/14544) +* feat!: deprecate cjs node api (#14278) ([404f30f](https://github.com/vitejs/vite/commit/404f30f)), closes [#14278](https://github.com/vitejs/vite/issues/14278) +* feat(shortcuts)!: remove setRawMode (#14342) ([536631a](https://github.com/vitejs/vite/commit/536631a)), closes [#14342](https://github.com/vitejs/vite/issues/14342) +* fix!: put manifest files in .vite directory by default (#14230) ([74fa024](https://github.com/vitejs/vite/commit/74fa024)), closes [#14230](https://github.com/vitejs/vite/issues/14230) +* feat!: allow path containing . to fallback to index.html (#14142) ([1ae4cbd](https://github.com/vitejs/vite/commit/1ae4cbd)), closes [#14142](https://github.com/vitejs/vite/issues/14142) +* feat!: bump minimum node version to 18 (#14030) ([2c1a45c](https://github.com/vitejs/vite/commit/2c1a45c)), closes [#14030](https://github.com/vitejs/vite/issues/14030) +* fix!: avoid rewriting this (reverts #5312) (#14098) ([9b7b4ed](https://github.com/vitejs/vite/commit/9b7b4ed)), closes [#5312](https://github.com/vitejs/vite/issues/5312) [#14098](https://github.com/vitejs/vite/issues/14098) +* refactor!: merge `PreviewServerForHook` into `PreviewServer` type (#14119) ([e0eb07c](https://github.com/vitejs/vite/commit/e0eb07c)), closes [#14119](https://github.com/vitejs/vite/issues/14119) +* refactor(glob)!: remove `import.meta.globEager` (#14118) ([fdfb61f](https://github.com/vitejs/vite/commit/fdfb61f)), closes [#14118](https://github.com/vitejs/vite/issues/14118) +* feat!: add extension to internal virtual modules (#14231) ([9594c70](https://github.com/vitejs/vite/commit/9594c70)), closes [#14231](https://github.com/vitejs/vite/issues/14231) +* feat(css)!: remove css default export ([b6c44cd](https://github.com/vitejs/vite/commit/b6c44cd)) +* fix!: update node types peer dep range (#14280) ([8f87e86](https://github.com/vitejs/vite/commit/8f87e86)), closes [#14280](https://github.com/vitejs/vite/issues/14280) + +### Features * feat: allow providing parent httpServer on middleware mode (#14632) ([e0c86d4](https://github.com/vitejs/vite/commit/e0c86d4)), closes [#14632](https://github.com/vitejs/vite/issues/14632) +* style(client): overlay frame show scrollbar (#14701) ([8aa4134](https://github.com/vitejs/vite/commit/8aa4134)), closes [#14701](https://github.com/vitejs/vite/issues/14701) +* feat: error when failed to resolve aliased import (#14973) ([6a564fa](https://github.com/vitejs/vite/commit/6a564fa)), closes [#14973](https://github.com/vitejs/vite/issues/14973) +* feat: add invalid `rollupOptions` warnings (#14909) ([7c240a0](https://github.com/vitejs/vite/commit/7c240a0)), closes [#14909](https://github.com/vitejs/vite/issues/14909) +* feat: skip initial clear screen if has logs (#14936) ([a92bc61](https://github.com/vitejs/vite/commit/a92bc61)), closes [#14936](https://github.com/vitejs/vite/issues/14936) +* feat(hmr): add full reload reason (#14914) ([60a020e](https://github.com/vitejs/vite/commit/60a020e)), closes [#14914](https://github.com/vitejs/vite/issues/14914) +* feat(hmr): improve circular import updates (#14867) ([b479055](https://github.com/vitejs/vite/commit/b479055)), closes [#14867](https://github.com/vitejs/vite/issues/14867) +* feat: implement AsyncDisposable (#14648) ([385d580](https://github.com/vitejs/vite/commit/385d580)), closes [#14648](https://github.com/vitejs/vite/issues/14648) +* feat: expose parseAst and parseAstAsync from rollup (#14833) ([6229485](https://github.com/vitejs/vite/commit/6229485)), closes [#14833](https://github.com/vitejs/vite/issues/14833) +* feat: upgrade rollup to 4.2.0 and use parseAstAsync (#14821) ([86a5356](https://github.com/vitejs/vite/commit/86a5356)), closes [#14821](https://github.com/vitejs/vite/issues/14821) +* feat(pluginContainer): implement watchChange hook (#14822) ([9369d8d](https://github.com/vitejs/vite/commit/9369d8d)), closes [#14822](https://github.com/vitejs/vite/issues/14822) +* feat(server): add warmupRequest api (#14787) ([8690581](https://github.com/vitejs/vite/commit/8690581)), closes [#14787](https://github.com/vitejs/vite/issues/14787) +* feat(define): handle replacement with esbuild (#11151) ([e4c801c](https://github.com/vitejs/vite/commit/e4c801c)), closes [#11151](https://github.com/vitejs/vite/issues/11151) +* feat: add a runtime warning for the old object type transformIndexHtml hook (#14791) ([17fb5ee](https://github.com/vitejs/vite/commit/17fb5ee)), closes [#14791](https://github.com/vitejs/vite/issues/14791) +* feat: add server.warmup option (#14291) ([da80372](https://github.com/vitejs/vite/commit/da80372)), closes [#14291](https://github.com/vitejs/vite/issues/14291) +* feat: add import-meta.d.ts (#14615) ([598d423](https://github.com/vitejs/vite/commit/598d423)), closes [#14615](https://github.com/vitejs/vite/issues/14615) +* feat: add mdx as known js source (#14560) ([dd213b5](https://github.com/vitejs/vite/commit/dd213b5)), closes [#14560](https://github.com/vitejs/vite/issues/14560) +* feat: add off method to ViteHotContext (issue #14185) (#14518) ([31333bb](https://github.com/vitejs/vite/commit/31333bb)), closes [#14185](https://github.com/vitejs/vite/issues/14185) [#14518](https://github.com/vitejs/vite/issues/14518) +* feat: show better parse error in build (#14600) ([84df7db](https://github.com/vitejs/vite/commit/84df7db)), closes [#14600](https://github.com/vitejs/vite/issues/14600) +* feat(optimizer): check optimizeDeps.extensions for scannable files (#14543) ([23ef8a1](https://github.com/vitejs/vite/commit/23ef8a1)), closes [#14543](https://github.com/vitejs/vite/issues/14543) +* feat(ssr): support for ssr.resolve.conditions and ssr.resolve.externalConditions options (#14498) ([d0afc39](https://github.com/vitejs/vite/commit/d0afc39)), closes [#14498](https://github.com/vitejs/vite/issues/14498) +* feat: show warning to discourage putting process/global to `define` option (#14447) ([83a56f7](https://github.com/vitejs/vite/commit/83a56f7)), closes [#14447](https://github.com/vitejs/vite/issues/14447) +* feat(terser): add `maxWorkers` option for terserOptions (#13858) ([884fc3d](https://github.com/vitejs/vite/commit/884fc3d)), closes [#13858](https://github.com/vitejs/vite/issues/13858) +* feat: add generic type for plugin api (#14238) ([830b26e](https://github.com/vitejs/vite/commit/830b26e)), closes [#14238](https://github.com/vitejs/vite/issues/14238) +* feat: allow passing down "null" to disable server watcher (#14208) ([af5a95e](https://github.com/vitejs/vite/commit/af5a95e)), closes [#14208](https://github.com/vitejs/vite/issues/14208) +* feat: improve deno and bun support (#14379) ([9884308](https://github.com/vitejs/vite/commit/9884308)), closes [#14379](https://github.com/vitejs/vite/issues/14379) +* feat: build.ssrEmitAssets out of experimental (#14055) ([f88ab68](https://github.com/vitejs/vite/commit/f88ab68)), closes [#14055](https://github.com/vitejs/vite/issues/14055) +* feat: ssrTransform support import assertion by default (#14202) ([70a379f](https://github.com/vitejs/vite/commit/70a379f)), closes [#14202](https://github.com/vitejs/vite/issues/14202) +* feat: use `import.meta.url` instead of `self.location` (#14377) ([e9b1e85](https://github.com/vitejs/vite/commit/e9b1e85)), closes [#14377](https://github.com/vitejs/vite/issues/14377) +* feat: warn if # in project root (#14188) ([f5ba696](https://github.com/vitejs/vite/commit/f5ba696)), closes [#14188](https://github.com/vitejs/vite/issues/14188) +* feat(css): stop injecting `?used` ([fc05454](https://github.com/vitejs/vite/commit/fc05454)) +* feat: export `server.bindCLIShortcuts` (#13675) ([1a2e5e6](https://github.com/vitejs/vite/commit/1a2e5e6)), closes [#13675](https://github.com/vitejs/vite/issues/13675) +* feat: copyPublicDir out of experimental (#14051) ([443c235](https://github.com/vitejs/vite/commit/443c235)), closes [#14051](https://github.com/vitejs/vite/issues/14051) +* feat(css): build assets with the entry name when it is an entry point (#11578) ([fd9a2cc](https://github.com/vitejs/vite/commit/fd9a2cc)), closes [#11578](https://github.com/vitejs/vite/issues/11578) +* feat(deps): upgrade rollup to 3.28.0 (#14049) ([490dad8](https://github.com/vitejs/vite/commit/490dad8)), closes [#14049](https://github.com/vitejs/vite/issues/14049) +* feat(worker): support a way to name the worker (#14032) ([1f214a4](https://github.com/vitejs/vite/commit/1f214a4)), closes [#14032](https://github.com/vitejs/vite/issues/14032) + +### Performance + +* perf(define): create simple regex for checks (#14788) ([bd15537](https://github.com/vitejs/vite/commit/bd15537)), closes [#14788](https://github.com/vitejs/vite/issues/14788) +* perf(hmr): implement soft invalidation (#14654) ([4150bcb](https://github.com/vitejs/vite/commit/4150bcb)), closes [#14654](https://github.com/vitejs/vite/issues/14654) +* perf: pre transform requests while opening the browser (#12809) ([96a4ce3](https://github.com/vitejs/vite/commit/96a4ce3)), closes [#12809](https://github.com/vitejs/vite/issues/12809) +* chore(deps): update tsconfck to 3.0.0 (#14629) ([4dcf9c4](https://github.com/vitejs/vite/commit/4dcf9c4)), closes [#14629](https://github.com/vitejs/vite/issues/14629) +* perf: reduce preload marker markup size (#14550) ([6f12fd8](https://github.com/vitejs/vite/commit/6f12fd8)), closes [#14550](https://github.com/vitejs/vite/issues/14550) +* perf: move up external url check before fs path checks (#13639) ([c2ebea1](https://github.com/vitejs/vite/commit/c2ebea1)), closes [#13639](https://github.com/vitejs/vite/issues/13639) +* refactor: update to tsconfck3 with lazy cache (#14234) ([6e0b0ee](https://github.com/vitejs/vite/commit/6e0b0ee)), closes [#14234](https://github.com/vitejs/vite/issues/14234) +* perf: reduce one if judgment (#14329) ([09ba7c6](https://github.com/vitejs/vite/commit/09ba7c6)), closes [#14329](https://github.com/vitejs/vite/issues/14329) +* perf: replace startsWith with === (#14300) ([75cd29c](https://github.com/vitejs/vite/commit/75cd29c)), closes [#14300](https://github.com/vitejs/vite/issues/14300) +* perf: replace fromEntries with a for loop (#14041) ([8b174fd](https://github.com/vitejs/vite/commit/8b174fd)), closes [#14041](https://github.com/vitejs/vite/issues/14041) +* perf: use `URL.canParse` (#14068) ([dcee6ef](https://github.com/vitejs/vite/commit/dcee6ef)), closes [#14068](https://github.com/vitejs/vite/issues/14068) + +### Fixes + * fix: caret position was incorrect (#14984) ([2b4e793](https://github.com/vitejs/vite/commit/2b4e793)), closes [#14984](https://github.com/vitejs/vite/issues/14984) * fix: code frame was not generated for postcss errors (#14986) ([bedfcfa](https://github.com/vitejs/vite/commit/bedfcfa)), closes [#14986](https://github.com/vitejs/vite/issues/14986) * fix: don't append `/@fs/` for bare imports (#14995) ([2a519a1](https://github.com/vitejs/vite/commit/2a519a1)), closes [#14995](https://github.com/vitejs/vite/issues/14995) * fix: server.preTransformRequests https error (#14991) (#14993) ([58ff849](https://github.com/vitejs/vite/commit/58ff849)), closes [#14991](https://github.com/vitejs/vite/issues/14991) [#14993](https://github.com/vitejs/vite/issues/14993) * fix(ssr): skip esm proxy guard for namespace imports (#14988) ([82a5b11](https://github.com/vitejs/vite/commit/82a5b11)), closes [#14988](https://github.com/vitejs/vite/issues/14988) -* docs: point links in messages at https: (#14992) ([d3af879](https://github.com/vitejs/vite/commit/d3af879)), closes [#14992](https://github.com/vitejs/vite/issues/14992) - - - -## 5.0.0-beta.19 (2023-11-14) - -* style(client): overlay frame show scrollbar (#14701) ([8aa4134](https://github.com/vitejs/vite/commit/8aa4134)), closes [#14701](https://github.com/vitejs/vite/issues/14701) * fix: don't watch SPA fallback paths (#14953) ([24c2c57](https://github.com/vitejs/vite/commit/24c2c57)), closes [#14953](https://github.com/vitejs/vite/issues/14953) * fix: handle addWatchFile in load hooks (#14967) ([a0ab85b](https://github.com/vitejs/vite/commit/a0ab85b)), closes [#14967](https://github.com/vitejs/vite/issues/14967) * fix: preload marker duplicate deps (#14955) ([55335cc](https://github.com/vitejs/vite/commit/55335cc)), closes [#14955](https://github.com/vitejs/vite/issues/14955) @@ -25,13 +126,6 @@ * fix(deps): update all non-major dependencies (#14961) ([0bb3995](https://github.com/vitejs/vite/commit/0bb3995)), closes [#14961](https://github.com/vitejs/vite/issues/14961) * fix(esbuild): set js loader for build transpile (#14980) ([80beede](https://github.com/vitejs/vite/commit/80beede)), closes [#14980](https://github.com/vitejs/vite/issues/14980) * fix(pluginContainer): run transform in this.load (#14965) ([3f57b05](https://github.com/vitejs/vite/commit/3f57b05)), closes [#14965](https://github.com/vitejs/vite/issues/14965) -* feat: error when failed to resolve aliased import (#14973) ([6a564fa](https://github.com/vitejs/vite/commit/6a564fa)), closes [#14973](https://github.com/vitejs/vite/issues/14973) -* build: dont strip single line comments (#14969) ([ea9ccb7](https://github.com/vitejs/vite/commit/ea9ccb7)), closes [#14969](https://github.com/vitejs/vite/issues/14969) - - - -## 5.0.0-beta.18 (2023-11-11) - * fix: `server.headers` after restart in middleware mode (#14905) ([f9ce9db](https://github.com/vitejs/vite/commit/f9ce9db)), closes [#14905](https://github.com/vitejs/vite/issues/14905) * fix: add watch in fallback file load (#14938) ([b24b951](https://github.com/vitejs/vite/commit/b24b951)), closes [#14938](https://github.com/vitejs/vite/issues/14938) * fix: injectQuery check with double slash in the url (#14910) ([84c5ff6](https://github.com/vitejs/vite/commit/84c5ff6)), closes [#14910](https://github.com/vitejs/vite/issues/14910) @@ -39,17 +133,6 @@ * fix(css): correctly set manifest source name and emit CSS file (#14945) ([28ccede](https://github.com/vitejs/vite/commit/28ccede)), closes [#14945](https://github.com/vitejs/vite/issues/14945) * fix(server): the server restart port should remain unchanged (#14418) ([8b96e97](https://github.com/vitejs/vite/commit/8b96e97)), closes [#14418](https://github.com/vitejs/vite/issues/14418) * fix(worker): prevent inject esm in classic workers (#14918) ([2687dbb](https://github.com/vitejs/vite/commit/2687dbb)), closes [#14918](https://github.com/vitejs/vite/issues/14918) -* feat: add invalid `rollupOptions` warnings (#14909) ([7c240a0](https://github.com/vitejs/vite/commit/7c240a0)), closes [#14909](https://github.com/vitejs/vite/issues/14909) -* feat: skip initial clear screen if has logs (#14936) ([a92bc61](https://github.com/vitejs/vite/commit/a92bc61)), closes [#14936](https://github.com/vitejs/vite/issues/14936) -* feat(hmr): add full reload reason (#14914) ([60a020e](https://github.com/vitejs/vite/commit/60a020e)), closes [#14914](https://github.com/vitejs/vite/issues/14914) -* feat(hmr): improve circular import updates (#14867) ([b479055](https://github.com/vitejs/vite/commit/b479055)), closes [#14867](https://github.com/vitejs/vite/issues/14867) -* refactor: update es-module-lexer to 1.4.0 (#14937) ([374e6fd](https://github.com/vitejs/vite/commit/374e6fd)), closes [#14937](https://github.com/vitejs/vite/issues/14937) -* revert: remove AsyncDisposable (#14908) ([b953b0d](https://github.com/vitejs/vite/commit/b953b0d)), closes [#14908](https://github.com/vitejs/vite/issues/14908) - - - -## 5.0.0-beta.17 (2023-11-07) - * fix: file link in overlay with custom backend (#14879) ([1bfb584](https://github.com/vitejs/vite/commit/1bfb584)), closes [#14879](https://github.com/vitejs/vite/issues/14879) * fix: processNodeUrl for srcset (#14870) ([0873bae](https://github.com/vitejs/vite/commit/0873bae)), closes [#14870](https://github.com/vitejs/vite/issues/14870) * fix: resovedUrls is null after server restart (#14890) ([bd4d29f](https://github.com/vitejs/vite/commit/bd4d29f)), closes [#14890](https://github.com/vitejs/vite/issues/14890) @@ -58,169 +141,37 @@ * fix(build): mixed external and transpiled srcset (#14888) ([b5653d3](https://github.com/vitejs/vite/commit/b5653d3)), closes [#14888](https://github.com/vitejs/vite/issues/14888) * fix(css): fix sourcemap warning in build with lightningCSS (#14871) ([11b1796](https://github.com/vitejs/vite/commit/11b1796)), closes [#14871](https://github.com/vitejs/vite/issues/14871) * fix(css): initialize lightningCSS targets when not using options (#14872) ([12f9230](https://github.com/vitejs/vite/commit/12f9230)), closes [#14872](https://github.com/vitejs/vite/issues/14872) -* build: strip internal parameters ([1168e57](https://github.com/vitejs/vite/commit/1168e57)) -* chore: refactor as functions ([5684382](https://github.com/vitejs/vite/commit/5684382)) - - - -## 5.0.0-beta.16 (2023-11-03) - -* feat!: add isPreview to ConfigEnv and resolveConfig (#14855) ([d195860](https://github.com/vitejs/vite/commit/d195860)), closes [#14855](https://github.com/vitejs/vite/issues/14855) -* fix(types)!: expose httpServer with Http2SecureServer union (#14834) ([ab5bb40](https://github.com/vitejs/vite/commit/ab5bb40)), closes [#14834](https://github.com/vitejs/vite/issues/14834) -* refactor(preview)!: use base middleware (#14818) ([69737f4](https://github.com/vitejs/vite/commit/69737f4)), closes [#14818](https://github.com/vitejs/vite/issues/14818) -* chore: add `PluginWithRequiredHook` type & extract `getHookHandler` function (#14845) ([997f2d5](https://github.com/vitejs/vite/commit/997f2d5)), closes [#14845](https://github.com/vitejs/vite/issues/14845) -* chore: revert "fix: don't add `?import` for `@vite-ignore`ed import (#14851)" (#14866) ([6516607](https://github.com/vitejs/vite/commit/6516607)), closes [#14851](https://github.com/vitejs/vite/issues/14851) [#14866](https://github.com/vitejs/vite/issues/14866) -* chore(optimizedDeps): remove unused return (#14773) ([9d744dd](https://github.com/vitejs/vite/commit/9d744dd)), closes [#14773](https://github.com/vitejs/vite/issues/14773) -* fix: don't add `?import` for `@vite-ignore`ed import (#14851) ([42fee9e](https://github.com/vitejs/vite/commit/42fee9e)), closes [#14851](https://github.com/vitejs/vite/issues/14851) * fix: use correct publicDir in ERR_LOAD_PUBLIC_URL (#14847) ([66caef3](https://github.com/vitejs/vite/commit/66caef3)), closes [#14847](https://github.com/vitejs/vite/issues/14847) -* feat: implement AsyncDisposable (#14648) ([385d580](https://github.com/vitejs/vite/commit/385d580)), closes [#14648](https://github.com/vitejs/vite/issues/14648) - - - -## 5.0.0-beta.15 (2023-11-01) - -* feat: expose parseAst and parseAstAsync from rollup (#14833) ([6229485](https://github.com/vitejs/vite/commit/6229485)), closes [#14833](https://github.com/vitejs/vite/issues/14833) -* feat: upgrade rollup to 4.2.0 and use parseAstAsync (#14821) ([86a5356](https://github.com/vitejs/vite/commit/86a5356)), closes [#14821](https://github.com/vitejs/vite/issues/14821) -* feat(pluginContainer): implement watchChange hook (#14822) ([9369d8d](https://github.com/vitejs/vite/commit/9369d8d)), closes [#14822](https://github.com/vitejs/vite/issues/14822) -* feat(server): add warmupRequest api (#14787) ([8690581](https://github.com/vitejs/vite/commit/8690581)), closes [#14787](https://github.com/vitejs/vite/issues/14787) -* refactor: simplify build optimizer node_env handling (#14829) ([275907b](https://github.com/vitejs/vite/commit/275907b)), closes [#14829](https://github.com/vitejs/vite/issues/14829) -* chore: fix typo (#14820) ([eda1247](https://github.com/vitejs/vite/commit/eda1247)), closes [#14820](https://github.com/vitejs/vite/issues/14820) -* chore: revert "feat: show warning to discourage putting process/global to `define` option (#14447)" ([0426910](https://github.com/vitejs/vite/commit/0426910)), closes [#14447](https://github.com/vitejs/vite/issues/14447) [#14827](https://github.com/vitejs/vite/issues/14827) -* perf(define): create simple regex for checks (#14788) ([bd15537](https://github.com/vitejs/vite/commit/bd15537)), closes [#14788](https://github.com/vitejs/vite/issues/14788) - - - -## 5.0.0-beta.14 (2023-10-30) - * fix(define): correctly replace same define values (#14786) ([f36fcd2](https://github.com/vitejs/vite/commit/f36fcd2)), closes [#14786](https://github.com/vitejs/vite/issues/14786) * fix(deps): update all non-major dependencies (#14729) ([d5d96e7](https://github.com/vitejs/vite/commit/d5d96e7)), closes [#14729](https://github.com/vitejs/vite/issues/14729) * fix(worker): force rollup to build workerImportMetaUrl under watch mode (#14712) ([8db40ee](https://github.com/vitejs/vite/commit/8db40ee)), closes [#14712](https://github.com/vitejs/vite/issues/14712) -* fix(html)!: align html serving between dev and preview (#14756) ([4f71ae8](https://github.com/vitejs/vite/commit/4f71ae8)), closes [#14756](https://github.com/vitejs/vite/issues/14756) -* refactor!: remove non boolean middleware mode (#14792) ([deb5515](https://github.com/vitejs/vite/commit/deb5515)), closes [#14792](https://github.com/vitejs/vite/issues/14792) -* refactor(esbuild)!: remove esbuild 0.17 -> 0.18 compat (#14804) ([7234021](https://github.com/vitejs/vite/commit/7234021)), closes [#14804](https://github.com/vitejs/vite/issues/14804) -* chore: update license (#14790) ([ac5d8a7](https://github.com/vitejs/vite/commit/ac5d8a7)), closes [#14790](https://github.com/vitejs/vite/issues/14790) -* chore(shortcuts): resolve generic type error (#14802) ([a090742](https://github.com/vitejs/vite/commit/a090742)), closes [#14802](https://github.com/vitejs/vite/issues/14802) -* feat: add a runtime warning for the old object type transformIndexHtml hook (#14791) ([17fb5ee](https://github.com/vitejs/vite/commit/17fb5ee)), closes [#14791](https://github.com/vitejs/vite/issues/14791) - - - -## 5.0.0-beta.13 (2023-10-27) - * fix: skip watchPackageDataPlugin for worker builds (#14762) ([9babef5](https://github.com/vitejs/vite/commit/9babef5)), closes [#14762](https://github.com/vitejs/vite/issues/14762) * fix: suppress addWatchFile invalid phase error (#14751) ([c3622d7](https://github.com/vitejs/vite/commit/c3622d7)), closes [#14751](https://github.com/vitejs/vite/issues/14751) * fix(css): ensure code is valid after empty css chunk imports are removed (fix #14515) (#14517) ([72f6a52](https://github.com/vitejs/vite/commit/72f6a52)), closes [#14515](https://github.com/vitejs/vite/issues/14515) [#14517](https://github.com/vitejs/vite/issues/14517) * fix(html): ignore rewrite external urls (#14774) ([d6d1ef1](https://github.com/vitejs/vite/commit/d6d1ef1)), closes [#14774](https://github.com/vitejs/vite/issues/14774) -* chore(esbuild): fix typo (#14772) ([6cfc1e2](https://github.com/vitejs/vite/commit/6cfc1e2)), closes [#14772](https://github.com/vitejs/vite/issues/14772) -* feat(resolve)!: remove `resolve.browserField` (#14733) ([43cc3b9](https://github.com/vitejs/vite/commit/43cc3b9)), closes [#14733](https://github.com/vitejs/vite/issues/14733) -* refactor!: move side effect of restart server to the caller (#8746) ([521ca58](https://github.com/vitejs/vite/commit/521ca58)), closes [#8746](https://github.com/vitejs/vite/issues/8746) -* refactor(shortcuts)!: tweak shortcuts api (#14749) ([0ae2e1d](https://github.com/vitejs/vite/commit/0ae2e1d)), closes [#14749](https://github.com/vitejs/vite/issues/14749) -* feat(define): handle replacement with esbuild (#11151) ([e4c801c](https://github.com/vitejs/vite/commit/e4c801c)), closes [#11151](https://github.com/vitejs/vite/issues/11151) -* perf(hmr): implement soft invalidation (#14654) ([4150bcb](https://github.com/vitejs/vite/commit/4150bcb)), closes [#14654](https://github.com/vitejs/vite/issues/14654) - - - -## 5.0.0-beta.12 (2023-10-23) - -* fix(resolve)!: remove special .mjs handling (#14723) ([2141d31](https://github.com/vitejs/vite/commit/2141d31)), closes [#14723](https://github.com/vitejs/vite/issues/14723) * fix(assets): fix svg inline in css url (#14714) ([eef4aaa](https://github.com/vitejs/vite/commit/eef4aaa)), closes [#14714](https://github.com/vitejs/vite/issues/14714) * fix(resolve): make directory package.json check best effort (#14626) ([d520388](https://github.com/vitejs/vite/commit/d520388)), closes [#14626](https://github.com/vitejs/vite/issues/14626) -* docs: port 4.4.10 to 4.5 changelog to main (#14732) ([2728a31](https://github.com/vitejs/vite/commit/2728a31)), closes [#14732](https://github.com/vitejs/vite/issues/14732) -* refactor(ssr): remove unused metadata code (#14711) ([c5f2d60](https://github.com/vitejs/vite/commit/c5f2d60)), closes [#14711](https://github.com/vitejs/vite/issues/14711) -* chore: link migration guide to changelog (#14699) ([4cedcdc](https://github.com/vitejs/vite/commit/4cedcdc)), closes [#14699](https://github.com/vitejs/vite/issues/14699) - - - -## 5.0.0-beta.11 (2023-10-19) - -Learn more at the [Vite 5 Migration guide](https://main.vitejs.dev/guide/migration) and help us test the beta! - -* feat!: remove ssr proxy for externalized modules (#14521) ([5786837](https://github.com/vitejs/vite/commit/5786837)), closes [#14521](https://github.com/vitejs/vite/issues/14521) -* feat(build)!: inline SVGs (#14643) ([5acda5e](https://github.com/vitejs/vite/commit/5acda5e)), closes [#14643](https://github.com/vitejs/vite/issues/14643) -* fix!: worker.plugins is a function (#14685) ([9d09dfe](https://github.com/vitejs/vite/commit/9d09dfe)), closes [#14685](https://github.com/vitejs/vite/issues/14685) -* refactor!: remove https flag (#14681) ([5b65bfd](https://github.com/vitejs/vite/commit/5b65bfd)), closes [#14681](https://github.com/vitejs/vite/issues/14681) * fix(assets): make timestamp invalidation lazy (#14675) ([dd610b5](https://github.com/vitejs/vite/commit/dd610b5)), closes [#14675](https://github.com/vitejs/vite/issues/14675) * fix(build): add crossorigin attribute to `link[rel="stylesheet"]` (#12991) ([6e7b25c](https://github.com/vitejs/vite/commit/6e7b25c)), closes [#12991](https://github.com/vitejs/vite/issues/12991) * fix(hmr): clean importers in module graph when file is deleted (#14315) ([7acb016](https://github.com/vitejs/vite/commit/7acb016)), closes [#14315](https://github.com/vitejs/vite/issues/14315) * fix(manifest): include assets referenced in html (#14657) ([f627b91](https://github.com/vitejs/vite/commit/f627b91)), closes [#14657](https://github.com/vitejs/vite/issues/14657) -* chore: fix changelog compare links (#14695) ([cc6ac1e](https://github.com/vitejs/vite/commit/cc6ac1e)), closes [#14695](https://github.com/vitejs/vite/issues/14695) - - - -## 5.0.0-beta.10 (2023-10-17) - -* feat!: rollup v4 (#14508) ([dee6067](https://github.com/vitejs/vite/commit/dee6067)), closes [#14508](https://github.com/vitejs/vite/issues/14508) - - - -## 5.0.0-beta.9 (2023-10-17) - * fix: avoid --open optimization if preTransformRequests is disabled (#14666) ([d4f62e4](https://github.com/vitejs/vite/commit/d4f62e4)), closes [#14666](https://github.com/vitejs/vite/issues/14666) * fix(dynamic-import-vars): preserve custom query string (#14459) ([1f2a982](https://github.com/vitejs/vite/commit/1f2a982)), closes [#14459](https://github.com/vitejs/vite/issues/14459) * fix(hmr): add timestamp for assets in dev (#13371) ([40ee245](https://github.com/vitejs/vite/commit/40ee245)), closes [#13371](https://github.com/vitejs/vite/issues/13371) * fix(html): srcset pointing image in public dir wasn't working during dev (#14663) ([4496ae7](https://github.com/vitejs/vite/commit/4496ae7)), closes [#14663](https://github.com/vitejs/vite/issues/14663) -* refactor: use dynamic import directly (#14661) ([af60592](https://github.com/vitejs/vite/commit/af60592)), closes [#14661](https://github.com/vitejs/vite/issues/14661) -* perf: pre transform requests while opening the browser (#12809) ([96a4ce3](https://github.com/vitejs/vite/commit/96a4ce3)), closes [#12809](https://github.com/vitejs/vite/issues/12809) -* feat: add server.warmup option (#14291) ([da80372](https://github.com/vitejs/vite/commit/da80372)), closes [#14291](https://github.com/vitejs/vite/issues/14291) - - - -## 5.0.0-beta.8 (2023-10-16) - * fix(deps): update all non-major dependencies (#14635) ([21017a9](https://github.com/vitejs/vite/commit/21017a9)), closes [#14635](https://github.com/vitejs/vite/issues/14635) * fix(esbuild): handle tsconfck cache undefined (#14650) ([4e763c5](https://github.com/vitejs/vite/commit/4e763c5)), closes [#14650](https://github.com/vitejs/vite/issues/14650) -* test(hmr): improve #3033 fix description (#14645) ([3e264ef](https://github.com/vitejs/vite/commit/3e264ef)), closes [#14645](https://github.com/vitejs/vite/issues/14645) -* feat: add import-meta.d.ts (#14615) ([598d423](https://github.com/vitejs/vite/commit/598d423)), closes [#14615](https://github.com/vitejs/vite/issues/14615) -* feat: add mdx as known js source (#14560) ([dd213b5](https://github.com/vitejs/vite/commit/dd213b5)), closes [#14560](https://github.com/vitejs/vite/issues/14560) -* chore(deps): update tsconfck to 3.0.0 (#14629) ([4dcf9c4](https://github.com/vitejs/vite/commit/4dcf9c4)), closes [#14629](https://github.com/vitejs/vite/issues/14629) -* fix!: return 404 for resources requests outside the base path (#5657) ([40fd2d9](https://github.com/vitejs/vite/commit/40fd2d9)), closes [#5657](https://github.com/vitejs/vite/issues/5657) -* refactor!: remove `resolvePackageEntry` and `resolvePackageData` APIs (#14584) ([339f300](https://github.com/vitejs/vite/commit/339f300)), closes [#14584](https://github.com/vitejs/vite/issues/14584) -* refactor!: remove exporting internal APIs (#14583) ([7861a33](https://github.com/vitejs/vite/commit/7861a33)), closes [#14583](https://github.com/vitejs/vite/issues/14583) - - - -## 5.0.0-beta.7 (2023-10-12) - -* feat: add off method to ViteHotContext (issue #14185) (#14518) ([31333bb](https://github.com/vitejs/vite/commit/31333bb)), closes [#14185](https://github.com/vitejs/vite/issues/14185) [#14518](https://github.com/vitejs/vite/issues/14518) -* feat: show better parse error in build (#14600) ([84df7db](https://github.com/vitejs/vite/commit/84df7db)), closes [#14600](https://github.com/vitejs/vite/issues/14600) -* chore(config): improve the readability of warning messages (#14594) ([b43b4df](https://github.com/vitejs/vite/commit/b43b4df)), closes [#14594](https://github.com/vitejs/vite/issues/14594) * fix: off-by-one bug in HTML whitespace removal (#14589) ([f54e6d8](https://github.com/vitejs/vite/commit/f54e6d8)), closes [#14589](https://github.com/vitejs/vite/issues/14589) * fix(html): import expression in classic script for dev (#14595) ([ea47b8f](https://github.com/vitejs/vite/commit/ea47b8f)), closes [#14595](https://github.com/vitejs/vite/issues/14595) * fix(html): inline style attribute not working in dev (#14592) ([a4a17b8](https://github.com/vitejs/vite/commit/a4a17b8)), closes [#14592](https://github.com/vitejs/vite/issues/14592) * fix(html): relative paths without leading dot wasn't rewritten (#14591) ([0a38e3b](https://github.com/vitejs/vite/commit/0a38e3b)), closes [#14591](https://github.com/vitejs/vite/issues/14591) * fix(proxy): correct the logic of bypass returning false (#14579) ([261633a](https://github.com/vitejs/vite/commit/261633a)), closes [#14579](https://github.com/vitejs/vite/issues/14579) -* build: clean generated type file (#14582) ([fffe16e](https://github.com/vitejs/vite/commit/fffe16e)), closes [#14582](https://github.com/vitejs/vite/issues/14582) -* build: use rollup-plugin-dts (#14571) ([d89725b](https://github.com/vitejs/vite/commit/d89725b)), closes [#14571](https://github.com/vitejs/vite/issues/14571) - - - -## 5.0.0-beta.6 (2023-10-10) - -* refactor(css): make `getEmptyChunkReplacer` for unit test (#14528) ([18900fd](https://github.com/vitejs/vite/commit/18900fd)), closes [#14528](https://github.com/vitejs/vite/issues/14528) * fix(optimizer): limit bundled file name length to 170 characters (#14561) ([a3b6d8d](https://github.com/vitejs/vite/commit/a3b6d8d)), closes [#14561](https://github.com/vitejs/vite/issues/14561) -* perf: reduce preload marker markup size (#14550) ([6f12fd8](https://github.com/vitejs/vite/commit/6f12fd8)), closes [#14550](https://github.com/vitejs/vite/issues/14550) - - - -## 5.0.0-beta.5 (2023-10-09) - -* perf: move up external url check before fs path checks (#13639) ([c2ebea1](https://github.com/vitejs/vite/commit/c2ebea1)), closes [#13639](https://github.com/vitejs/vite/issues/13639) -* refactor!: remove `server.force` (#14530) ([33ecfd9](https://github.com/vitejs/vite/commit/33ecfd9)), closes [#14530](https://github.com/vitejs/vite/issues/14530) -* refactor!: remove jest condition (#14544) ([8d18a91](https://github.com/vitejs/vite/commit/8d18a91)), closes [#14544](https://github.com/vitejs/vite/issues/14544) * fix: esbuild glob resolve error (#14533) ([3615c68](https://github.com/vitejs/vite/commit/3615c68)), closes [#14533](https://github.com/vitejs/vite/issues/14533) * fix: update transform error message (#14139) ([e0eb304](https://github.com/vitejs/vite/commit/e0eb304)), closes [#14139](https://github.com/vitejs/vite/issues/14139) * fix(deps): update all non-major dependencies (#14510) ([eb204fd](https://github.com/vitejs/vite/commit/eb204fd)), closes [#14510](https://github.com/vitejs/vite/issues/14510) * fix(deps): update all non-major dependencies (#14559) ([6868480](https://github.com/vitejs/vite/commit/6868480)), closes [#14559](https://github.com/vitejs/vite/issues/14559) * fix(lib): esbuild helper functions injection not working with named exports (#14539) ([5004d00](https://github.com/vitejs/vite/commit/5004d00)), closes [#14539](https://github.com/vitejs/vite/issues/14539) -* refactor: ensure HTML is stripped of generated blank lines (#14274) ([bc97091](https://github.com/vitejs/vite/commit/bc97091)), closes [#14274](https://github.com/vitejs/vite/issues/14274) -* refactor: remove unused record flatIdToExports (#14557) ([7e62710](https://github.com/vitejs/vite/commit/7e62710)), closes [#14557](https://github.com/vitejs/vite/issues/14557) -* feat(optimizer): check optimizeDeps.extensions for scannable files (#14543) ([23ef8a1](https://github.com/vitejs/vite/commit/23ef8a1)), closes [#14543](https://github.com/vitejs/vite/issues/14543) -* feat(ssr): support for ssr.resolve.conditions and ssr.resolve.externalConditions options (#14498) ([d0afc39](https://github.com/vitejs/vite/commit/d0afc39)), closes [#14498](https://github.com/vitejs/vite/issues/14498) -* chore: fix typo in console warning message (#14519) ([ad9718d](https://github.com/vitejs/vite/commit/ad9718d)), closes [#14519](https://github.com/vitejs/vite/issues/14519) - - - -## 5.0.0-beta.4 (2023-10-02) - * fix: allow path ending with .html to fallback to index.html ([dae6d0a](https://github.com/vitejs/vite/commit/dae6d0a)) * fix: handle fs.realpath.native MAX_PATH issue for Node.js <18.10 (#14487) ([17c5928](https://github.com/vitejs/vite/commit/17c5928)), closes [#14487](https://github.com/vitejs/vite/issues/14487) * fix: update .html fallback in MPA ([b5637a7](https://github.com/vitejs/vite/commit/b5637a7)) @@ -229,42 +180,11 @@ Learn more at the [Vite 5 Migration guide](https://main.vitejs.dev/guide/migrati * fix(import-analysis): preserve importedUrls import order (#14465) ([99b0645](https://github.com/vitejs/vite/commit/99b0645)), closes [#14465](https://github.com/vitejs/vite/issues/14465) * fix(preview): allow path containing . to fallback to index.html ([fddc151](https://github.com/vitejs/vite/commit/fddc151)) * fix(resolve): support submodules of optional peer deps (#14489) ([f80ff77](https://github.com/vitejs/vite/commit/f80ff77)), closes [#14489](https://github.com/vitejs/vite/issues/14489) -* feat: show warning to discourage putting process/global to `define` option (#14447) ([83a56f7](https://github.com/vitejs/vite/commit/83a56f7)), closes [#14447](https://github.com/vitejs/vite/issues/14447) -* feat(terser): add `maxWorkers` option for terserOptions (#13858) ([884fc3d](https://github.com/vitejs/vite/commit/884fc3d)), closes [#13858](https://github.com/vitejs/vite/issues/13858) -* test(ssr): add import and export ordering snapshot (#14468) ([ca34c64](https://github.com/vitejs/vite/commit/ca34c64)), closes [#14468](https://github.com/vitejs/vite/issues/14468) - - - -## 5.0.0-beta.3 (2023-09-25) - -* refactor: remove CJS ssr output format (#13944) ([2f60b9e](https://github.com/vitejs/vite/commit/2f60b9e)), closes [#13944](https://github.com/vitejs/vite/issues/13944) -* refactor: replace duplicate code with tryStatSync (#14461) ([be6b0c8](https://github.com/vitejs/vite/commit/be6b0c8)), closes [#14461](https://github.com/vitejs/vite/issues/14461) -* refactor(config): remove unnecessary esbuild option (#13580) ([67f4e52](https://github.com/vitejs/vite/commit/67f4e52)), closes [#13580](https://github.com/vitejs/vite/issues/13580) * fix: handle errors during `hasWorkspacePackageJSON` function (#14394) ([c3e4791](https://github.com/vitejs/vite/commit/c3e4791)), closes [#14394](https://github.com/vitejs/vite/issues/14394) * fix: unify css collecting order (#11671) ([20a8a15](https://github.com/vitejs/vite/commit/20a8a15)), closes [#11671](https://github.com/vitejs/vite/issues/11671) * fix(deps): update all non-major dependencies (#14092) ([68638f7](https://github.com/vitejs/vite/commit/68638f7)), closes [#14092](https://github.com/vitejs/vite/issues/14092) * fix(deps): update all non-major dependencies (#14460) ([b77bff0](https://github.com/vitejs/vite/commit/b77bff0)), closes [#14460](https://github.com/vitejs/vite/issues/14460) * fix(deps): update dependency dotenv-expand to v10 (#14391) ([d6bde8b](https://github.com/vitejs/vite/commit/d6bde8b)), closes [#14391](https://github.com/vitejs/vite/issues/14391) -* test(ssr): proper test coverage of SSR shebang import hoisting (#14448) ([fdd4669](https://github.com/vitejs/vite/commit/fdd4669)), closes [#14448](https://github.com/vitejs/vite/issues/14448) -* chore: update manually bumped deps (#14430) ([995c4b6](https://github.com/vitejs/vite/commit/995c4b6)), closes [#14430](https://github.com/vitejs/vite/issues/14430) -* chore(deps): update dependency @rollup/plugin-alias to v5 (#14392) ([2947af7](https://github.com/vitejs/vite/commit/2947af7)), closes [#14392](https://github.com/vitejs/vite/issues/14392) -* chore(optimizer): debug info on cache dir handle process (#12858) ([21a62da](https://github.com/vitejs/vite/commit/21a62da)), closes [#12858](https://github.com/vitejs/vite/issues/12858) -* feat!: deprecate cjs node api (#14278) ([404f30f](https://github.com/vitejs/vite/commit/404f30f)), closes [#14278](https://github.com/vitejs/vite/issues/14278) -* feat(shortcuts)!: remove setRawMode (#14342) ([536631a](https://github.com/vitejs/vite/commit/536631a)), closes [#14342](https://github.com/vitejs/vite/issues/14342) -* fix!: put manifest files in .vite directory by default (#14230) ([74fa024](https://github.com/vitejs/vite/commit/74fa024)), closes [#14230](https://github.com/vitejs/vite/issues/14230) -* feat: add generic type for plugin api (#14238) ([830b26e](https://github.com/vitejs/vite/commit/830b26e)), closes [#14238](https://github.com/vitejs/vite/issues/14238) -* feat: allow passing down "null" to disable server watcher (#14208) ([af5a95e](https://github.com/vitejs/vite/commit/af5a95e)), closes [#14208](https://github.com/vitejs/vite/issues/14208) -* feat: improve deno and bun support (#14379) ([9884308](https://github.com/vitejs/vite/commit/9884308)), closes [#14379](https://github.com/vitejs/vite/issues/14379) - - - -## 5.0.0-beta.2 (2023-09-15) - -* feat: build.ssrEmitAssets out of experimental (#14055) ([f88ab68](https://github.com/vitejs/vite/commit/f88ab68)), closes [#14055](https://github.com/vitejs/vite/issues/14055) -* feat: ssrTransform support import assertion by default (#14202) ([70a379f](https://github.com/vitejs/vite/commit/70a379f)), closes [#14202](https://github.com/vitejs/vite/issues/14202) -* feat: use `import.meta.url` instead of `self.location` (#14377) ([e9b1e85](https://github.com/vitejs/vite/commit/e9b1e85)), closes [#14377](https://github.com/vitejs/vite/issues/14377) -* feat: warn if # in project root (#14188) ([f5ba696](https://github.com/vitejs/vite/commit/f5ba696)), closes [#14188](https://github.com/vitejs/vite/issues/14188) -* feat(css): stop injecting `?used` ([fc05454](https://github.com/vitejs/vite/commit/fc05454)) * fix: omit 'plugins' since it has no effect (#13879) ([64888b0](https://github.com/vitejs/vite/commit/64888b0)), closes [#13879](https://github.com/vitejs/vite/issues/13879) * fix: typo (#14334) ([30df500](https://github.com/vitejs/vite/commit/30df500)), closes [#14334](https://github.com/vitejs/vite/issues/14334) * fix: typo (#14337) ([6ffe070](https://github.com/vitejs/vite/commit/6ffe070)), closes [#14337](https://github.com/vitejs/vite/issues/14337) @@ -273,21 +193,6 @@ Learn more at the [Vite 5 Migration guide](https://main.vitejs.dev/guide/migrati * fix(resolve): support `pkg?query` ([21bbceb](https://github.com/vitejs/vite/commit/21bbceb)) * fix(sourcemap): dont inject fallback sourcemap if have existing (#14370) ([55a3b4f](https://github.com/vitejs/vite/commit/55a3b4f)), closes [#14370](https://github.com/vitejs/vite/issues/14370) * fix(worker): inline es worker does not work in build mode (#14307) ([7371c5c](https://github.com/vitejs/vite/commit/7371c5c)), closes [#14307](https://github.com/vitejs/vite/issues/14307) -* refactor: update to tsconfck3 with lazy cache (#14234) ([6e0b0ee](https://github.com/vitejs/vite/commit/6e0b0ee)), closes [#14234](https://github.com/vitejs/vite/issues/14234) -* refactor(css): remove `export {}` ([98fbdc3](https://github.com/vitejs/vite/commit/98fbdc3)) -* chore: clean debug log ([efe003c](https://github.com/vitejs/vite/commit/efe003c)) -* chore: reduce one if judgment (#14331) ([d0eb803](https://github.com/vitejs/vite/commit/d0eb803)), closes [#14331](https://github.com/vitejs/vite/issues/14331) -* chore: upgrade babel and release-scripts (#14330) ([b361ffa](https://github.com/vitejs/vite/commit/b361ffa)), closes [#14330](https://github.com/vitejs/vite/issues/14330) -* chore(deps): update dependency periscopic to v4 (#14348) ([badaadb](https://github.com/vitejs/vite/commit/badaadb)), closes [#14348](https://github.com/vitejs/vite/issues/14348) -* feat!: add extension to internal virtual modules (#14231) ([9594c70](https://github.com/vitejs/vite/commit/9594c70)), closes [#14231](https://github.com/vitejs/vite/issues/14231) -* feat(css)!: remove css default export ([b6c44cd](https://github.com/vitejs/vite/commit/b6c44cd)) - - - -## 5.0.0-beta.1 (2023-09-08) - -* perf: reduce one if judgment (#14329) ([09ba7c6](https://github.com/vitejs/vite/commit/09ba7c6)), closes [#14329](https://github.com/vitejs/vite/issues/14329) -* perf: replace startsWith with === (#14300) ([75cd29c](https://github.com/vitejs/vite/commit/75cd29c)), closes [#14300](https://github.com/vitejs/vite/issues/14300) * fix: add source map to Web Workers (fix #14216) (#14217) ([6f86de3](https://github.com/vitejs/vite/commit/6f86de3)), closes [#14216](https://github.com/vitejs/vite/issues/14216) [#14217](https://github.com/vitejs/vite/issues/14217) * fix: handle sourcemap correctly when multiple line import exists (#14232) ([627159d](https://github.com/vitejs/vite/commit/627159d)), closes [#14232](https://github.com/vitejs/vite/issues/14232) * fix: include `vite/types/*` in exports field (#14296) ([66a97be](https://github.com/vitejs/vite/commit/66a97be)), closes [#14296](https://github.com/vitejs/vite/issues/14296) @@ -298,23 +203,7 @@ Learn more at the [Vite 5 Migration guide](https://main.vitejs.dev/guide/migrati * fix(css): spread lightningcss options (#14313) ([80c6608](https://github.com/vitejs/vite/commit/80c6608)), closes [#14313](https://github.com/vitejs/vite/issues/14313) * fix(optimizer): define crawlDeps after scanProcessing and optimizationResult are complete (fix #1428 ([c5f6558](https://github.com/vitejs/vite/commit/c5f6558)), closes [#14284](https://github.com/vitejs/vite/issues/14284) [#14285](https://github.com/vitejs/vite/issues/14285) * fix(vite): precisely check if files are in dirs (#14241) ([245d186](https://github.com/vitejs/vite/commit/245d186)), closes [#14241](https://github.com/vitejs/vite/issues/14241) -* fix!: update node types peer dep range (#14280) ([8f87e86](https://github.com/vitejs/vite/commit/8f87e86)), closes [#14280](https://github.com/vitejs/vite/issues/14280) -* feat: export `server.bindCLIShortcuts` (#13675) ([1a2e5e6](https://github.com/vitejs/vite/commit/1a2e5e6)), closes [#13675](https://github.com/vitejs/vite/issues/13675) * revert: "fix(css): spread lightningcss options (#14024)" (#14209) ([5778365](https://github.com/vitejs/vite/commit/5778365)), closes [#14024](https://github.com/vitejs/vite/issues/14024) [#14209](https://github.com/vitejs/vite/issues/14209) - - - -## 5.0.0-beta.0 (2023-08-24) - -* feat!: allow path containing . to fallback to index.html (#14142) ([1ae4cbd](https://github.com/vitejs/vite/commit/1ae4cbd)), closes [#14142](https://github.com/vitejs/vite/issues/14142) -* feat!: bump minimum node version to 18 (#14030) ([2c1a45c](https://github.com/vitejs/vite/commit/2c1a45c)), closes [#14030](https://github.com/vitejs/vite/issues/14030) -* fix!: avoid rewriting this (reverts #5312) (#14098) ([9b7b4ed](https://github.com/vitejs/vite/commit/9b7b4ed)), closes [#5312](https://github.com/vitejs/vite/issues/5312) [#14098](https://github.com/vitejs/vite/issues/14098) -* refactor!: merge `PreviewServerForHook` into `PreviewServer` type (#14119) ([e0eb07c](https://github.com/vitejs/vite/commit/e0eb07c)), closes [#14119](https://github.com/vitejs/vite/issues/14119) -* refactor(glob)!: remove `import.meta.globEager` (#14118) ([fdfb61f](https://github.com/vitejs/vite/commit/fdfb61f)), closes [#14118](https://github.com/vitejs/vite/issues/14118) -* feat: copyPublicDir out of experimental (#14051) ([443c235](https://github.com/vitejs/vite/commit/443c235)), closes [#14051](https://github.com/vitejs/vite/issues/14051) -* feat(css): build assets with the entry name when it is an entry point (#11578) ([fd9a2cc](https://github.com/vitejs/vite/commit/fd9a2cc)), closes [#11578](https://github.com/vitejs/vite/issues/11578) -* feat(deps): upgrade rollup to 3.28.0 (#14049) ([490dad8](https://github.com/vitejs/vite/commit/490dad8)), closes [#14049](https://github.com/vitejs/vite/issues/14049) -* feat(worker): support a way to name the worker (#14032) ([1f214a4](https://github.com/vitejs/vite/commit/1f214a4)), closes [#14032](https://github.com/vitejs/vite/issues/14032) * fix: breakpoints in JS not working (#13514) ([0156bd2](https://github.com/vitejs/vite/commit/0156bd2)), closes [#13514](https://github.com/vitejs/vite/issues/13514) * fix: if host is specified check whether it is valid (#14013) ([c39e6c1](https://github.com/vitejs/vite/commit/c39e6c1)), closes [#14013](https://github.com/vitejs/vite/issues/14013) * fix: initWasm options should be optional (#14152) ([387a6e8](https://github.com/vitejs/vite/commit/387a6e8)), closes [#14152](https://github.com/vitejs/vite/issues/14152) @@ -324,15 +213,142 @@ Learn more at the [Vite 5 Migration guide](https://main.vitejs.dev/guide/migrati * fix(css): spread lightningcss options (#14024) ([63a4451](https://github.com/vitejs/vite/commit/63a4451)), closes [#14024](https://github.com/vitejs/vite/issues/14024) * fix(css): trim esbuild's minified css (#13893) ([7682a62](https://github.com/vitejs/vite/commit/7682a62)), closes [#13893](https://github.com/vitejs/vite/issues/13893) * fix(glob): trigger HMR for glob in a package (#14117) ([86cbf69](https://github.com/vitejs/vite/commit/86cbf69)), closes [#14117](https://github.com/vitejs/vite/issues/14117) + +### Cleanup + +* docs: point links in messages at https: (#14992) ([d3af879](https://github.com/vitejs/vite/commit/d3af879)), closes [#14992](https://github.com/vitejs/vite/issues/14992) +* build: dont strip single line comments (#14969) ([ea9ccb7](https://github.com/vitejs/vite/commit/ea9ccb7)), closes [#14969](https://github.com/vitejs/vite/issues/14969) +* build: strip internal parameters ([1168e57](https://github.com/vitejs/vite/commit/1168e57)) +* chore: refactor as functions ([5684382](https://github.com/vitejs/vite/commit/5684382)) +* chore: add `PluginWithRequiredHook` type & extract `getHookHandler` function (#14845) ([997f2d5](https://github.com/vitejs/vite/commit/997f2d5)), closes [#14845](https://github.com/vitejs/vite/issues/14845) +* chore(optimizedDeps): remove unused return (#14773) ([9d744dd](https://github.com/vitejs/vite/commit/9d744dd)), closes [#14773](https://github.com/vitejs/vite/issues/14773) +* refactor: simplify build optimizer node_env handling (#14829) ([275907b](https://github.com/vitejs/vite/commit/275907b)), closes [#14829](https://github.com/vitejs/vite/issues/14829) +* chore: fix typo (#14820) ([eda1247](https://github.com/vitejs/vite/commit/eda1247)), closes [#14820](https://github.com/vitejs/vite/issues/14820) +* chore: revert "feat: show warning to discourage putting process/global to `define` option (#14447)" ([0426910](https://github.com/vitejs/vite/commit/0426910)), closes [#14447](https://github.com/vitejs/vite/issues/14447) [#14827](https://github.com/vitejs/vite/issues/14827) +* chore: update license (#14790) ([ac5d8a7](https://github.com/vitejs/vite/commit/ac5d8a7)), closes [#14790](https://github.com/vitejs/vite/issues/14790) +* chore(shortcuts): resolve generic type error (#14802) ([a090742](https://github.com/vitejs/vite/commit/a090742)), closes [#14802](https://github.com/vitejs/vite/issues/14802) +* refactor: update es-module-lexer to 1.4.0 (#14937) ([374e6fd](https://github.com/vitejs/vite/commit/374e6fd)), closes [#14937](https://github.com/vitejs/vite/issues/14937) +* chore(esbuild): fix typo (#14772) ([6cfc1e2](https://github.com/vitejs/vite/commit/6cfc1e2)), closes [#14772](https://github.com/vitejs/vite/issues/14772) +* revert: remove AsyncDisposable (#14908) ([b953b0d](https://github.com/vitejs/vite/commit/b953b0d)), closes [#14908](https://github.com/vitejs/vite/issues/14908) +* refactor(ssr): remove unused metadata code (#14711) ([c5f2d60](https://github.com/vitejs/vite/commit/c5f2d60)), closes [#14711](https://github.com/vitejs/vite/issues/14711) +* refactor: use dynamic import directly (#14661) ([af60592](https://github.com/vitejs/vite/commit/af60592)), closes [#14661](https://github.com/vitejs/vite/issues/14661) +* chore(config): improve the readability of warning messages (#14594) ([b43b4df](https://github.com/vitejs/vite/commit/b43b4df)), closes [#14594](https://github.com/vitejs/vite/issues/14594) +* build: clean generated type file (#14582) ([fffe16e](https://github.com/vitejs/vite/commit/fffe16e)), closes [#14582](https://github.com/vitejs/vite/issues/14582) +* build: use rollup-plugin-dts (#14571) ([d89725b](https://github.com/vitejs/vite/commit/d89725b)), closes [#14571](https://github.com/vitejs/vite/issues/14571) +* refactor(css): make `getEmptyChunkReplacer` for unit test (#14528) ([18900fd](https://github.com/vitejs/vite/commit/18900fd)), closes [#14528](https://github.com/vitejs/vite/issues/14528) +* refactor: ensure HTML is stripped of generated blank lines (#14274) ([bc97091](https://github.com/vitejs/vite/commit/bc97091)), closes [#14274](https://github.com/vitejs/vite/issues/14274) +* refactor: remove unused record flatIdToExports (#14557) ([7e62710](https://github.com/vitejs/vite/commit/7e62710)), closes [#14557](https://github.com/vitejs/vite/issues/14557) +* test(ssr): add import and export ordering snapshot (#14468) ([ca34c64](https://github.com/vitejs/vite/commit/ca34c64)), closes [#14468](https://github.com/vitejs/vite/issues/14468) +* refactor: remove CJS ssr output format (#13944) ([2f60b9e](https://github.com/vitejs/vite/commit/2f60b9e)), closes [#13944](https://github.com/vitejs/vite/issues/13944) +* refactor: replace duplicate code with tryStatSync (#14461) ([be6b0c8](https://github.com/vitejs/vite/commit/be6b0c8)), closes [#14461](https://github.com/vitejs/vite/issues/14461) +* refactor(config): remove unnecessary esbuild option (#13580) ([67f4e52](https://github.com/vitejs/vite/commit/67f4e52)), closes [#13580](https://github.com/vitejs/vite/issues/13580) +* test(ssr): proper test coverage of SSR shebang import hoisting (#14448) ([fdd4669](https://github.com/vitejs/vite/commit/fdd4669)), closes [#14448](https://github.com/vitejs/vite/issues/14448) +* chore(optimizer): debug info on cache dir handle process (#12858) ([21a62da](https://github.com/vitejs/vite/commit/21a62da)), closes [#12858](https://github.com/vitejs/vite/issues/12858) +* refactor(css): remove `export {}` ([98fbdc3](https://github.com/vitejs/vite/commit/98fbdc3)) * chore: fix ts error (#14053) ([6cb397f](https://github.com/vitejs/vite/commit/6cb397f)), closes [#14053](https://github.com/vitejs/vite/issues/14053) * chore: use "kB" everywhere with the correct definition (#14061) ([f97ef58](https://github.com/vitejs/vite/commit/f97ef58)), closes [#14061](https://github.com/vitejs/vite/issues/14061) * chore(client): remove redundant if statement (#14137) ([fe1c0b9](https://github.com/vitejs/vite/commit/fe1c0b9)), closes [#14137](https://github.com/vitejs/vite/issues/14137) * refactor(css): use `preliminaryFileName` to detect pure CSS chunks (#13974) ([835249d](https://github.com/vitejs/vite/commit/835249d)), closes [#13974](https://github.com/vitejs/vite/issues/13974) -* perf: replace fromEntries with a for loop (#14041) ([8b174fd](https://github.com/vitejs/vite/commit/8b174fd)), closes [#14041](https://github.com/vitejs/vite/issues/14041) -* perf: use `URL.canParse` (#14068) ([dcee6ef](https://github.com/vitejs/vite/commit/dcee6ef)), closes [#14068](https://github.com/vitejs/vite/issues/14068) +### Previous Changelogs + + +#### [5.0.0-beta.20](https://github.com/vitejs/vite/compare/v5.0.0-beta.19...v5.0.0-beta.20) (2023-11-15) +See [5.0.0-beta.20 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.20/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.19](https://github.com/vitejs/vite/compare/v5.0.0-beta.18...v5.0.0-beta.19) (2023-11-14) +See [5.0.0-beta.19 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.19/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.18](https://github.com/vitejs/vite/compare/v5.0.0-beta.17...v5.0.0-beta.18) (2023-11-11) +See [5.0.0-beta.18 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.18/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.17](https://github.com/vitejs/vite/compare/v5.0.0-beta.16...v5.0.0-beta.17) (2023-11-07) +See [5.0.0-beta.17 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.17/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.16](https://github.com/vitejs/vite/compare/v5.0.0-beta.15...v5.0.0-beta.16) (2023-11-03) +See [5.0.0-beta.16 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.16/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.15](https://github.com/vitejs/vite/compare/v5.0.0-beta.14...v5.0.0-beta.15) (2023-11-01) +See [5.0.0-beta.15 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.15/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.14](https://github.com/vitejs/vite/compare/v5.0.0-beta.13...v5.0.0-beta.14) (2023-10-30) +See [5.0.0-beta.14 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.14/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.13](https://github.com/vitejs/vite/compare/v5.0.0-beta.12...v5.0.0-beta.13) (2023-10-27) +See [5.0.0-beta.13 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.13/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.12](https://github.com/vitejs/vite/compare/v5.0.0-beta.11...v5.0.0-beta.12) (2023-10-23) +See [5.0.0-beta.12 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.12/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.11](https://github.com/vitejs/vite/compare/v5.0.0-beta.10...v5.0.0-beta.11) (2023-10-19) +See [5.0.0-beta.11 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.11/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.10](https://github.com/vitejs/vite/compare/v5.0.0-beta.9...v5.0.0-beta.10) (2023-10-17) +See [5.0.0-beta.10 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.10/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.9](https://github.com/vitejs/vite/compare/v5.0.0-beta.8...v5.0.0-beta.9) (2023-10-17) + +See [5.0.0-beta.9 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.9/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.8](https://github.com/vitejs/vite/compare/v5.0.0-beta.7...v5.0.0-beta.8) (2023-10-16) + +See [5.0.0-beta.8 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.8/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.7](https://github.com/vitejs/vite/compare/v5.0.0-beta.6...v5.0.0-beta.7) (2023-10-12) + +See [5.0.0-beta.7 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.7/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.6](https://github.com/vitejs/vite/compare/v5.0.0-beta.5...v5.0.0-beta.6) (2023-10-10) + +See [5.0.0-beta.6 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.6/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.5](https://github.com/vitejs/vite/compare/v5.0.0-beta.4...v5.0.0-beta.5) (2023-10-09) + +See [5.0.0-beta.5 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.5/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.4](https://github.com/vitejs/vite/compare/v5.0.0-beta.3...v5.0.0-beta.4) (2023-10-02) + +See [5.0.0-beta.4 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.4/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.3](https://github.com/vitejs/vite/compare/v5.0.0-beta.2...v5.0.0-beta.3) (2023-09-25) + +See [5.0.0-beta.3 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.3/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.2](https://github.com/vitejs/vite/compare/v5.0.0-beta.1...v5.0.0-beta.2) (2023-09-15) + +See [5.0.0-beta.2 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.2/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.1](https://github.com/vitejs/vite/compare/v5.0.0-beta.0...v5.0.0-beta.1) (2023-09-08) + +See [5.0.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.1/packages/vite/CHANGELOG.md) + + +#### [5.0.0-beta.0](https://github.com/vitejs/vite/compare/v4.4.9...v5.0.0-beta.0) (2023-08-24) + +See [5.0.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v5.0.0-beta.0/packages/vite/CHANGELOG.md) + + ## 4.5.0 (2023-10-18) * feat: backport mdx as known js source (#14560) (#14670) ([45595ef](https://github.com/vitejs/vite/commit/45595ef)), closes [#14560](https://github.com/vitejs/vite/issues/14560) [#14670](https://github.com/vitejs/vite/issues/14670) From e208697c8e772e01b62797e29ae808ba40aa3a7c Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 16 Nov 2023 22:39:27 +0800 Subject: [PATCH 074/656] feat(create-vite): update templates for vite 5 (#15007) --- packages/create-vite/src/index.ts | 2 +- packages/create-vite/template-lit-ts/package.json | 2 +- packages/create-vite/template-lit/package.json | 2 +- packages/create-vite/template-preact-ts/package.json | 2 +- packages/create-vite/template-preact/package.json | 2 +- packages/create-vite/template-qwik-ts/package.json | 2 +- packages/create-vite/template-qwik/package.json | 2 +- packages/create-vite/template-react-ts/package.json | 4 ++-- packages/create-vite/template-react/package.json | 4 ++-- packages/create-vite/template-solid-ts/package.json | 2 +- packages/create-vite/template-solid/package.json | 2 +- packages/create-vite/template-svelte-ts/package.json | 4 ++-- packages/create-vite/template-svelte/package.json | 4 ++-- packages/create-vite/template-vanilla-ts/package.json | 2 +- packages/create-vite/template-vanilla/package.json | 2 +- packages/create-vite/template-vue-ts/package.json | 4 ++-- packages/create-vite/template-vue/package.json | 4 ++-- 17 files changed, 23 insertions(+), 23 deletions(-) diff --git a/packages/create-vite/src/index.ts b/packages/create-vite/src/index.ts index 20212c337580dd..088c5558d1e920 100755 --- a/packages/create-vite/src/index.ts +++ b/packages/create-vite/src/index.ts @@ -524,7 +524,7 @@ function setupReactSwc(root: string, isTs: boolean) { editFile(path.resolve(root, 'package.json'), (content) => { return content.replace( /"@vitejs\/plugin-react": ".+?"/, - `"@vitejs/plugin-react-swc": "^3.3.2"`, + `"@vitejs/plugin-react-swc": "^3.5.0"`, ) }) editFile( diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index ba622d3d0f9f89..5d83d06494133b 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.2.2", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index bd7f712e7ce431..4d884e555d6049 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.0.2" }, "devDependencies": { - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 965a3eec895382..20285b69a25e8a 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -14,6 +14,6 @@ "devDependencies": { "@preact/preset-vite": "^2.6.0", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 668339bf2907bb..5956cd6f579312 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@preact/preset-vite": "^2.6.0", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 6abffeb6870fe6..b48b462541b96b 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.18" + "vite": "^4.5.0" }, "dependencies": { "@builder.io/qwik": "^1.2.17" diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 6abffeb6870fe6..b48b462541b96b 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.18" + "vite": "^4.5.0" }, "dependencies": { "@builder.io/qwik": "^1.2.17" diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 505b09bc888d7f..482d2c111624fe 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -18,11 +18,11 @@ "@types/react-dom": "^18.2.15", "@typescript-eslint/eslint-plugin": "^6.10.0", "@typescript-eslint/parser": "^6.10.0", - "@vitejs/plugin-react": "^4.1.1", + "@vitejs/plugin-react": "^4.2.0", "eslint": "^8.53.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 695dcd50aef5d5..473c7cde7bd993 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -16,11 +16,11 @@ "devDependencies": { "@types/react": "^18.2.37", "@types/react-dom": "^18.2.15", - "@vitejs/plugin-react": "^4.1.1", + "@vitejs/plugin-react": "^4.2.0", "eslint": "^8.53.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.4", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 6a0f979ac68226..53fdeb19877d72 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.0-beta.18", + "vite": "^5.0.0", "vite-plugin-solid": "^2.7.2" } } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index f8c1f7249bdbd0..57d5f98a654971 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -12,7 +12,7 @@ "solid-js": "^1.8.5" }, "devDependencies": { - "vite": "^5.0.0-beta.18", + "vite": "^5.0.0", "vite-plugin-solid": "^2.7.2" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 212e6e6964d3de..b33b962d697be3 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -10,12 +10,12 @@ "check": "svelte-check --tsconfig ./tsconfig.json" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^3.0.0-next.2", + "@sveltejs/vite-plugin-svelte": "^3.0.0", "@tsconfig/svelte": "^5.0.2", "svelte": "^4.2.3", "svelte-check": "^3.6.0", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 055cdfc91a0006..4c558a44cbda6a 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^3.0.0-next.2", + "@sveltejs/vite-plugin-svelte": "^3.0.0", "svelte": "^4.2.3", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 13ad7c9d5d9478..f009464b8996e6 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.2.2", - "vite": "^5.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index 5d28e8267cc3ff..b298f266fe6b8f 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.0.0-beta.18" + "vite": "^5.0.0" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 02a9c21f387439..b484be89473b92 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -12,9 +12,9 @@ "vue": "^3.3.8" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.1", + "@vitejs/plugin-vue": "^4.5.0", "typescript": "^5.2.2", - "vite": "^5.0.0-beta.18", + "vite": "^5.0.0", "vue-tsc": "^1.8.22" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 3273d0b7db0d9b..414e61083049be 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -12,7 +12,7 @@ "vue": "^3.3.8" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.4.1", - "vite": "^5.0.0-beta.18" + "@vitejs/plugin-vue": "^4.5.0", + "vite": "^5.0.0" } } From 43bb1377e76fcd5597e88c9213daf0da6dec2224 Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 16 Nov 2023 22:57:13 +0800 Subject: [PATCH 075/656] release: create-vite@5.0.0 --- packages/create-vite/CHANGELOG.md | 11 +++++++++++ packages/create-vite/package.json | 2 +- packages/create-vite/template-qwik-ts/package.json | 2 +- packages/create-vite/template-qwik/package.json | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md index 5afed0cd758d04..1b9806aa41830c 100644 --- a/packages/create-vite/CHANGELOG.md +++ b/packages/create-vite/CHANGELOG.md @@ -1,3 +1,14 @@ +## 5.0.0 (2023-11-16) + +* feat(create-vite): update templates for vite 5 (#15007) ([e208697](https://github.com/vitejs/vite/commit/e208697)), closes [#15007](https://github.com/vitejs/vite/issues/15007) +* fix(create-vite): remove repeated styles in vue-template (#14766) ([0fed210](https://github.com/vitejs/vite/commit/0fed210)), closes [#14766](https://github.com/vitejs/vite/issues/14766) +* fix(deps): update all non-major dependencies (#14729) ([d5d96e7](https://github.com/vitejs/vite/commit/d5d96e7)), closes [#14729](https://github.com/vitejs/vite/issues/14729) +* fix(deps): update all non-major dependencies (#14883) ([e5094e5](https://github.com/vitejs/vite/commit/e5094e5)), closes [#14883](https://github.com/vitejs/vite/issues/14883) +* fix(deps): update all non-major dependencies (#14961) ([0bb3995](https://github.com/vitejs/vite/commit/0bb3995)), closes [#14961](https://github.com/vitejs/vite/issues/14961) +* chore(deps): update dependency eslint-plugin-react-refresh to ^0.4.4 (#14795) ([7881457](https://github.com/vitejs/vite/commit/7881457)), closes [#14795](https://github.com/vitejs/vite/issues/14795) + + + ## 5.0.0-beta.1 (2023-10-19) * chore(create-vite): update dependencies (#14698) ([bd82c30](https://github.com/vitejs/vite/commit/bd82c30)), closes [#14698](https://github.com/vitejs/vite/issues/14698) diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json index 40f98b4da7db62..bc02d4cd2e31a7 100644 --- a/packages/create-vite/package.json +++ b/packages/create-vite/package.json @@ -1,6 +1,6 @@ { "name": "create-vite", - "version": "5.0.0-beta.1", + "version": "5.0.0", "type": "module", "license": "MIT", "author": "Evan You", diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index b48b462541b96b..47ec4831810775 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^4.5.0" + "vite": "^5.0.0" }, "dependencies": { "@builder.io/qwik": "^1.2.17" diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index b48b462541b96b..47ec4831810775 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^4.5.0" + "vite": "^5.0.0" }, "dependencies": { "@builder.io/qwik": "^1.2.17" From c936fb7381d0d1cbb7e4c7e92f9c73659187ab2e Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 16 Nov 2023 16:54:40 +0100 Subject: [PATCH 076/656] docs: remove Vite 5 feedback discussion note (#15008) --- docs/releases.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/docs/releases.md b/docs/releases.md index 31599406414403..e33049b941bfc6 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -4,12 +4,6 @@ Vite releases follow [Semantic Versioning](https://semver.org/). You can see the A full changelog of past releases is [available on GitHub](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md). -::: tip note -The next Vite Major release will happen after the Node 16 EOL in September. - -Check out the [Vite 5 discussion](https://github.com/vitejs/vite/discussions/12466) for more information. -::: - ## Release Cycle​ Vite does not have a fixed release cycle. From 4c24f1ec716e2bf5f5d398e45cbe0d466c0d2d8f Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 17 Nov 2023 11:05:56 +0800 Subject: [PATCH 077/656] docs: add blog index page --- docs/.vitepress/config.ts | 1 + .../.vitepress/theme/components/BlogIndex.vue | 46 +++++++++++++++++++ docs/.vitepress/theme/components/blog.data.ts | 40 ++++++++++++++++ docs/blog.md | 13 ++++++ docs/blog/announcing-vite2.md | 14 ++++++ docs/blog/announcing-vite3.md | 1 + docs/blog/announcing-vite4-3.md | 1 + docs/blog/announcing-vite4.md | 1 + docs/blog/announcing-vite5.md | 1 + 9 files changed, 118 insertions(+) create mode 100644 docs/.vitepress/theme/components/BlogIndex.vue create mode 100644 docs/.vitepress/theme/components/blog.data.ts create mode 100644 docs/blog.md diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index c6b7071629ad07..b8b06ff2220d56 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -137,6 +137,7 @@ export default defineConfig({ text: 'Resources', items: [ { text: 'Team', link: '/team' }, + { text: 'Blog', link: '/blog' }, { text: 'Releases', link: '/releases' }, { items: [ diff --git a/docs/.vitepress/theme/components/BlogIndex.vue b/docs/.vitepress/theme/components/BlogIndex.vue new file mode 100644 index 00000000000000..cddd7c16ebedea --- /dev/null +++ b/docs/.vitepress/theme/components/BlogIndex.vue @@ -0,0 +1,46 @@ + + + + + diff --git a/docs/.vitepress/theme/components/blog.data.ts b/docs/.vitepress/theme/components/blog.data.ts new file mode 100644 index 00000000000000..39d45ec2b2b1a2 --- /dev/null +++ b/docs/.vitepress/theme/components/blog.data.ts @@ -0,0 +1,40 @@ +import { createContentLoader } from 'vitepress' + +interface Post { + title: string + url: string + date: { + time: number + string: string + } +} + +declare const data: Post[] +export { data } + +export default createContentLoader('blog/*.md', { + // excerpt: true, + transform(raw): Post[] { + return raw + .map(({ url, frontmatter }) => ({ + title: frontmatter.head.find((e) => e[1].property === 'og:title')[1] + .content, + url, + date: formatDate(frontmatter.date), + })) + .sort((a, b) => b.date.time - a.date.time) + }, +}) + +function formatDate(raw: string): Post['date'] { + const date = new Date(raw) + date.setUTCHours(12) + return { + time: +date, + string: date.toLocaleDateString('en-US', { + year: 'numeric', + month: 'long', + day: 'numeric', + }), + } +} diff --git a/docs/blog.md b/docs/blog.md new file mode 100644 index 00000000000000..f3f8c6298284b1 --- /dev/null +++ b/docs/blog.md @@ -0,0 +1,13 @@ +--- +sidebar: false +editLink: false +outline: false +--- + + + +# Latest From the Vite Blog + + diff --git a/docs/blog/announcing-vite2.md b/docs/blog/announcing-vite2.md index d81debc9b38d69..e9f6da0ce1c171 100644 --- a/docs/blog/announcing-vite2.md +++ b/docs/blog/announcing-vite2.md @@ -1,5 +1,19 @@ --- sidebar: false +date: 2021-02-16 +head: + - - meta + - property: og:type + content: website + - - meta + - property: og:title + content: Announcing Vite 2.0 + - - meta + - property: og:url + content: https://vitejs.dev/blog/announcing-vite2 + - - meta + - property: og:description + content: Vite 2 Release Announcement --- # Announcing Vite 2.0 diff --git a/docs/blog/announcing-vite3.md b/docs/blog/announcing-vite3.md index dba46bb8a05981..8aaa4d01c7e041 100644 --- a/docs/blog/announcing-vite3.md +++ b/docs/blog/announcing-vite3.md @@ -1,5 +1,6 @@ --- sidebar: false +date: 2022-07-23 head: - - meta - property: og:type diff --git a/docs/blog/announcing-vite4-3.md b/docs/blog/announcing-vite4-3.md index 756c3579d1bed0..8ed3fdb38ea200 100644 --- a/docs/blog/announcing-vite4-3.md +++ b/docs/blog/announcing-vite4-3.md @@ -1,5 +1,6 @@ --- sidebar: false +date: 2023-04-20 head: - - meta - property: og:type diff --git a/docs/blog/announcing-vite4.md b/docs/blog/announcing-vite4.md index ca0a4b8d981f1d..3b3280b99de21e 100644 --- a/docs/blog/announcing-vite4.md +++ b/docs/blog/announcing-vite4.md @@ -1,5 +1,6 @@ --- sidebar: false +date: 2022-12-09 head: - - meta - property: og:type diff --git a/docs/blog/announcing-vite5.md b/docs/blog/announcing-vite5.md index 8f043ebc7adcdc..4795801f0c2a9c 100644 --- a/docs/blog/announcing-vite5.md +++ b/docs/blog/announcing-vite5.md @@ -1,5 +1,6 @@ --- sidebar: false +date: 2023-11-16 head: - - meta - property: og:type From 2844a0f66e13006d7624ffb564a63af0f20276fa Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 17 Nov 2023 11:34:00 +0800 Subject: [PATCH 078/656] docs: temporary css fix for blog index --- docs/.vitepress/theme/index.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index a85c67e1df22f5..c716b3bec64264 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -5,6 +5,9 @@ import './styles/vars.css' import HomeSponsors from './components/HomeSponsors.vue' import AsideSponsors from './components/AsideSponsors.vue' import SvgImage from './components/SvgImage.vue' +// temporary fix for vitepress not including component css when only +// imported in a single page +import './components/BlogIndex.vue' export default { extends: DefaultTheme, From 282172c34f40244c7097a9273f200060142dafc1 Mon Sep 17 00:00:00 2001 From: Frank Kepler Date: Thu, 16 Nov 2023 22:37:38 -0800 Subject: [PATCH 079/656] docs: update vite 5 blog grammar (#15014) --- docs/blog/announcing-vite5.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/blog/announcing-vite5.md b/docs/blog/announcing-vite5.md index 4795801f0c2a9c..02f360d18c294b 100644 --- a/docs/blog/announcing-vite5.md +++ b/docs/blog/announcing-vite5.md @@ -96,7 +96,7 @@ Vite 5 also introduces [server.warmup](/guide/performance.html#warm-up-frequentl We have worked with ecosystem partners to ensure a smooth migration to this new major. Once again, [vite-ecosystem-ci](https://www.youtube.com/watch?v=7L4I4lDzO48) has been crucial to help us make bolder changes while avoiding regressions. We're thrilled to see other ecosystems adopt similar schemes to improve the collaboration between their projects and downstream maintainers. -For most projects, the update to Vite 5 should be straight forward. But we advice reviewing the [detailed Migration Guide](/guide/migration) before upgrading. +For most projects, the update to Vite 5 should be straight forward. But we advise reviewing the [detailed Migration Guide](/guide/migration) before upgrading. A low level breakdown with the full list of changes to Vite core can be found at the [Vite 5 Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md#500-2023-11-16). From d9ae680c0efb2985fb70a5113a2403d3f3cf0065 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 17 Nov 2023 15:59:48 +0800 Subject: [PATCH 080/656] docs(troubleshooting): note config mts extension (#15017) --- docs/guide/migration.md | 2 +- docs/guide/troubleshooting.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guide/migration.md b/docs/guide/migration.md index a6f708702e6668..52a19cf7f28212 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -22,7 +22,7 @@ The CJS Node API of Vite is deprecated. When calling `require('vite')`, a deprec In a basic Vite project, make sure: 1. The `vite.config.js` file content is using the ESM syntax. -2. The closest `package.json` file has `"type": "module"`, or use the `.mjs` extension, e.g. `vite.config.mjs`. +2. The closest `package.json` file has `"type": "module"`, or use the `.mjs`/`.mts` extension, e.g. `vite.config.mjs` or `vite.config.mts`. For other projects, there are a few general approaches: diff --git a/docs/guide/troubleshooting.md b/docs/guide/troubleshooting.md index 40b49349ee2355..5d1468988f547f 100644 --- a/docs/guide/troubleshooting.md +++ b/docs/guide/troubleshooting.md @@ -13,7 +13,7 @@ The CJS build of Vite's Node API is deprecated and will be removed in Vite 6. Se In a basic Vite project, make sure: 1. The `vite.config.js` file content is using the ESM syntax. -2. The closest `package.json` file has `"type": "module"`, or use the `.mjs` extension, e.g. `vite.config.mjs`. +2. The closest `package.json` file has `"type": "module"`, or use the `.mjs`/`.mts` extension, e.g. `vite.config.mjs` or `vite.config.mts`. For other projects, there are a few general approaches: From d0b2153a48165f9cbdbeadf1ca00935154fedd02 Mon Sep 17 00:00:00 2001 From: Michael Tran <560721+psychobolt@users.noreply.github.com> Date: Fri, 17 Nov 2023 01:38:55 -0800 Subject: [PATCH 081/656] fix: update type CSSModulesOptions interface (#14987) Co-authored-by: bluwy --- docs/config/shared-options.md | 14 ++++++++++++-- packages/vite/src/node/plugins/css.ts | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index 4c74725c308521..e6ac34f36e2ef5 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -168,21 +168,31 @@ Enabling this setting causes vite to determine file identity by the original fil - **Type:** ```ts interface CSSModulesOptions { + getJSON?: ( + cssFileName: string, + json: Record, + outputFileName: string, + ) => void scopeBehaviour?: 'global' | 'local' globalModulePaths?: RegExp[] + exportGlobals?: boolean generateScopedName?: | string | ((name: string, filename: string, css: string) => string) hashPrefix?: string /** - * default: null + * default: undefined */ localsConvention?: | 'camelCase' | 'camelCaseOnly' | 'dashes' | 'dashesOnly' - | null + | (( + originalClassName: string, + generatedClassName: string, + inputFile: string, + ) => string) } ``` diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 2f91ea93bacac0..2333a721df8d4f 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -115,6 +115,7 @@ export interface CSSModulesOptions { ) => void scopeBehaviour?: 'global' | 'local' globalModulePaths?: RegExp[] + exportGlobals?: boolean generateScopedName?: | string | ((name: string, filename: string, css: string) => string) From cc980feb556bda324f1da7162a571150fcbaebed Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 17 Nov 2023 12:00:41 +0100 Subject: [PATCH 082/656] docs: indirect use vite.middlewares in example (#15020) --- docs/guide/api-javascript.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/guide/api-javascript.md b/docs/guide/api-javascript.md index 54b1dd0fa2be43..89197c937b73fc 100644 --- a/docs/guide/api-javascript.md +++ b/docs/guide/api-javascript.md @@ -67,7 +67,9 @@ const vite = await createServer({ }, }) -server.use(vite.middlewares) +server.use((req, res, next) => { + vite.middlewares.handle(req, res, next) +}) ``` From 78b34e03909b39d67a7f5d5a04d72913a94a726a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 17 Nov 2023 23:31:24 +0900 Subject: [PATCH 083/656] docs: add a note about `moduleResolution` for rollup 4 (#15023) --- docs/guide/migration.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/guide/migration.md b/docs/guide/migration.md index 52a19cf7f28212..7b79a9b139077c 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -15,6 +15,8 @@ Vite is now using Rollup 4 which also brings along its breaking changes, in part Read the full breaking changes in [Rollup's release notes](https://github.com/rollup/rollup/releases/tag/v4.0.0) for build-related changes in [`build.rollupOptions`](/config/build-options.md#build-rollupoptions). +If you are using TypeScript, make sure to set `moduleResolution: 'bundler'` (or `node16`/`nodenext`) as Rollup 4 requires it. Or you can set `skipLibCheck: true` instead. + ## Deprecate CJS Node API The CJS Node API of Vite is deprecated. When calling `require('vite')`, a deprecation warning is now logged. You should update your files or frameworks to import the ESM build of Vite instead. From b93dfe3e08f56cafe2e549efd80285a12a3dc2f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Sat, 18 Nov 2023 03:57:37 +0900 Subject: [PATCH 084/656] fix: run htmlFallbackMiddleware for no accept header requests (#15025) --- packages/vite/src/node/server/middlewares/htmlFallback.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/vite/src/node/server/middlewares/htmlFallback.ts b/packages/vite/src/node/server/middlewares/htmlFallback.ts index de29c54ec321eb..d5f053fd34211c 100644 --- a/packages/vite/src/node/server/middlewares/htmlFallback.ts +++ b/packages/vite/src/node/server/middlewares/htmlFallback.ts @@ -14,13 +14,11 @@ export function htmlFallbackMiddleware( if ( // Only accept GET or HEAD (req.method !== 'GET' && req.method !== 'HEAD') || - // Require Accept header - !req.headers || - typeof req.headers.accept !== 'string' || // Ignore JSON requests - req.headers.accept.includes('application/json') || + req.headers.accept?.includes('application/json') || // Require Accept: text/html or */* !( + req.headers.accept === undefined || // equivalent to `Accept: */*` req.headers.accept.includes('text/html') || req.headers.accept.includes('*/*') ) From 03c371e426d006148b7156d764bd9d4de664251b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Mon, 20 Nov 2023 17:14:45 +0900 Subject: [PATCH 085/656] chore: add comment about crossorigin attribute for script module (#15040) --- packages/vite/src/node/plugins/html.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index 1912143b70fdde..3cb5ac20bfd3f4 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -675,6 +675,12 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { attrs: { ...(isAsync ? { async: true } : {}), type: 'module', + // crossorigin must be set not only for serving assets in a different origin + // but also to make it possible to preload the script using ``. + // ` + + + +

    +
    +
    +
    diff --git a/playground/data-uri/main.js b/playground/data-uri/main.js new file mode 100644 index 00000000000000..63326fdb1b4781 --- /dev/null +++ b/playground/data-uri/main.js @@ -0,0 +1,18 @@ +import sqdqs from './single-quote-in-double-quotes.svg' +import sqsdqs from './single-quotes-in-double-quotes.svg' +import dqsqs from './double-quote-in-single-quotes.svg' +import dqssqs from './double-quotes-in-single-quotes.svg' + +document.querySelector('#sqdqs').innerHTML = ` + load failed +` +document.querySelector('#sqsdqs').innerHTML = ` + load failed +` + +document.querySelector('#dqsqs').innerHTML = ` + load failed +` +document.querySelector('#dqssqs').innerHTML = ` + load failed +` diff --git a/playground/data-uri/single-quote-in-double-quotes.svg b/playground/data-uri/single-quote-in-double-quotes.svg new file mode 100644 index 00000000000000..69974c97773921 --- /dev/null +++ b/playground/data-uri/single-quote-in-double-quotes.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/playground/data-uri/single-quotes-in-double-quotes.svg b/playground/data-uri/single-quotes-in-double-quotes.svg new file mode 100644 index 00000000000000..0489e7b39e8b5a --- /dev/null +++ b/playground/data-uri/single-quotes-in-double-quotes.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5684fcd8d27110d098b3e1c19d851f44251588f1 Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 15 Dec 2023 16:51:47 +0100 Subject: [PATCH 186/656] release: v5.0.10 --- packages/vite/CHANGELOG.md | 7 +++++++ packages/vite/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index da79fc75d3aa6c..8174c1c9c9d362 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,10 @@ +## 5.0.10 (2023-12-15) + +* fix: omit protocol does not require pre-transform (#15355) ([d9ae1b2](https://github.com/vitejs/vite/commit/d9ae1b2)), closes [#15355](https://github.com/vitejs/vite/issues/15355) +* fix(build): use base64 for inline SVG if it contains both single and double quotes (#15271) ([1bbff16](https://github.com/vitejs/vite/commit/1bbff16)), closes [#15271](https://github.com/vitejs/vite/issues/15271) + + + ## 5.0.9 (2023-12-14) * fix: htmlFallbackMiddleware for favicon (#15301) ([c902545](https://github.com/vitejs/vite/commit/c902545)), closes [#15301](https://github.com/vitejs/vite/issues/15301) diff --git a/packages/vite/package.json b/packages/vite/package.json index b0a153893ab46b..9ba2e7c0c3e799 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.0.9", + "version": "5.0.10", "type": "module", "license": "MIT", "author": "Evan You", From 19e3c9a8a16847486fbad8a8cd48fc771b1538bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 22 Dec 2023 17:17:31 +0900 Subject: [PATCH 187/656] fix: don't pretransform classic script links (#15361) --- packages/vite/src/node/server/middlewares/indexHtml.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/middlewares/indexHtml.ts b/packages/vite/src/node/server/middlewares/indexHtml.ts index d7422667794133..bee93f981a1af2 100644 --- a/packages/vite/src/node/server/middlewares/indexHtml.ts +++ b/packages/vite/src/node/server/middlewares/indexHtml.ts @@ -127,6 +127,7 @@ const processNodeUrl = ( htmlPath: string, originalUrl?: string, server?: ViteDevServer, + isClassicScriptLink?: boolean, ): string => { // prefix with base (dev only, base is never relative) const replacer = (url: string) => { @@ -155,7 +156,7 @@ const processNodeUrl = ( url = path.posix.join(config.base, url) } - if (server && shouldPreTransform(url, config)) { + if (server && !isClassicScriptLink && shouldPreTransform(url, config)) { let preTransformUrl: string | undefined if (url[0] === '/' && url[1] !== '/') { preTransformUrl = url @@ -271,6 +272,7 @@ const devHtmlHook: IndexHtmlTransformHook = async ( htmlPath, originalUrl, server, + !isModule, ) if (processedUrl !== src.value) { overwriteAttrValue(s, sourceCodeLocation!, processedUrl) From 56ae92c33cba6c86ab5819877c19b9ea39f7121b Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Tue, 26 Dec 2023 22:36:27 +0900 Subject: [PATCH 188/656] docs(ssr): add a missing closing parenthesis (#15429) --- docs/guide/ssr.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/ssr.md b/docs/guide/ssr.md index 1cfce0ae3671e6..d8159ab8a0c042 100644 --- a/docs/guide/ssr.md +++ b/docs/guide/ssr.md @@ -92,7 +92,7 @@ async function createServer() { // When the server restarts (for example after the user modifies // vite.config.js), `vite.middlewares` is still going to be the same // reference (with a new internal stack of Vite and plugin-injected - // middlewares. The following is valid even after restarts. + // middlewares). The following is valid even after restarts. app.use(vite.middlewares) app.use('*', async (req, res) => { From 8de7bd2b68db27b83d9484cc8d4e26436615168e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=B1=84=EC=A4=80=20-=20CJ=20Lee?= Date: Sat, 30 Dec 2023 05:14:50 -0800 Subject: [PATCH 189/656] fix(assets): avoid splitting `,` inside base64 value of `srcset` attribute (#15422) --- packages/vite/src/node/__tests__/utils.spec.ts | 6 ++++++ packages/vite/src/node/utils.ts | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/__tests__/utils.spec.ts b/packages/vite/src/node/__tests__/utils.spec.ts index 5b3794a6f9cee4..3efdbdd77c2409 100644 --- a/packages/vite/src/node/__tests__/utils.spec.ts +++ b/packages/vite/src/node/__tests__/utils.spec.ts @@ -332,6 +332,12 @@ describe('processSrcSetSync', () => { ), ).toBe('/base/nested/asset.png 1x, /base/nested/asset.png 2x') }) + + test('should not split the comma inside base64 value', async () => { + const base64 = + 'data:image/avif;base64,aA+/0= 400w, data:image/avif;base64,bB+/9= 800w' + expect(processSrcSetSync(base64, ({ url }) => url)).toBe(base64) + }) }) describe('flattenId', () => { diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index ff23df8a6d3e30..01eb7165c9f5b0 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -787,10 +787,10 @@ export function processSrcSetSync( } const cleanSrcSetRE = - /(?:url|image|gradient|cross-fade)\([^)]*\)|"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'/g + /(?:url|image|gradient|cross-fade)\([^)]*\)|"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|data:\w+\/[\w.+\-]+;base64,[\w+/=]+/g function splitSrcSet(srcs: string) { const parts: string[] = [] - // There could be a ',' inside of url(data:...), linear-gradient(...) or "data:..." + // There could be a ',' inside of url(data:...), linear-gradient(...), "data:..." or data:... const cleanedSrcs = srcs.replace(cleanSrcSetRE, blankReplacer) let startIndex = 0 let splitIndex: number From 17857e79d2c9bbe53f7d35ea6046133d68699940 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 11:58:26 +0800 Subject: [PATCH 190/656] chore(deps): update dependency @vitejs/plugin-vue to v5 (#15474) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/create-vite/template-vue-ts/package.json | 2 +- packages/create-vite/template-vue/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 5d9adf1aa3448c..5eb1adc114103c 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -12,7 +12,7 @@ "vue": "^3.3.11" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.5.2", + "@vitejs/plugin-vue": "^5.0.2", "typescript": "^5.2.2", "vite": "^5.0.8", "vue-tsc": "^1.8.25" diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index db3f608bdf6e4e..ba2ee784c0a071 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -12,7 +12,7 @@ "vue": "^3.3.11" }, "devDependencies": { - "@vitejs/plugin-vue": "^4.5.2", + "@vitejs/plugin-vue": "^5.0.2", "vite": "^5.0.8" } } From 49d21fe1feaac30dee0196bd484480a8000a4363 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 11:58:41 +0800 Subject: [PATCH 191/656] chore(deps): update dependency strip-literal to v2 (#15475) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/vite/package.json | 2 +- pnpm-lock.yaml | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index 9ba2e7c0c3e799..e21038b89bd671 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -134,7 +134,7 @@ "sirv": "^2.0.3", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", - "strip-literal": "^1.3.0", + "strip-literal": "^2.0.0", "tsconfck": "^3.0.0", "tslib": "^2.6.2", "types": "link:./types", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8a5798b6f7f601..75ba31ddaaf313 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -406,8 +406,8 @@ importers: specifier: ^7.1.0 version: 7.1.0 strip-literal: - specifier: ^1.3.0 - version: 1.3.0 + specifier: ^2.0.0 + version: 2.0.0 tsconfck: specifier: ^3.0.0 version: 3.0.0(typescript@5.2.2) @@ -6953,6 +6953,10 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + /js-tokens@8.0.2: + resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==} + dev: true + /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -9149,6 +9153,12 @@ packages: acorn: 8.11.2 dev: true + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.2 + dev: true + /stylus@0.62.0: resolution: {integrity: sha512-v3YCf31atbwJQIMtPNX8hcQ+okD4NQaTuKGUWfII8eaqn+3otrbttGL1zSMZAAtiPsBztQnujVBugg/cXFUpyg==} hasBin: true From 5ea9edbc9ceb991e85f893fe62d68ed028677451 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 1 Jan 2024 11:00:47 +0700 Subject: [PATCH 192/656] fix(html): handle offset magic-string slice error (#15435) --- packages/vite/src/node/plugins/html.ts | 24 +++++++++++++----------- playground/html/vite.config.js | 1 + playground/html/write.html | 3 +++ 3 files changed, 17 insertions(+), 11 deletions(-) create mode 100644 playground/html/write.html diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index b9fe1637dd066a..4dc243036ad150 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -345,18 +345,13 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { const nodeStartWithLeadingWhitespace = ( node: DefaultTreeAdapterMap['node'], ) => { - if (node.sourceCodeLocation!.startOffset === 0) - return node.sourceCodeLocation!.startOffset + const startOffset = node.sourceCodeLocation!.startOffset + if (startOffset === 0) return 0 // Gets the offset for the start of the line including the // newline trailing the previous node const lineStartOffset = - node.sourceCodeLocation!.startOffset - - node.sourceCodeLocation!.startCol - const line = s.slice( - Math.max(0, lineStartOffset), - node.sourceCodeLocation!.startOffset, - ) + startOffset - node.sourceCodeLocation!.startCol // // @@ -369,9 +364,16 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { // // However, if there is content between our target node start and the // previous newline, we cannot strip it out without risking content deletion. - return line.trim() - ? node.sourceCodeLocation!.startOffset - : lineStartOffset + let isLineEmpty = false + try { + const line = s.slice(Math.max(0, lineStartOffset), startOffset) + isLineEmpty = !line.trim() + } catch { + // magic-string may throw if there's some content removed in the sliced string, + // which we ignore and assume the line is not empty + } + + return isLineEmpty ? lineStartOffset : startOffset } // pre-transform diff --git a/playground/html/vite.config.js b/playground/html/vite.config.js index a7f3964cb165bc..b1e51226e078bd 100644 --- a/playground/html/vite.config.js +++ b/playground/html/vite.config.js @@ -39,6 +39,7 @@ export default defineConfig({ serveFolder: resolve(__dirname, 'serve/folder/index.html'), serveBothFile: resolve(__dirname, 'serve/both.html'), serveBothFolder: resolve(__dirname, 'serve/both/index.html'), + write: resolve(__dirname, 'write.html'), }, }, }, diff --git a/playground/html/write.html b/playground/html/write.html new file mode 100644 index 00000000000000..f85ce49c08dc8c --- /dev/null +++ b/playground/html/write.html @@ -0,0 +1,3 @@ + + From 2a540eee82f9a31deff8215bdbdccfa46d494a06 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 12:06:32 +0800 Subject: [PATCH 193/656] chore(deps): update tj-actions/changed-files action to v41 (#15476) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: bluwy --- .github/workflows/ci.yml | 2 +- packages/vite/LICENSE.md | 29 +++++++++++++++++++++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 052f5c3a2cc5ab..c2166dc90529ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@94549999469dbfa032becf298d95c87a14c34394 # v40.2.2 + uses: tj-actions/changed-files@716b1e13042866565e00e85fd4ec490e186c4a2f # v41.0.1 with: files: | docs/** diff --git a/packages/vite/LICENSE.md b/packages/vite/LICENSE.md index cdbe40a51014bb..15f396ecec8e2d 100644 --- a/packages/vite/LICENSE.md +++ b/packages/vite/LICENSE.md @@ -2186,6 +2186,35 @@ Repository: git+https://github.com/isaacs/isexe.git --------------------------------------- +## js-tokens +License: MIT +By: Simon Lydell +Repository: lydell/js-tokens + +> The MIT License (MIT) +> +> Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell +> +> Permission is hereby granted, free of charge, to any person obtaining a copy +> of this software and associated documentation files (the "Software"), to deal +> in the Software without restriction, including without limitation the rights +> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +> copies of the Software, and to permit persons to whom the Software is +> furnished to do so, subject to the following conditions: +> +> The above copyright notice and this permission notice shall be included in +> all copies or substantial portions of the Software. +> +> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +> THE SOFTWARE. + +--------------------------------------- + ## json-stable-stringify License: MIT By: James Halliday From d2aa0969ee316000d3b957d7e879f001e85e369e Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 2 Jan 2024 17:00:49 +0900 Subject: [PATCH 194/656] fix: inject `__vite__mapDeps` code before sourcemap file comment (#15483) --- .../vite/src/node/plugins/importAnalysisBuild.ts | 13 +++++++++++-- .../js-sourcemap/__tests__/js-sourcemap.spec.ts | 5 +++++ 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 16e51e287db3a7..07e6a5c39c444c 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -634,13 +634,22 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { ) .join(',')}]` - s.append(`\ + const mapDepsCode = `\ function __vite__mapDeps(indexes) { if (!__vite__mapDeps.viteFileDeps) { __vite__mapDeps.viteFileDeps = ${fileDepsCode} } return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -}`) +}\n` + + // inject extra code before sourcemap comment + const mapFileCommentMatch = + convertSourceMap.mapFileCommentRegex.exec(code) + if (mapFileCommentMatch) { + s.appendRight(mapFileCommentMatch.index, mapDepsCode) + } else { + s.append(mapDepsCode) + } // there may still be markers due to inlined dynamic imports, remove // all the markers regardless diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index d4e6888ab5edd8..da1a517ca25beb 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -129,5 +129,10 @@ describe.runIf(isBuild)('build tests', () => { "version": 3, } `) + // + const js = findAssetFile(/after-preload-dynamic.*\.js$/) + expect(js.trim().split('\n').at(-1)).toMatch( + /^\/\/# sourceMappingURL=after-preload-dynamic.*\.js\.map$/, + ) }) }) From f43945c1c35de34d64b2b1772b1629aba83cb476 Mon Sep 17 00:00:00 2001 From: Matthew King Date: Wed, 3 Jan 2024 22:56:30 -0500 Subject: [PATCH 195/656] docs: fix lightning css typo (#15501) --- docs/guide/features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index a60999bea00ef6..3c7c45a8d9c304 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -291,7 +291,7 @@ Starting from Vite 4.4, there is experimental support for [Lightning CSS](https: npm add -D lightningcss ``` -If enabled, CSS files will be processed by Lightning CSS instead of PostCSS. To configure it, you can pass Lightning CSS options to the [`css.lightingcss`](../config/shared-options.md#css-lightningcss) config option. +If enabled, CSS files will be processed by Lightning CSS instead of PostCSS. To configure it, you can pass Lightning CSS options to the [`css.lightningcss`](../config/shared-options.md#css-lightningcss) config option. To configure CSS Modules, you'll use [`css.lightningcss.cssModules`](https://lightningcss.dev/css-modules.html) instead of [`css.modules`](../config/shared-options.md#css-modules) (which configures the way PostCSS handles CSS modules). From b44c49302ffbf0c82f984f6219ed6376d1e4552a Mon Sep 17 00:00:00 2001 From: bluwy Date: Fri, 5 Jan 2024 16:03:40 +0800 Subject: [PATCH 196/656] release: v5.0.11 --- packages/vite/CHANGELOG.md | 11 +++++++++++ packages/vite/package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 8174c1c9c9d362..666a07828aadf1 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,14 @@ +## 5.0.11 (2024-01-05) + +* fix: don't pretransform classic script links (#15361) ([19e3c9a](https://github.com/vitejs/vite/commit/19e3c9a)), closes [#15361](https://github.com/vitejs/vite/issues/15361) +* fix: inject `__vite__mapDeps` code before sourcemap file comment (#15483) ([d2aa096](https://github.com/vitejs/vite/commit/d2aa096)), closes [#15483](https://github.com/vitejs/vite/issues/15483) +* fix(assets): avoid splitting `,` inside base64 value of `srcset` attribute (#15422) ([8de7bd2](https://github.com/vitejs/vite/commit/8de7bd2)), closes [#15422](https://github.com/vitejs/vite/issues/15422) +* fix(html): handle offset magic-string slice error (#15435) ([5ea9edb](https://github.com/vitejs/vite/commit/5ea9edb)), closes [#15435](https://github.com/vitejs/vite/issues/15435) +* chore(deps): update dependency strip-literal to v2 (#15475) ([49d21fe](https://github.com/vitejs/vite/commit/49d21fe)), closes [#15475](https://github.com/vitejs/vite/issues/15475) +* chore(deps): update tj-actions/changed-files action to v41 (#15476) ([2a540ee](https://github.com/vitejs/vite/commit/2a540ee)), closes [#15476](https://github.com/vitejs/vite/issues/15476) + + + ## 5.0.10 (2023-12-15) * fix: omit protocol does not require pre-transform (#15355) ([d9ae1b2](https://github.com/vitejs/vite/commit/d9ae1b2)), closes [#15355](https://github.com/vitejs/vite/issues/15355) diff --git a/packages/vite/package.json b/packages/vite/package.json index e21038b89bd671..0b82587841d1ed 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.0.10", + "version": "5.0.11", "type": "module", "license": "MIT", "author": "Evan You", From fdbe04d3d7c4fa6994fa17601201b3a6d2092fea Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 8 Jan 2024 22:14:22 +0800 Subject: [PATCH 197/656] fix: set correct `isSsrBuild` value in dev (#15536) --- packages/vite/src/node/config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index a8d61f03a5a090..a4c44894c8227d 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -420,7 +420,7 @@ export async function resolveConfig( const configEnv: ConfigEnv = { mode, command, - isSsrBuild: !!config.build?.ssr, + isSsrBuild: command === 'build' && !!config.build?.ssr, isPreview, } From f8c6a341fb4fd920e6aaed47d863606c38ad1291 Mon Sep 17 00:00:00 2001 From: Dunqing Date: Mon, 8 Jan 2024 22:17:12 +0800 Subject: [PATCH 198/656] fix(sourcemap): sourcemap is incorrect when sourcemap has `sources: [null]` (#14588) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- .../vite/src/node/server/pluginContainer.ts | 15 ++++++++++++- .../__tests__/js-sourcemap.spec.ts | 21 +++++++++++++++++++ playground/js-sourcemap/index.html | 1 + playground/js-sourcemap/package.json | 3 ++- playground/js-sourcemap/plugin-foo.js | 1 + playground/js-sourcemap/vite.config.js | 6 +++++- .../js-sourcemap/zoo-with-sourcemap-plugin.ts | 18 ++++++++++++++++ playground/js-sourcemap/zoo.js | 1 + pnpm-lock.yaml | 3 +++ 9 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 playground/js-sourcemap/plugin-foo.js create mode 100644 playground/js-sourcemap/zoo-with-sourcemap-plugin.ts create mode 100644 playground/js-sourcemap/zoo.js diff --git a/packages/vite/src/node/server/pluginContainer.ts b/packages/vite/src/node/server/pluginContainer.ts index 5e62f00a2e1156..3d412ccae0c502 100644 --- a/packages/vite/src/node/server/pluginContainer.ts +++ b/packages/vite/src/node/server/pluginContainer.ts @@ -600,7 +600,20 @@ export async function createPluginContainer( break } if (!combinedMap) { - combinedMap = m as SourceMap + const sm = m as SourceMap + // sourcemap should not include `sources: [null]` (because `sources` should be string) nor + // `sources: ['']` (because `''` means the path of sourcemap) + // but MagicString generates this when `filename` option is not set. + // Rollup supports these and therefore we support this as well + if (sm.sources.length === 1 && !sm.sources[0]) { + combinedMap = { + ...sm, + sources: [this.filename], + sourcesContent: [this.originalCode], + } + } else { + combinedMap = sm + } } else { combinedMap = combineSourcemaps(cleanUrl(this.filename), [ m as RawSourceMap, diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index da1a517ca25beb..7c22274b2a3a66 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -31,6 +31,27 @@ if (!isBuild) { `) }) + test('plugin return sourcemap with `sources: [""]`', async () => { + const res = await page.request.get(new URL('./zoo.js', page.url()).href) + const js = await res.text() + expect(js).toContain('// add comment') + + const map = extractSourcemap(js) + expect(formatSourcemapForSnapshot(map)).toMatchInlineSnapshot(` + { + "mappings": "AAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;", + "sources": [ + "zoo.js", + ], + "sourcesContent": [ + "export const zoo = 'zoo' + ", + ], + "version": 3, + } + `) + }) + test('js with inline sourcemap injected by a plugin', async () => { const res = await page.request.get( new URL('./foo-with-sourcemap.js', page.url()).href, diff --git a/playground/js-sourcemap/index.html b/playground/js-sourcemap/index.html index f669bf4fc102aa..80ee729d99ce90 100644 --- a/playground/js-sourcemap/index.html +++ b/playground/js-sourcemap/index.html @@ -7,3 +7,4 @@

    JS Sourcemap

    + diff --git a/playground/js-sourcemap/package.json b/playground/js-sourcemap/package.json index b002697756a24c..816f80c600f51c 100644 --- a/playground/js-sourcemap/package.json +++ b/playground/js-sourcemap/package.json @@ -10,6 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "@vitejs/test-importee-pkg": "file:importee-pkg" + "@vitejs/test-importee-pkg": "file:importee-pkg", + "magic-string": "^0.30.5" } } diff --git a/playground/js-sourcemap/plugin-foo.js b/playground/js-sourcemap/plugin-foo.js new file mode 100644 index 00000000000000..cb356468240d50 --- /dev/null +++ b/playground/js-sourcemap/plugin-foo.js @@ -0,0 +1 @@ +export const foo = 'foo' diff --git a/playground/js-sourcemap/vite.config.js b/playground/js-sourcemap/vite.config.js index efebbc5ca00dee..41484f2c99d0f3 100644 --- a/playground/js-sourcemap/vite.config.js +++ b/playground/js-sourcemap/vite.config.js @@ -1,8 +1,12 @@ import { defineConfig } from 'vite' import transformFooWithInlineSourceMap from './foo-with-sourcemap-plugin' +import { transformZooWithSourcemapPlugin } from './zoo-with-sourcemap-plugin' export default defineConfig({ - plugins: [transformFooWithInlineSourceMap()], + plugins: [ + transformFooWithInlineSourceMap(), + transformZooWithSourcemapPlugin(), + ], build: { sourcemap: true, rollupOptions: { diff --git a/playground/js-sourcemap/zoo-with-sourcemap-plugin.ts b/playground/js-sourcemap/zoo-with-sourcemap-plugin.ts new file mode 100644 index 00000000000000..6c493278d166c8 --- /dev/null +++ b/playground/js-sourcemap/zoo-with-sourcemap-plugin.ts @@ -0,0 +1,18 @@ +import MagicString from 'magic-string' +import type { Plugin } from 'vite' + +export const transformZooWithSourcemapPlugin: () => Plugin = () => ({ + name: 'sourcemap', + transform(code, id) { + if (id.includes('zoo.js')) { + const ms = new MagicString(code) + ms.append('// add comment') + return { + code: ms.toString(), + // NOTE: MagicString without `filename` option generates + // a sourcemap with `sources: ['']` or `sources: [null]` + map: ms.generateMap({ hires: true }), + } + } + }, +}) diff --git a/playground/js-sourcemap/zoo.js b/playground/js-sourcemap/zoo.js new file mode 100644 index 00000000000000..286343f930d3c3 --- /dev/null +++ b/playground/js-sourcemap/zoo.js @@ -0,0 +1 @@ +export const zoo = 'zoo' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75ba31ddaaf313..ac69c82f44fb73 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -700,6 +700,9 @@ importers: '@vitejs/test-importee-pkg': specifier: file:importee-pkg version: file:playground/js-sourcemap/importee-pkg + magic-string: + specifier: ^0.30.5 + version: 0.30.5 playground/js-sourcemap/importee-pkg: {} From 260ebbfa96ae87e2c331d82b386e609ed865cbcb Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 8 Jan 2024 22:19:05 +0800 Subject: [PATCH 199/656] fix(hmr): `package.json` change should trigger server restart (#15519) --- packages/vite/src/node/server/hmr.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index 7f1620ee4f8070..b3e26d76b22703 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -64,11 +64,12 @@ export async function handleHMRUpdate( const isConfigDependency = config.configFileDependencies.some( (name) => file === name, ) + const isPackageJson = fileName === 'package.json' const isEnv = config.inlineConfig.envFile !== false && getEnvFilesForMode(config.mode).includes(fileName) - if (isConfig || isConfigDependency || isEnv) { + if (isConfig || isConfigDependency || isPackageJson || isEnv) { // auto restart server debugHmr?.(`[config change] ${colors.dim(shortFile)}`) config.logger.info( From 1fcebeb3d3765c23cf44cfe81518da095a611865 Mon Sep 17 00:00:00 2001 From: Dominik G Date: Mon, 8 Jan 2024 15:49:19 +0100 Subject: [PATCH 200/656] fix(esbuild): update to tsconfck 3.0.1 to fix edge cases when resolving tsconfig.extends (#15502) --- packages/vite/package.json | 2 +- packages/vite/src/node/plugins/esbuild.ts | 9 +-------- pnpm-lock.yaml | 8 ++++---- 3 files changed, 6 insertions(+), 13 deletions(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index 0b82587841d1ed..295f4832bfd5b5 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -135,7 +135,7 @@ "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", "strip-literal": "^2.0.0", - "tsconfck": "^3.0.0", + "tsconfck": "^3.0.1", "tslib": "^2.6.2", "types": "link:./types", "ufo": "^1.3.2", diff --git a/packages/vite/src/node/plugins/esbuild.ts b/packages/vite/src/node/plugins/esbuild.ts index a62f041fcb38f4..6589756f37f5a6 100644 --- a/packages/vite/src/node/plugins/esbuild.ts +++ b/packages/vite/src/node/plugins/esbuild.ts @@ -444,14 +444,7 @@ async function loadTsconfigJsonForFile( filename: string, ): Promise { try { - if (tsconfckCache) { - // shortcut, the cache stores resolved TSConfckParseResult - // so getting it from the cache directly we bypass async fn call wrapping it in a promise again - if (tsconfckCache.hasParseResult(filename)) { - const result = await tsconfckCache.getParseResult(filename) - return result.tsconfig - } - } else { + if (!tsconfckCache) { tsconfckCache = new TSConfckCache() } const result = await parse(filename, { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac69c82f44fb73..75aaf51f60fabc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -409,8 +409,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 tsconfck: - specifier: ^3.0.0 - version: 3.0.0(typescript@5.2.2) + specifier: ^3.0.1 + version: 3.0.1(typescript@5.2.2) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -9404,8 +9404,8 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - /tsconfck@3.0.0(typescript@5.2.2): - resolution: {integrity: sha512-w3wnsIrJNi7avf4Zb0VjOoodoO0woEqGgZGQm+LHH9przdUI+XDKsWAXwxHA1DaRTjeuZNcregSzr7RaA8zG9A==} + /tsconfck@3.0.1(typescript@5.2.2): + resolution: {integrity: sha512-7ppiBlF3UEddCLeI1JRx5m2Ryq+xk4JrZuq4EuYXykipebaq1dV0Fhgr1hb7CkmHt32QSgOZlcqVLEtHBG4/mg==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: From 17ab48a678278ec3fd5afb58dc5b91c1c6e806dd Mon Sep 17 00:00:00 2001 From: Damian Stasik <920747+damianstasik@users.noreply.github.com> Date: Mon, 8 Jan 2024 15:51:44 +0100 Subject: [PATCH 201/656] refactor: reuse existing node utils (#15480) --- packages/vite/src/node/build.ts | 11 ++++------- packages/vite/src/node/optimizer/index.ts | 5 +++-- packages/vite/src/node/plugins/splitVendorChunk.ts | 4 ++-- packages/vite/src/node/utils.ts | 2 +- packages/vite/src/node/watch.ts | 3 ++- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index 9525809419114d..aa71f7b4bc1312 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -27,6 +27,7 @@ import { buildReporterPlugin } from './plugins/reporter' import { buildEsbuildPlugin } from './plugins/esbuild' import { type TerserOptions, terserPlugin } from './plugins/terser' import { + arraify, asyncFlatten, copyDir, emptyDir, @@ -427,13 +428,9 @@ export async function resolveBuildPlugins(config: ResolvedConfig): Promise<{ completeSystemWrapPlugin(), ...(usePluginCommonjs ? [commonjsPlugin(options.commonjsOptions)] : []), dataURIPlugin(), - ...(( - await asyncFlatten( - Array.isArray(rollupOptionsPlugins) - ? rollupOptionsPlugins - : [rollupOptionsPlugins], - ) - ).filter(Boolean) as Plugin[]), + ...((await asyncFlatten(arraify(rollupOptionsPlugins))).filter( + Boolean, + ) as Plugin[]), ...(config.isWorker ? [webWorkerPostPlugin()] : []), ], post: [ diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 5a98810777a314..680adc880cfd91 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -23,6 +23,7 @@ import { normalizePath, removeLeadingSlash, tryStatSync, + unique, } from '../utils' import { transformWithEsbuild } from '../plugins/esbuild' import { ESBUILD_MODULES_TARGET } from '../constants' @@ -1226,10 +1227,10 @@ function getConfigHash(config: ResolvedConfig, ssr: boolean): string { plugins: config.plugins.map((p) => p.name), optimizeDeps: { include: optimizeDeps?.include - ? Array.from(new Set(optimizeDeps.include)).sort() + ? unique(optimizeDeps.include).sort() : undefined, exclude: optimizeDeps?.exclude - ? Array.from(new Set(optimizeDeps.exclude)).sort() + ? unique(optimizeDeps.exclude).sort() : undefined, esbuildOptions: { ...optimizeDeps?.esbuildOptions, diff --git a/packages/vite/src/node/plugins/splitVendorChunk.ts b/packages/vite/src/node/plugins/splitVendorChunk.ts index 034b8c2ee5231e..b2ecbcb6f684dc 100644 --- a/packages/vite/src/node/plugins/splitVendorChunk.ts +++ b/packages/vite/src/node/plugins/splitVendorChunk.ts @@ -4,7 +4,7 @@ import type { ManualChunkMeta, OutputOptions, } from 'rollup' -import { isInNodeModules } from '../utils' +import { arraify, isInNodeModules } from '../utils' import type { UserConfig } from '../../node' import type { Plugin } from '../plugin' @@ -103,7 +103,7 @@ export function splitVendorChunkPlugin(): Plugin { config(config) { let outputs = config?.build?.rollupOptions?.output if (outputs) { - outputs = Array.isArray(outputs) ? outputs : [outputs] + outputs = arraify(outputs) for (const output of outputs) { const viteManualChunks = createSplitVendorChunk(output, config) if (viteManualChunks) { diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 01eb7165c9f5b0..984d1108875a1a 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -1070,7 +1070,7 @@ export const requireResolveFromRootWithFallback = ( } export function emptyCssComments(raw: string): string { - return raw.replace(multilineCommentsRE, (s) => ' '.repeat(s.length)) + return raw.replace(multilineCommentsRE, blankReplacer) } function backwardCompatibleWorkerPlugins(plugins: any) { diff --git a/packages/vite/src/node/watch.ts b/packages/vite/src/node/watch.ts index 3b40a71c84d3fc..c5dc879ac56a48 100644 --- a/packages/vite/src/node/watch.ts +++ b/packages/vite/src/node/watch.ts @@ -1,6 +1,7 @@ import { EventEmitter } from 'node:events' import glob from 'fast-glob' import type { FSWatcher, WatchOptions } from 'dep-types/chokidar' +import { arraify } from './utils' import type { ResolvedConfig } from '.' export function resolveChokidarOptions( @@ -15,7 +16,7 @@ export function resolveChokidarOptions( '**/node_modules/**', '**/test-results/**', // Playwright glob.escapePath(config.cacheDir) + '/**', - ...(Array.isArray(ignored) ? ignored : [ignored]), + ...arraify(ignored), ], ignoreInitial: true, ignorePermissionErrors: true, From a621de8dc5e11ab30e5b13e9a05618b4cdaf3478 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 8 Jan 2024 23:05:12 +0800 Subject: [PATCH 202/656] fix: update javascript mime type to text/javascript (#15427) --- package.json | 11 +++-- packages/vite/LICENSE.md | 22 ---------- packages/vite/package.json | 4 +- packages/vite/src/node/plugins/asset.ts | 4 -- packages/vite/src/node/plugins/worker.ts | 4 +- .../src/node/server/middlewares/static.ts | 2 +- packages/vite/src/node/server/send.ts | 2 +- .../{sirv@2.0.3.patch => sirv@2.0.4.patch} | 2 +- playground/assets/__tests__/assets.spec.ts | 12 ++---- .../__tests__/dynamic-import.spec.ts | 2 +- playground/external/vite.config.js | 2 +- playground/legacy/__tests__/legacy.spec.ts | 4 +- playground/lib/package.json | 2 +- .../worker/__tests__/es/es-worker.spec.ts | 2 +- .../sourcemap-hidden-worker.spec.ts | 2 +- .../sourcemap-inline-worker.spec.ts | 2 +- .../sourcemap/sourcemap-worker.spec.ts | 2 +- pnpm-lock.yaml | 40 +++++++++++-------- 18 files changed, 52 insertions(+), 69 deletions(-) rename patches/{sirv@2.0.3.patch => sirv@2.0.4.patch} (99%) diff --git a/package.json b/package.json index 012b8de948046d..82a6846dcc5120 100644 --- a/package.json +++ b/package.json @@ -58,8 +58,8 @@ "@types/micromatch": "^4.0.6", "@types/node": "^20.10.4", "@types/picomatch": "^2.3.3", - "@types/semver": "^7.5.6", "@types/sass": "~1.43.1", + "@types/semver": "^7.5.6", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", "@typescript-eslint/eslint-plugin": "^6.14.0", @@ -118,13 +118,18 @@ "acorn-walk": { "peerDependencies": { "acorn": "*" + }, + "peerDependenciesMeta": { + "acorn": { + "optional": true + } } } }, "patchedDependencies": { "chokidar@3.5.3": "patches/chokidar@3.5.3.patch", - "sirv@2.0.3": "patches/sirv@2.0.3.patch", - "dotenv-expand@10.0.0": "patches/dotenv-expand@10.0.0.patch" + "dotenv-expand@10.0.0": "patches/dotenv-expand@10.0.0.patch", + "sirv@2.0.4": "patches/sirv@2.0.4.patch" }, "peerDependencyRules": { "allowedVersions": { diff --git a/packages/vite/LICENSE.md b/packages/vite/LICENSE.md index 15f396ecec8e2d..3964a1d86b9ebc 100644 --- a/packages/vite/LICENSE.md +++ b/packages/vite/LICENSE.md @@ -463,28 +463,6 @@ License: MIT By: Luke Edwards Repository: lukeed/polka -> The MIT License (MIT) -> -> Copyright (c) Luke Edwards (https://lukeed.com) -> -> Permission is hereby granted, free of charge, to any person obtaining a copy -> of this software and associated documentation files (the "Software"), to deal -> in the Software without restriction, including without limitation the rights -> to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the Software is -> furnished to do so, subject to the following conditions: -> -> The above copyright notice and this permission notice shall be included in -> all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -> IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -> FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -> AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -> LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -> OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -> THE SOFTWARE. - --------------------------------------- ## @rollup/plugin-alias diff --git a/packages/vite/package.json b/packages/vite/package.json index 295f4832bfd5b5..8ff40d10af69df 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -118,7 +118,7 @@ "magic-string": "^0.30.5", "micromatch": "^4.0.5", "mlly": "^1.4.2", - "mrmime": "^1.0.1", + "mrmime": "^2.0.0", "okie": "^1.0.1", "open": "^8.4.2", "parse5": "^7.1.2", @@ -131,7 +131,7 @@ "resolve.exports": "^2.0.2", "rollup-plugin-dts": "^6.1.0", "rollup-plugin-license": "^3.2.0", - "sirv": "^2.0.3", + "sirv": "^2.0.4", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", "strip-literal": "^2.0.0", diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index afc0cb8a9b8d47..9295bb9a4407dc 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -57,10 +57,6 @@ export function registerCustomMime(): void { mrmime.mimes['ico'] = 'image/x-icon' // https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Containers#flac mrmime.mimes['flac'] = 'audio/flac' - // mrmime and mime-db is not released yet: https://github.com/jshttp/mime-db/commit/c9242a9b7d4bb25d7a0c9244adec74aeef08d8a1 - mrmime.mimes['aac'] = 'audio/aac' - // https://wiki.xiph.org/MIME_Types_and_File_Extensions#.opus_-_audio/ogg - mrmime.mimes['opus'] = 'audio/ogg' // https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types mrmime.mimes['eot'] = 'application/vnd.ms-fontobject' } diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 24cebe7a1b6471..f1a202d59623b0 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -324,7 +324,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { return worker; } catch(e) { return new ${workerConstructor}( - "data:application/javascript;base64," + encodedJs, + "data:text/javascript;base64," + encodedJs, ${workerTypeOption} ); }${ @@ -340,7 +340,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { : `${encodedJs} export default function WorkerWrapper(options) { return new ${workerConstructor}( - "data:application/javascript;base64," + encodedJs, + "data:text/javascript;base64," + encodedJs, ${workerTypeOption} ); } diff --git a/packages/vite/src/node/server/middlewares/static.ts b/packages/vite/src/node/server/middlewares/static.ts index dde6842aa95533..8c94e53dd0a7c3 100644 --- a/packages/vite/src/node/server/middlewares/static.ts +++ b/packages/vite/src/node/server/middlewares/static.ts @@ -40,7 +40,7 @@ const sirvOptions = ({ // these files to be TypeScript files, and for Vite to serve them with // this Content-Type. if (knownJavascriptExtensionRE.test(pathname)) { - res.setHeader('Content-Type', 'application/javascript') + res.setHeader('Content-Type', 'text/javascript') } const headers = getHeaders() if (headers) { diff --git a/packages/vite/src/node/server/send.ts b/packages/vite/src/node/server/send.ts index 033b9f317a60d3..cf64889c15dfb7 100644 --- a/packages/vite/src/node/server/send.ts +++ b/packages/vite/src/node/server/send.ts @@ -16,7 +16,7 @@ const debug = createDebugger('vite:send', { }) const alias: Record = { - js: 'application/javascript', + js: 'text/javascript', css: 'text/css', html: 'text/html', json: 'application/json', diff --git a/patches/sirv@2.0.3.patch b/patches/sirv@2.0.4.patch similarity index 99% rename from patches/sirv@2.0.3.patch rename to patches/sirv@2.0.4.patch index 0a758e89369c9c..d6cf2c64ab7751 100644 --- a/patches/sirv@2.0.3.patch +++ b/patches/sirv@2.0.4.patch @@ -70,4 +70,4 @@ index c05040fc6ec504a1828a7badd39f669981acd0ee..e9597e8b5bf24613a09565f0e13024ae + shouldServe?: (absoluteFilePath: string) => void; } - export default function(dir?: string, opts?: Options): RequestHandler; \ No newline at end of file + export default function(dir?: string, opts?: Options): RequestHandler; diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index 98ec4e39826b87..51b8c336ef96d0 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -353,9 +353,7 @@ test('?url import', async () => { const src = readFile('foo.js') expect(await page.textContent('.url')).toMatch( isBuild - ? `data:application/javascript;base64,${Buffer.from(src).toString( - 'base64', - )}` + ? `data:text/javascript;base64,${Buffer.from(src).toString('base64')}` : `/foo/bar/foo.js`, ) }) @@ -375,9 +373,7 @@ describe('unicode url', () => { const src = readFile('テスト-測試-white space.js') expect(await page.textContent('.unicode-url')).toMatch( isBuild - ? `data:application/javascript;base64,${Buffer.from(src).toString( - 'base64', - )}` + ? `data:text/javascript;base64,${Buffer.from(src).toString('base64')}` : `/foo/bar/テスト-測試-white space.js`, ) }) @@ -408,7 +404,7 @@ test('new URL("/...", import.meta.url)', async () => { test('new URL(..., import.meta.url) without extension', async () => { expect(await page.textContent('.import-meta-url-without-extension')).toMatch( - isBuild ? 'data:application/javascript' : 'nested/test.js', + isBuild ? 'data:text/javascript' : 'nested/test.js', ) expect( await page.textContent('.import-meta-url-content-without-extension'), @@ -423,7 +419,7 @@ test('new URL(`${dynamic}`, import.meta.url)', async () => { assetMatch, ) expect(await page.textContent('.dynamic-import-meta-url-js')).toMatch( - isBuild ? 'data:application/javascript;base64' : '/foo/bar/nested/test.js', + isBuild ? 'data:text/javascript;base64' : '/foo/bar/nested/test.js', ) }) diff --git a/playground/dynamic-import/__tests__/dynamic-import.spec.ts b/playground/dynamic-import/__tests__/dynamic-import.spec.ts index c8c97254a75f02..3892251bfd2e41 100644 --- a/playground/dynamic-import/__tests__/dynamic-import.spec.ts +++ b/playground/dynamic-import/__tests__/dynamic-import.spec.ts @@ -118,7 +118,7 @@ test('should load dynamic import with vars raw', async () => { test('should load dynamic import with vars url', async () => { await untilUpdated( () => page.textContent('.dynamic-import-with-vars-url'), - isBuild ? 'data:application/javascript' : '/alias/url.js', + isBuild ? 'data:text/javascript' : '/alias/url.js', true, ) }) diff --git a/playground/external/vite.config.js b/playground/external/vite.config.js index 2d470f8eea4d36..7694669f91faa7 100644 --- a/playground/external/vite.config.js +++ b/playground/external/vite.config.js @@ -12,7 +12,7 @@ const serveNpmCodeDirectlyMiddleware = async (req, res, next) => { const code = await fs.readFile( new URL(`./node_modules/${file}`, import.meta.url), ) - res.setHeader('Content-Type', 'application/javascript') + res.setHeader('Content-Type', 'text/javascript') res.end(code) return } diff --git a/playground/legacy/__tests__/legacy.spec.ts b/playground/legacy/__tests__/legacy.spec.ts index b0cc061b289d6c..cc747761588ca5 100644 --- a/playground/legacy/__tests__/legacy.spec.ts +++ b/playground/legacy/__tests__/legacy.spec.ts @@ -56,8 +56,8 @@ test('generates assets', async () => { 'index-legacy: text/html', 'chunk-async: text/html', 'chunk-async-legacy: text/html', - 'immutable-chunk: application/javascript', - 'immutable-chunk-legacy: application/javascript', + 'immutable-chunk: text/javascript', + 'immutable-chunk-legacy: text/javascript', 'polyfills-legacy: text/html', ].join('\n') : [ diff --git a/playground/lib/package.json b/playground/lib/package.json index a38060db5e43f2..5765873ebd503c 100644 --- a/playground/lib/package.json +++ b/playground/lib/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sirv": "^2.0.3" + "sirv": "^2.0.4" } } diff --git a/playground/worker/__tests__/es/es-worker.spec.ts b/playground/worker/__tests__/es/es-worker.spec.ts index 7ffd7ae6df0f20..0031c432c36b7a 100644 --- a/playground/worker/__tests__/es/es-worker.spec.ts +++ b/playground/worker/__tests__/es/es-worker.spec.ts @@ -126,7 +126,7 @@ describe.runIf(isBuild)('build', () => { ) // inlined shared worker expect(content).toMatch( - `return new SharedWorker("data:application/javascript;base64,"+`, + `return new SharedWorker("data:text/javascript;base64,"+`, ) }) diff --git a/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts b/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts index 6d9a6ee55664d6..157d9f7d47b26a 100644 --- a/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts +++ b/playground/worker/__tests__/sourcemap-hidden/sourcemap-hidden-worker.spec.ts @@ -94,7 +94,7 @@ describe.runIf(isBuild)('build', () => { expect(content).toMatch( `new Worker("/iife-sourcemap-hidden/assets/my-worker`, ) - expect(content).toMatch(`new Worker("data:application/javascript;base64`) + expect(content).toMatch(`new Worker("data:text/javascript;base64`) expect(content).toMatch( `new Worker("/iife-sourcemap-hidden/assets/possible-ts-output-worker`, ) diff --git a/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts b/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts index 0bfa3ca3b8b816..9a10908abdc1ec 100644 --- a/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts +++ b/playground/worker/__tests__/sourcemap-inline/sourcemap-inline-worker.spec.ts @@ -75,7 +75,7 @@ describe.runIf(isBuild)('build', () => { expect(content).toMatch( `new Worker("/iife-sourcemap-inline/assets/my-worker`, ) - expect(content).toMatch(`new Worker("data:application/javascript;base64`) + expect(content).toMatch(`new Worker("data:text/javascript;base64`) expect(content).toMatch( `new Worker("/iife-sourcemap-inline/assets/possible-ts-output-worker`, ) diff --git a/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts b/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts index a9be2c75611079..0dd723413e5a4c 100644 --- a/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts +++ b/playground/worker/__tests__/sourcemap/sourcemap-worker.spec.ts @@ -95,7 +95,7 @@ describe.runIf(isBuild)('build', () => { // chunk expect(content).toMatch(`new Worker("/iife-sourcemap/assets/my-worker`) - expect(content).toMatch(`new Worker("data:application/javascript;base64`) + expect(content).toMatch(`new Worker("data:text/javascript;base64`) expect(content).toMatch( `new Worker("/iife-sourcemap/assets/possible-ts-output-worker`, ) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 75aaf51f60fabc..1cdfd7279d691a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,7 +7,7 @@ settings: overrides: vite: workspace:* -packageExtensionsChecksum: de16c2a1a6a6350aaa9e478e59cca00e +packageExtensionsChecksum: 4e49e84b7a11dfd4895fbffb006a7015 patchedDependencies: chokidar@3.5.3: @@ -16,9 +16,9 @@ patchedDependencies: dotenv-expand@10.0.0: hash: weuqf2vlv5b5g6cikeo4slurbm path: patches/dotenv-expand@10.0.0.patch - sirv@2.0.3: - hash: z45f224eewh2pgpijxcc3aboqm - path: patches/sirv@2.0.3.patch + sirv@2.0.4: + hash: amdes53ifqfntejkflpaq5ifce + path: patches/sirv@2.0.4.patch importers: @@ -358,8 +358,8 @@ importers: specifier: ^1.4.2 version: 1.4.2 mrmime: - specifier: ^1.0.1 - version: 1.0.1 + specifier: ^2.0.0 + version: 2.0.0 okie: specifier: ^1.0.1 version: 1.0.1 @@ -397,8 +397,8 @@ importers: specifier: ^3.2.0 version: 3.2.0(rollup@4.2.0) sirv: - specifier: ^2.0.3 - version: 2.0.3(patch_hash=z45f224eewh2pgpijxcc3aboqm) + specifier: ^2.0.4 + version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) source-map-support: specifier: ^0.5.21 version: 0.5.21 @@ -735,8 +735,8 @@ importers: playground/lib: devDependencies: sirv: - specifier: ^2.0.3 - version: 2.0.3(patch_hash=z45f224eewh2pgpijxcc3aboqm) + specifier: ^2.0.4 + version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) playground/minify: dependencies: @@ -3442,8 +3442,8 @@ packages: dev: true optional: true - /@polka/url@1.0.0-next.21: - resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true /@rollup/plugin-alias@5.0.0(rollup@3.29.2): @@ -4404,6 +4404,9 @@ packages: engines: {node: '>=0.4.0'} peerDependencies: acorn: '*' + peerDependenciesMeta: + acorn: + optional: true dependencies: acorn: 8.11.2 @@ -7616,6 +7619,11 @@ packages: engines: {node: '>=10'} dev: true + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: true + /ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} @@ -8894,12 +8902,12 @@ packages: requiresBuild: true dev: true - /sirv@2.0.3(patch_hash=z45f224eewh2pgpijxcc3aboqm): - resolution: {integrity: sha512-O9jm9BsID1P+0HOi81VpXPoDxYP374pkOLzACAoyUQ/3OUVndNpsz6wMnY2z+yOxzbllCKZrM+9QrWsv4THnyA==} + /sirv@2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce): + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} engines: {node: '>= 10'} dependencies: - '@polka/url': 1.0.0-next.21 - mrmime: 1.0.1 + '@polka/url': 1.0.0-next.24 + mrmime: 2.0.0 totalist: 3.0.0 dev: true patched: true From ebc37f678f56bde1c0fcd00149feff0c009f77ff Mon Sep 17 00:00:00 2001 From: Miguel Sandoval Date: Mon, 8 Jan 2024 08:28:32 -0800 Subject: [PATCH 203/656] feat: add '*.m4a' to client.d.ts and constants (#15471) --- packages/vite/client.d.ts | 4 ++++ packages/vite/src/node/constants.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/packages/vite/client.d.ts b/packages/vite/client.d.ts index 36982b457d0b2f..d85fcb3e1ebc73 100644 --- a/packages/vite/client.d.ts +++ b/packages/vite/client.d.ts @@ -136,6 +136,10 @@ declare module '*.mov' { const src: string export default src } +declare module '*.m4a' { + const src: string + export default src +} // fonts declare module '*.woff' { diff --git a/packages/vite/src/node/constants.ts b/packages/vite/src/node/constants.ts index b2b50f038dfa2f..80c0b24b8d0d4e 100644 --- a/packages/vite/src/node/constants.ts +++ b/packages/vite/src/node/constants.ts @@ -119,6 +119,7 @@ export const KNOWN_ASSET_TYPES = [ 'aac', 'opus', 'mov', + 'm4a', // fonts 'woff2?', From 6ace32b41dbad2ea0ee10f97e7cc662dd03f81e1 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 9 Jan 2024 01:18:55 +0800 Subject: [PATCH 204/656] feat(hmr): reload for circular imports only if error (#15118) --- packages/vite/src/client/client.ts | 13 +++++- packages/vite/src/node/server/hmr.ts | 64 +++++++++++++++++----------- packages/vite/types/hmrPayload.d.ts | 8 ++-- playground/hmr/__tests__/hmr.spec.ts | 4 +- 4 files changed, 58 insertions(+), 31 deletions(-) diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 41dcebc5e27a3c..0d3f032dfea0fc 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -138,9 +138,10 @@ const hmrClient = new HMRClient(console, async function importUpdatedModule({ acceptedPath, timestamp, explicitImportRequired, + isWithinCircularImport, }) { const [acceptedPathWithoutQuery, query] = acceptedPath.split(`?`) - return await import( + const importPromise = import( /* @vite-ignore */ base + acceptedPathWithoutQuery.slice(1) + @@ -148,6 +149,16 @@ const hmrClient = new HMRClient(console, async function importUpdatedModule({ query ? `&${query}` : '' }` ) + if (isWithinCircularImport) { + importPromise.catch(() => { + console.info( + `[hmr] ${acceptedPath} failed to apply HMR as it's within a circular import. Reloading page to reset the execution order. ` + + `To debug and break the circular import, you can run \`vite --debug hmr\` to log the circular dependency path if a file change triggered it.`, + ) + pageReload() + }) + } + return await importPromise }) async function handleMessage(payload: HMRPayload) { diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index b3e26d76b22703..ec95dcdd5d6e0b 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -45,6 +45,12 @@ export interface HmrContext { server: ViteDevServer } +interface PropagationBoundary { + boundary: ModuleNode + acceptedVia: ModuleNode + isWithinCircularImport: boolean +} + export function getShortName(file: string, root: string): string { return file.startsWith(withTrailingSlash(root)) ? path.posix.relative(root, file) @@ -143,7 +149,8 @@ export async function handleHMRUpdate( updateModules(shortFile, hmrContext.modules, timestamp, server) } -type HasDeadEnd = boolean | string +type HasDeadEnd = boolean + export function updateModules( file: string, modules: ModuleNode[], @@ -157,7 +164,7 @@ export function updateModules( let needFullReload: HasDeadEnd = false for (const mod of modules) { - const boundaries: { boundary: ModuleNode; acceptedVia: ModuleNode }[] = [] + const boundaries: PropagationBoundary[] = [] const hasDeadEnd = propagateUpdate(mod, traversedModules, boundaries) moduleGraph.invalidateModule(mod, invalidatedModules, timestamp, true) @@ -172,16 +179,19 @@ export function updateModules( } updates.push( - ...boundaries.map(({ boundary, acceptedVia }) => ({ - type: `${boundary.type}-update` as const, - timestamp, - path: normalizeHmrUrl(boundary.url), - explicitImportRequired: - boundary.type === 'js' - ? isExplicitImportRequired(acceptedVia.url) - : undefined, - acceptedPath: normalizeHmrUrl(acceptedVia.url), - })), + ...boundaries.map( + ({ boundary, acceptedVia, isWithinCircularImport }) => ({ + type: `${boundary.type}-update` as const, + timestamp, + path: normalizeHmrUrl(boundary.url), + acceptedPath: normalizeHmrUrl(acceptedVia.url), + explicitImportRequired: + boundary.type === 'js' + ? isExplicitImportRequired(acceptedVia.url) + : false, + isWithinCircularImport, + }), + ), ) } @@ -258,7 +268,7 @@ function areAllImportsAccepted( function propagateUpdate( node: ModuleNode, traversedModules: Set, - boundaries: { boundary: ModuleNode; acceptedVia: ModuleNode }[], + boundaries: PropagationBoundary[], currentChain: ModuleNode[] = [node], ): HasDeadEnd { if (traversedModules.has(node)) { @@ -279,9 +289,11 @@ function propagateUpdate( } if (node.isSelfAccepting) { - boundaries.push({ boundary: node, acceptedVia: node }) - const result = isNodeWithinCircularImports(node, currentChain) - if (result) return result + boundaries.push({ + boundary: node, + acceptedVia: node, + isWithinCircularImport: isNodeWithinCircularImports(node, currentChain), + }) // additionally check for CSS importers, since a PostCSS plugin like // Tailwind JIT may register any file as a dependency to a CSS file. @@ -305,9 +317,11 @@ function propagateUpdate( // Also, the imported module (this one) must be updated before the importers, // so that they do get the fresh imported module when/if they are reloaded. if (node.acceptedHmrExports) { - boundaries.push({ boundary: node, acceptedVia: node }) - const result = isNodeWithinCircularImports(node, currentChain) - if (result) return result + boundaries.push({ + boundary: node, + acceptedVia: node, + isWithinCircularImport: isNodeWithinCircularImports(node, currentChain), + }) } else { if (!node.importers.size) { return true @@ -328,9 +342,11 @@ function propagateUpdate( const subChain = currentChain.concat(importer) if (importer.acceptedHmrDeps.has(node)) { - boundaries.push({ boundary: importer, acceptedVia: node }) - const result = isNodeWithinCircularImports(importer, subChain) - if (result) return result + boundaries.push({ + boundary: importer, + acceptedVia: node, + isWithinCircularImport: isNodeWithinCircularImports(importer, subChain), + }) continue } @@ -369,7 +385,7 @@ function isNodeWithinCircularImports( nodeChain: ModuleNode[], currentChain: ModuleNode[] = [node], traversedModules = new Set(), -): HasDeadEnd { +): boolean { // To help visualize how each parameters work, imagine this import graph: // // A -> B -> C -> ACCEPTED -> D -> E -> NODE @@ -420,7 +436,7 @@ function isNodeWithinCircularImports( importChain.map((m) => colors.dim(m.url)).join(' -> '), ) } - return 'circular imports' + return true } // Continue recursively diff --git a/packages/vite/types/hmrPayload.d.ts b/packages/vite/types/hmrPayload.d.ts index 839095009e76fb..ef56070f1e3d1d 100644 --- a/packages/vite/types/hmrPayload.d.ts +++ b/packages/vite/types/hmrPayload.d.ts @@ -20,10 +20,10 @@ export interface Update { path: string acceptedPath: string timestamp: number - /** - * @experimental internal - */ - explicitImportRequired?: boolean | undefined + /** @internal */ + explicitImportRequired: boolean + /** @internal */ + isWithinCircularImport: boolean } export interface PrunePayload { diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index e4c7825c5a5d2e..194ddb48d72207 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -887,9 +887,9 @@ if (import.meta.hot) { 'cc', ) expect(serverLogs.length).greaterThanOrEqual(1) + // Should still keep hmr update, but it'll error on the browser-side and will refresh itself. // Match on full log not possible because of color markers - expect(serverLogs.at(-1)!).toContain('page reload') - expect(serverLogs.at(-1)!).toContain('(circular imports)') + expect(serverLogs.at(-1)!).toContain('hmr update') }) test('hmr should not reload if no accepted within circular imported files', async () => { From ea5fdebb99b273d21dd3fad9475b21a1c9e66fe9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 9 Jan 2024 03:56:24 +0900 Subject: [PATCH 205/656] refactor: normalize publicDir when resolving config (#15360) --- packages/vite/src/node/config.ts | 8 +++++--- packages/vite/src/node/plugins/assetImportMetaUrl.ts | 10 ++++------ packages/vite/src/node/publicDir.ts | 2 +- packages/vite/src/node/server/index.ts | 12 +++++------- .../vite/src/node/server/middlewares/transform.ts | 3 +-- 5 files changed, 16 insertions(+), 19 deletions(-) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index a4c44894c8227d..5d93c52d200f9e 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -651,9 +651,11 @@ export async function resolveConfig( const { publicDir } = config const resolvedPublicDir = publicDir !== false && publicDir !== '' - ? path.resolve( - resolvedRoot, - typeof publicDir === 'string' ? publicDir : 'public', + ? normalizePath( + path.resolve( + resolvedRoot, + typeof publicDir === 'string' ? publicDir : 'public', + ), ) : '' diff --git a/packages/vite/src/node/plugins/assetImportMetaUrl.ts b/packages/vite/src/node/plugins/assetImportMetaUrl.ts index 15c8cb48aed455..c713c6b172e851 100644 --- a/packages/vite/src/node/plugins/assetImportMetaUrl.ts +++ b/packages/vite/src/node/plugins/assetImportMetaUrl.ts @@ -7,7 +7,6 @@ import type { ResolveFn } from '../' import { injectQuery, isParentDirectory, - normalizePath, slash, transformStableResult, } from '../utils' @@ -28,7 +27,7 @@ import { tryFsResolve } from './resolve' * ``` */ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { - const normalizedPublicDir = normalizePath(config.publicDir) + const { publicDir } = config let assetResolver: ResolveFn const fsResolveOptions: InternalResolveOptions = { @@ -117,7 +116,7 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { file = await assetResolver(url, id) file ??= url[0] === '/' - ? slash(path.join(config.publicDir, url)) + ? slash(path.join(publicDir, url)) : slash(path.resolve(path.dirname(id), url)) } @@ -126,9 +125,8 @@ export function assetImportMetaUrlPlugin(config: ResolvedConfig): Plugin { let builtUrl: string | undefined if (file) { try { - if (isParentDirectory(normalizedPublicDir, file)) { - const publicPath = - '/' + path.posix.relative(normalizedPublicDir, file) + if (isParentDirectory(publicDir, file)) { + const publicPath = '/' + path.posix.relative(publicDir, file) builtUrl = await fileToUrl(publicPath, config, this) } else { builtUrl = await fileToUrl(file, config, this) diff --git a/packages/vite/src/node/publicDir.ts b/packages/vite/src/node/publicDir.ts index 8458579e378137..7e69016c0e4650 100644 --- a/packages/vite/src/node/publicDir.ts +++ b/packages/vite/src/node/publicDir.ts @@ -56,7 +56,7 @@ export function checkPublicFile( } const publicFile = normalizePath(path.join(publicDir, fileName)) - if (!publicFile.startsWith(withTrailingSlash(normalizePath(publicDir)))) { + if (!publicFile.startsWith(withTrailingSlash(publicDir))) { // can happen if URL starts with '../' return } diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index bec44dafb25910..b73ecfa07a2517 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -650,17 +650,15 @@ export async function _createServer( } } - const normalizedPublicDir = normalizePath(config.publicDir) + const { publicDir } = config const onFileAddUnlink = async (file: string, isUnlink: boolean) => { file = normalizePath(file) await container.watchChange(file, { event: isUnlink ? 'delete' : 'create' }) - if (config.publicDir && publicFiles) { - if (file.startsWith(normalizedPublicDir)) { - publicFiles[isUnlink ? 'delete' : 'add']( - file.slice(normalizedPublicDir.length), - ) + if (publicDir && publicFiles) { + if (file.startsWith(publicDir)) { + publicFiles[isUnlink ? 'delete' : 'add'](file.slice(publicDir.length)) } } await handleFileAddUnlink(file, server, isUnlink) @@ -761,7 +759,7 @@ export async function _createServer( // serve static files under /public // this applies before the transform middleware so that these files are served // as-is without transforms. - if (config.publicDir) { + if (publicDir) { middlewares.use(servePublicMiddleware(server, publicFiles)) } diff --git a/packages/vite/src/node/server/middlewares/transform.ts b/packages/vite/src/node/server/middlewares/transform.ts index bf122e0f4b377a..12e2fcef9739ec 100644 --- a/packages/vite/src/node/server/middlewares/transform.ts +++ b/packages/vite/src/node/server/middlewares/transform.ts @@ -50,8 +50,7 @@ export function transformMiddleware( // Keep the named function. The name is visible in debug logs via `DEBUG=connect:dispatcher ...` // check if public dir is inside root dir - const { root } = server.config - const publicDir = normalizePath(server.config.publicDir) + const { root, publicDir } = server.config const publicDirInRoot = publicDir.startsWith(withTrailingSlash(root)) const publicPath = `${publicDir.slice(root.length)}/` From 953e697ea43c4aad6f728d0c44f8eb74b8218d41 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 9 Jan 2024 03:28:11 +0800 Subject: [PATCH 206/656] feat(glob-import): deprecate as option (#14420) --- docs/guide/features.md | 49 +++++++++---------- .../__snapshots__/parse.spec.ts.snap | 10 ++-- .../__snapshots__/fixture.spec.ts.snap | 2 + .../plugins/importGlob/fixture-a/index.ts | 9 ++-- .../plugins/importGlob/parse.spec.ts | 5 +- .../src/node/plugins/dynamicImportVars.ts | 11 ++--- .../vite/src/node/plugins/importMetaGlob.ts | 46 ++++++++++++----- packages/vite/types/importGlob.d.ts | 2 + playground/glob-import/index.html | 9 ++-- playground/worker/worker/main-module.js | 2 +- 10 files changed, 82 insertions(+), 63 deletions(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index 3c7c45a8d9c304..1341ec00f7c0da 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -391,26 +391,6 @@ const modules = { } ``` -### Glob Import As - -`import.meta.glob` also supports importing files as strings (similar to [Importing Asset as String](https://vitejs.dev/guide/assets.html#importing-asset-as-string)) with the [Import Reflection](https://github.com/tc39/proposal-import-reflection) syntax: - -```js -const modules = import.meta.glob('./dir/*.js', { as: 'raw', eager: true }) -``` - -The above will be transformed into the following: - -```js -// code produced by vite -const modules = { - './dir/foo.js': 'export default "foo"\n', - './dir/bar.js': 'export default "bar"\n', -} -``` - -`{ as: 'url' }` is also supported for loading assets as URLs. - ### Multiple Patterns The first argument can be an array of globs, for example @@ -490,22 +470,39 @@ const modules = { #### Custom Queries -You can also use the `query` option to provide custom queries to imports for other plugins to consume. +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): ```ts -const modules = import.meta.glob('./dir/*.js', { - query: { foo: 'bar', bar: true }, +const moduleStrings = import.meta.glob('./dir/*.svg', { + query: '?raw', + import: 'default', +}) +const moduleUrls = import.meta.glob('./dir/*.svg', { + query: '?url', + import: 'default', }) ``` ```ts // code produced by vite: -const modules = { - './dir/foo.js': () => import('./dir/foo.js?foo=bar&bar=true'), - './dir/bar.js': () => import('./dir/bar.js?foo=bar&bar=true'), +const moduleStrings = { + './dir/foo.svg': () => import('./dir/foo.js?raw').then((m) => m['default']), + './dir/bar.svg': () => import('./dir/bar.js?raw').then((m) => m['default']), +} +const moduleUrls = { + './dir/foo.svg': () => import('./dir/foo.js?url').then((m) => m['default']), + './dir/bar.svg': () => import('./dir/bar.js?url').then((m) => m['default']), } ``` +You can also provide custom queries for other plugins to consume: + +```ts +const modules = import.meta.glob('./dir/*.js', { + query: { foo: 'bar', bar: true }, +}) +``` + ### Glob Import Caveats Note that: diff --git a/packages/vite/src/node/__tests__/plugins/dynamicImportVar/__snapshots__/parse.spec.ts.snap b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/__snapshots__/parse.spec.ts.snap index eae151fbc6a025..8abb29e5465cac 100644 --- a/packages/vite/src/node/__tests__/plugins/dynamicImportVar/__snapshots__/parse.spec.ts.snap +++ b/packages/vite/src/node/__tests__/plugins/dynamicImportVar/__snapshots__/parse.spec.ts.snap @@ -1,10 +1,10 @@ // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html -exports[`parse positives > ? in url 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mo\\\\?ds/*.js", {"as":"url","import":"*"})), \`./mo?ds/\${base ?? foo}.js\`)"`; +exports[`parse positives > ? in url 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mo\\\\?ds/*.js", {"query":"url","import":"*"})), \`./mo?ds/\${base ?? foo}.js\`)"`; -exports[`parse positives > ? in variables 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js", {"as":"raw","import":"*"})), \`./mods/\${base ?? foo}.js\`)"`; +exports[`parse positives > ? in variables 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js", {"query":"raw","import":"*"})), \`./mods/\${base ?? foo}.js\`)"`; -exports[`parse positives > ? in worker 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mo\\\\?ds/*.js", {"as":"worker","import":"*"})), \`./mo?ds/\${base ?? foo}.js\`)"`; +exports[`parse positives > ? in worker 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mo\\\\?ds/*.js", {"query":"worker","import":"*"})), \`./mo?ds/\${base ?? foo}.js\`)"`; exports[`parse positives > alias path 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js")), \`./mods/\${base}.js\`)"`; @@ -16,6 +16,6 @@ exports[`parse positives > with multi ../ and itself 1`] = `"__variableDynamicIm exports[`parse positives > with query 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js", {"query":{"foo":"bar"}})), \`./mods/\${base}.js\`)"`; -exports[`parse positives > with query raw 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js", {"as":"raw","import":"*"})), \`./mods/\${base}.js\`)"`; +exports[`parse positives > with query raw 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js", {"query":"raw","import":"*"})), \`./mods/\${base}.js\`)"`; -exports[`parse positives > with query url 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js", {"as":"url","import":"*"})), \`./mods/\${base}.js\`)"`; +exports[`parse positives > with query url 1`] = `"__variableDynamicImportRuntimeHelper((import.meta.glob("./mods/*.js", {"query":"url","import":"*"})), \`./mods/\${base}.js\`)"`; diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap index cb45d521897491..2eabd1ee2b4e0e 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap +++ b/packages/vite/src/node/__tests__/plugins/importGlob/__snapshots__/fixture.spec.ts.snap @@ -38,6 +38,7 @@ export const customQueryObject = /* #__PURE__ */ Object.assign({"./sibling.ts": }); export const parent = /* #__PURE__ */ Object.assign({ + }); export const rootMixedRelative = /* #__PURE__ */ Object.assign({"/css.spec.ts": () => import("../../css.spec.ts?url").then(m => m["default"]),"/define.spec.ts": () => import("../../define.spec.ts?url").then(m => m["default"]),"/esbuild.spec.ts": () => import("../../esbuild.spec.ts?url").then(m => m["default"]),"/import.spec.ts": () => import("../../import.spec.ts?url").then(m => m["default"]),"/importGlob/fixture-b/a.ts": () => import("../fixture-b/a.ts?url").then(m => m["default"]),"/importGlob/fixture-b/b.ts": () => import("../fixture-b/b.ts?url").then(m => m["default"]),"/importGlob/fixture-b/index.ts": () => import("../fixture-b/index.ts?url").then(m => m["default"]),"/json.spec.ts": () => import("../../json.spec.ts?url").then(m => m["default"]) @@ -92,6 +93,7 @@ export const customQueryObject = /* #__PURE__ */ Object.assign({"./sibling.ts": }); export const parent = /* #__PURE__ */ Object.assign({ + }); export const rootMixedRelative = /* #__PURE__ */ Object.assign({"/css.spec.ts": () => import("../../css.spec.ts?url&lang.ts").then(m => m["default"]),"/define.spec.ts": () => import("../../define.spec.ts?url&lang.ts").then(m => m["default"]),"/esbuild.spec.ts": () => import("../../esbuild.spec.ts?url&lang.ts").then(m => m["default"]),"/import.spec.ts": () => import("../../import.spec.ts?url&lang.ts").then(m => m["default"]),"/importGlob/fixture-b/a.ts": () => import("../fixture-b/a.ts?url&lang.ts").then(m => m["default"]),"/importGlob/fixture-b/b.ts": () => import("../fixture-b/b.ts?url&lang.ts").then(m => m["default"]),"/importGlob/fixture-b/index.ts": () => import("../fixture-b/index.ts?url&lang.ts").then(m => m["default"]),"/json.spec.ts": () => import("../../json.spec.ts?url&lang.ts").then(m => m["default"]) diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts index 49b203c3ae093f..8a2311051a8d09 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts +++ b/packages/vite/src/node/__tests__/plugins/importGlob/fixture-a/index.ts @@ -23,12 +23,12 @@ export const namedDefault = import.meta.glob('./modules/*.ts', { export const eagerAs = import.meta.glob( ['./modules/*.ts', '!**/index.ts'], - { eager: true, as: 'raw' }, + { eager: true, query: '?raw', import: 'default' }, ) export const rawImportModule = import.meta.glob( ['./modules/*.ts', '!**/index.ts'], - { as: 'raw', import: '*' }, + { query: '?raw', import: '*' }, ) export const excludeSelf = import.meta.glob( @@ -49,12 +49,13 @@ export const customQueryObject = import.meta.glob('./*.ts', { }) export const parent = import.meta.glob('../../playground/src/*.ts', { - as: 'url', + query: '?url', + import: 'default', }) export const rootMixedRelative = import.meta.glob( ['/*.ts', '../fixture-b/*.ts'], - { as: 'url' }, + { query: '?url', import: 'default' }, ) export const cleverCwd1 = import.meta.glob( diff --git a/packages/vite/src/node/__tests__/plugins/importGlob/parse.spec.ts b/packages/vite/src/node/__tests__/plugins/importGlob/parse.spec.ts index 58b357ed357630..e5ebe729d96504 100644 --- a/packages/vite/src/node/__tests__/plugins/importGlob/parse.spec.ts +++ b/packages/vite/src/node/__tests__/plugins/importGlob/parse.spec.ts @@ -133,10 +133,7 @@ describe('parse positives', async () => { "/dir/**", ], "options": { - "query": { - "foo": "bar", - "raw": true, - }, + "query": "?foo=bar&raw=true", }, "start": 21, }, diff --git a/packages/vite/src/node/plugins/dynamicImportVars.ts b/packages/vite/src/node/plugins/dynamicImportVars.ts index 0b97da2627f49c..f0a38246a476f7 100644 --- a/packages/vite/src/node/plugins/dynamicImportVars.ts +++ b/packages/vite/src/node/plugins/dynamicImportVars.ts @@ -4,7 +4,6 @@ import { init, parse as parseImports } from 'es-module-lexer' import type { ImportSpecifier } from 'es-module-lexer' import { parse as parseJS } from 'acorn' import { dynamicImportToGlob } from '@rollup/plugin-dynamic-import-vars' -import type { KnownAsTypeMap } from 'types/importGlob' import type { Plugin } from '../plugin' import type { ResolvedConfig } from '../config' import { CLIENT_ENTRY } from '../constants' @@ -28,8 +27,7 @@ const relativePathRE = /^\.{1,2}\// const hasDynamicImportRE = /\bimport\s*[(/]/ interface DynamicImportRequest { - as?: keyof KnownAsTypeMap - query?: Record + query?: string | Record import?: string } @@ -77,13 +75,12 @@ function parseDynamicImportPattern( ) const [rawPattern] = filename.split(requestQuerySplitRE, 2) - const as = (['worker', 'url', 'raw'] as const).find( + const globQuery = (['worker', 'url', 'raw'] as const).find( (key) => rawQuery && key in rawQuery, ) - - if (as) { + if (globQuery) { globParams = { - as, + query: globQuery, import: '*', } } else if (rawQuery) { diff --git a/packages/vite/src/node/plugins/importMetaGlob.ts b/packages/vite/src/node/plugins/importMetaGlob.ts index 39c00cb9ea1986..f8981b9b253c08 100644 --- a/packages/vite/src/node/plugins/importMetaGlob.ts +++ b/packages/vite/src/node/plugins/importMetaGlob.ts @@ -1,6 +1,7 @@ import { isAbsolute, posix } from 'node:path' import micromatch from 'micromatch' import { stripLiteral } from 'strip-literal' +import colors from 'picocolors' import type { ArrayExpression, CallExpression, @@ -29,6 +30,7 @@ import { slash, transformStableResult, } from '../utils' +import type { Logger } from '../logger' const { isMatch, scan } = micromatch @@ -37,11 +39,15 @@ export interface ParsedImportGlob { globs: string[] globsResolved: string[] isRelative: boolean - options: GeneralImportGlobOptions + options: ParsedGeneralImportGlobOptions start: number end: number } +interface ParsedGeneralImportGlobOptions extends GeneralImportGlobOptions { + query?: string +} + export function getAffectedGlobModules( file: string, server: ViteDevServer, @@ -84,6 +90,7 @@ export function importGlobPlugin(config: ResolvedConfig): Plugin { (im, _, options) => this.resolve(im, id, options).then((i) => i?.id || im), config.experimental.importGlobRestoreExtension, + config.logger, ) if (result) { if (server) { @@ -128,7 +135,8 @@ function err(e: string, pos: number) { function parseGlobOptions( rawOpts: string, optsStartIndex: number, -): GeneralImportGlobOptions { + logger?: Logger, +): ParsedGeneralImportGlobOptions { let opts: GeneralImportGlobOptions = {} try { opts = evalValue(rawOpts) @@ -169,8 +177,22 @@ function parseGlobOptions( ) } } + // normalize query as string so it's easier to handle later + opts.query = stringifyQuery(opts.query) } + if (opts.as && logger) { + const importSuggestion = forceDefaultAs.includes(opts.as) + ? `, import: 'default'` + : '' + logger.warn( + colors.yellow( + `The glob option "as" has been deprecated in favour of "query". Please update \`as: '${opts.as}'\` to \`query: '?${opts.as}'${importSuggestion}\`.`, + ), + ) + } + + // validate `import` option based on `as` option if (opts.as && forceDefaultAs.includes(opts.as)) { if (opts.import && opts.import !== 'default' && opts.import !== '*') throw err( @@ -188,7 +210,9 @@ function parseGlobOptions( if (opts.as) opts.query = opts.as - return opts + if (opts.query && opts.query[0] !== '?') opts.query = `?${opts.query}` + + return opts as ParsedGeneralImportGlobOptions } export async function parseImportGlob( @@ -196,6 +220,7 @@ export async function parseImportGlob( importer: string | undefined, root: string, resolveId: IdResolver, + logger?: Logger, ): Promise { let cleanCode try { @@ -292,7 +317,7 @@ export async function parseImportGlob( } // arg2 - let options: GeneralImportGlobOptions = {} + let options: ParsedGeneralImportGlobOptions = {} if (arg2) { if (arg2.type !== 'ObjectExpression') throw err( @@ -302,6 +327,7 @@ export async function parseImportGlob( options = parseGlobOptions( code.slice(arg2.range![0], arg2.range![1]), arg2.range![0], + logger, ) } @@ -345,6 +371,7 @@ export async function transformGlobImport( root: string, resolveId: IdResolver, restoreQueryExtension = false, + logger?: Logger, ): Promise { id = slash(id) root = slash(root) @@ -355,6 +382,7 @@ export async function transformGlobImport( isVirtual ? undefined : id, root, resolveId, + logger, ) const matchedFiles = new Set() @@ -383,14 +411,6 @@ export async function transformGlobImport( const objectProps: string[] = [] const staticImports: string[] = [] - let query = !options.query - ? '' - : typeof options.query === 'string' - ? options.query - : stringifyQuery(options.query as any) - - if (query && query[0] !== '?') query = `?${query}` - const resolvePaths = (file: string) => { if (!dir) { if (isRelative) @@ -419,7 +439,7 @@ export async function transformGlobImport( const paths = resolvePaths(file) const filePath = paths.filePath let importPath = paths.importPath - let importQuery = query + let importQuery = options.query ?? '' if (importQuery && importQuery !== '?raw') { const fileExtension = basename(file).split('.').slice(-1)[0] diff --git a/packages/vite/types/importGlob.d.ts b/packages/vite/types/importGlob.d.ts index b9ba52ec1ca881..e0167531d6d9ad 100644 --- a/packages/vite/types/importGlob.d.ts +++ b/packages/vite/types/importGlob.d.ts @@ -4,6 +4,8 @@ export interface ImportGlobOptions< > { /** * Import type for the import url. + * + * @deprecated Use `query` instead, e.g. `as: 'url'` -> `query: '?url', import: 'default'` */ as?: AsType /** diff --git a/playground/glob-import/index.html b/playground/glob-import/index.html index 8c0c9b607f7b6d..41e6409aea4bab 100644 --- a/playground/glob-import/index.html +++ b/playground/glob-import/index.html @@ -70,8 +70,9 @@

    In package

    diff --git a/playground/hmr/css-deps/main.css b/playground/hmr/css-deps/main.css new file mode 100644 index 00000000000000..65cea880bd580e --- /dev/null +++ b/playground/hmr/css-deps/main.css @@ -0,0 +1,3 @@ +.css-deps { + color: replaced; +} diff --git a/playground/hmr/vite.config.ts b/playground/hmr/vite.config.ts index 9ae2186d1b8b5e..3643738733d445 100644 --- a/playground/hmr/vite.config.ts +++ b/playground/hmr/vite.config.ts @@ -1,3 +1,5 @@ +import fs from 'node:fs/promises' +import path from 'node:path' import { defineConfig } from 'vite' import type { Plugin } from 'vite' @@ -24,6 +26,7 @@ export default defineConfig({ }, virtualPlugin(), transformCountPlugin(), + watchCssDepsPlugin(), ], }) @@ -66,3 +69,20 @@ function transformCountPlugin(): Plugin { }, } } + +function watchCssDepsPlugin(): Plugin { + return { + name: 'watch-css-deps', + async transform(code, id) { + // replace the `replaced` identifier in the CSS file with the adjacent + // `dep.js` file's `color` variable. + if (id.includes('css-deps/main.css')) { + const depPath = path.resolve(__dirname, './css-deps/dep.js') + const dep = await fs.readFile(depPath, 'utf-8') + const color = dep.match(/color = '(.+?)'/)[1] + this.addWatchFile(depPath) + return code.replace('replaced', color) + } + }, + } +} From bf1e9c2fd7b05f84d05e59f72b3fc26ca22807bb Mon Sep 17 00:00:00 2001 From: Vladimir Date: Tue, 16 Jan 2024 20:49:24 +0100 Subject: [PATCH 245/656] feat: support multiple HMR clients on the server (#15340) --- docs/guide/api-plugin.md | 14 +- packages/vite/src/node/optimizer/optimizer.ts | 2 +- packages/vite/src/node/plugin.ts | 2 +- packages/vite/src/node/plugins/esbuild.ts | 2 +- packages/vite/src/node/server/hmr.ts | 133 ++++++++++++++++-- packages/vite/src/node/server/index.ts | 38 +++-- .../vite/src/node/server/middlewares/error.ts | 2 +- packages/vite/src/node/server/ws.ts | 12 +- playground/hmr/vite.config.ts | 8 +- playground/vitestGlobalSetup.ts | 9 +- playground/vitestSetup.ts | 15 +- 11 files changed, 179 insertions(+), 58 deletions(-) diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index d2f3b6ff8e25c9..4dd76122fc4f6f 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -423,11 +423,11 @@ Vite plugins can also provide hooks that serve Vite-specific purposes. These hoo - Filter and narrow down the affected module list so that the HMR is more accurate. - - Return an empty array and perform complete custom HMR handling by sending custom events to the client: + - Return an empty array and perform complete custom HMR handling by sending custom events to the client (example uses `server.hot` which was introduced in Vite 5.1, it is recommended to also use `server.ws` if you support lower versions): ```js handleHotUpdate({ server }) { - server.ws.send({ + server.hot.send({ type: 'custom', event: 'special-update', data: {} @@ -534,7 +534,7 @@ Since Vite 2.9, we provide some utilities for plugins to help handle the communi ### Server to Client -On the plugin side, we could use `server.ws.send` to broadcast events to all the clients: +On the plugin side, we could use `server.hot.send` (since Vite 5.1) or `server.ws.send` to broadcast events to all the clients: ```js // vite.config.js @@ -544,8 +544,8 @@ export default defineConfig({ // ... configureServer(server) { // Example: wait for a client to connect before sending a message - server.ws.on('connection', () => { - server.ws.send('my:greetings', { msg: 'hello' }) + server.hot.on('connection', () => { + server.hot.send('my:greetings', { msg: 'hello' }) }) }, }, @@ -579,7 +579,7 @@ if (import.meta.hot) { } ``` -Then use `server.ws.on` and listen to the events on the server side: +Then use `server.hot.on` (since Vite 5.1) or `server.ws.on` and listen to the events on the server side: ```js // vite.config.js @@ -588,7 +588,7 @@ export default defineConfig({ { // ... configureServer(server) { - server.ws.on('my:from-client', (data, client) => { + server.hot.on('my:from-client', (data, client) => { console.log('Message from client:', data.msg) // Hey! // reply only to the client (if needed) client.send('my:ack', { msg: 'Hi! I got your message!' }) diff --git a/packages/vite/src/node/optimizer/optimizer.ts b/packages/vite/src/node/optimizer/optimizer.ts index 477f42915e9a93..0ca16143d7b86e 100644 --- a/packages/vite/src/node/optimizer/optimizer.ts +++ b/packages/vite/src/node/optimizer/optimizer.ts @@ -473,7 +473,7 @@ async function createDepsOptimizer( // reloaded. server.moduleGraph.invalidateAll() - server.ws.send({ + server.hot.send({ type: 'full-reload', path: '*', }) diff --git a/packages/vite/src/node/plugin.ts b/packages/vite/src/node/plugin.ts index a110de16033034..63b7598908c984 100644 --- a/packages/vite/src/node/plugin.ts +++ b/packages/vite/src/node/plugin.ts @@ -129,7 +129,7 @@ export interface Plugin
    extends RollupPlugin { * the descriptors. * * - The hook can also return an empty array and then perform custom updates - * by sending a custom hmr payload via server.ws.send(). + * by sending a custom hmr payload via server.hot.send(). * * - If the hook doesn't return a value, the hmr update will be performed as * normal. diff --git a/packages/vite/src/node/plugins/esbuild.ts b/packages/vite/src/node/plugins/esbuild.ts index 6589756f37f5a6..ea0c1604beac4a 100644 --- a/packages/vite/src/node/plugins/esbuild.ts +++ b/packages/vite/src/node/plugins/esbuild.ts @@ -491,7 +491,7 @@ async function reloadOnTsconfigChange(changedFile: string) { // server may not be available if vite config is updated at the same time if (server) { // force full reload - server.ws.send({ + server.hot.send({ type: 'full-reload', path: '*', }) diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index ff05559611a0ec..a0ee622c34f26e 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -2,7 +2,7 @@ import fsp from 'node:fs/promises' import path from 'node:path' import type { Server } from 'node:http' import colors from 'picocolors' -import type { Update } from 'types/hmrPayload' +import type { CustomPayload, HMRPayload, Update } from 'types/hmrPayload' import type { RollupError } from 'rollup' import { CLIENT_DIR } from '../constants' import { @@ -12,7 +12,7 @@ import { withTrailingSlash, wrapId, } from '../utils' -import type { ViteDevServer } from '..' +import type { InferCustomEventPayload, ViteDevServer } from '..' import { isCSSRequest } from '../plugins/css' import { getAffectedGlobModules } from '../plugins/importMetaGlob' import { isExplicitImportRequired } from '../plugins/importAnalysis' @@ -35,6 +35,8 @@ export interface HmrOptions { timeout?: number overlay?: boolean server?: Server + /** @internal */ + channels?: HMRChannel[] } export interface HmrContext { @@ -51,6 +53,68 @@ interface PropagationBoundary { isWithinCircularImport: boolean } +export interface HMRBroadcasterClient { + /** + * Send event to the client + */ + send(payload: HMRPayload): void + /** + * Send custom event + */ + send(event: string, payload?: CustomPayload['data']): void +} + +export interface HMRChannel { + /** + * Unique channel name + */ + name: string + /** + * Broadcast events to all clients + */ + send(payload: HMRPayload): void + /** + * Send custom event + */ + send(event: T, payload?: InferCustomEventPayload): void + /** + * Handle custom event emitted by `import.meta.hot.send` + */ + on( + event: T, + listener: ( + data: InferCustomEventPayload, + client: HMRBroadcasterClient, + ...args: any[] + ) => void, + ): void + on(event: 'connection', listener: () => void): void + /** + * Unregister event listener + */ + off(event: string, listener: Function): void + /** + * Start listening for messages + */ + listen(): void + /** + * Disconnect all clients, called when server is closed or restarted. + */ + close(): void +} + +export interface HMRBroadcaster extends Omit { + /** + * All registered channels. Always has websocket channel. + */ + readonly channels: HMRChannel[] + /** + * Add a new third-party channel. + */ + addChannel(connection: HMRChannel): HMRBroadcaster + close(): Promise +} + export function getShortName(file: string, root: string): string { return file.startsWith(withTrailingSlash(root)) ? path.posix.relative(root, file) @@ -62,7 +126,7 @@ export async function handleHMRUpdate( server: ViteDevServer, configOnly: boolean, ): Promise { - const { ws, config, moduleGraph } = server + const { hot, config, moduleGraph } = server const shortFile = getShortName(file, config.root) const isConfig = file === config.configFile @@ -98,7 +162,7 @@ export async function handleHMRUpdate( // (dev only) the client itself cannot be hot updated. if (file.startsWith(withTrailingSlash(normalizedClientDir))) { - ws.send({ + hot.send({ type: 'full-reload', path: '*', }) @@ -131,7 +195,7 @@ export async function handleHMRUpdate( clear: true, timestamp: true, }) - ws.send({ + hot.send({ type: 'full-reload', path: config.server.middlewareMode ? '*' @@ -153,7 +217,7 @@ export function updateModules( file: string, modules: ModuleNode[], timestamp: number, - { config, ws, moduleGraph }: ViteDevServer, + { config, hot, moduleGraph }: ViteDevServer, afterInvalidation?: boolean, ): void { const updates: Update[] = [] @@ -202,7 +266,7 @@ export function updateModules( colors.green(`page reload `) + colors.dim(file) + reason, { clear: !afterInvalidation, timestamp: true }, ) - ws.send({ + hot.send({ type: 'full-reload', }) return @@ -218,7 +282,7 @@ export function updateModules( colors.dim([...new Set(updates.map((u) => u.path))].join(', ')), { clear: !afterInvalidation, timestamp: true }, ) - ws.send({ + hot.send({ type: 'update', updates, }) @@ -453,7 +517,7 @@ function isNodeWithinCircularImports( export function handlePrunedModules( mods: Set, - { ws }: ViteDevServer, + { hot }: ViteDevServer, ): void { // update the disposed modules' hmr timestamp // since if it's re-imported, it should re-apply side effects @@ -463,7 +527,7 @@ export function handlePrunedModules( mod.lastHMRTimestamp = t debugHmr?.(`[dispose] ${colors.dim(mod.file)}`) }) - ws.send({ + hot.send({ type: 'prune', paths: [...mods].map((m) => m.url), }) @@ -638,3 +702,52 @@ async function readModifiedFile(file: string): Promise { return content } } + +export function createHMRBroadcaster(): HMRBroadcaster { + const channels: HMRChannel[] = [] + const readyChannels = new WeakSet() + const broadcaster: HMRBroadcaster = { + get channels() { + return [...channels] + }, + addChannel(channel) { + if (channels.some((c) => c.name === channel.name)) { + throw new Error(`HMR channel "${channel.name}" is already defined.`) + } + channels.push(channel) + return broadcaster + }, + on(event: string, listener: (...args: any[]) => any) { + // emit connection event only when all channels are ready + if (event === 'connection') { + // make a copy so we don't wait for channels that might be added after this is triggered + const channels = this.channels + channels.forEach((channel) => + channel.on('connection', () => { + readyChannels.add(channel) + if (channels.every((c) => readyChannels.has(c))) { + listener() + } + }), + ) + return + } + channels.forEach((channel) => channel.on(event, listener)) + return + }, + off(event, listener) { + channels.forEach((channel) => channel.off(event, listener)) + return + }, + send(...args: any[]) { + channels.forEach((channel) => channel.send(...(args as [any]))) + }, + listen() { + channels.forEach((channel) => channel.listen()) + }, + close() { + return Promise.all(channels.map((channel) => channel.close())) + }, + } + return broadcaster +} diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 2501e1fde26170..c7c5270067adbf 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -15,7 +15,6 @@ import launchEditorMiddleware from 'launch-editor-middleware' import type { SourceMap } from 'rollup' import picomatch from 'picomatch' import type { Matcher } from 'picomatch' -import type { InvalidatePayload } from 'types/customEvent' import type { CommonServerOptions } from '../http' import { httpServerStart, @@ -71,8 +70,9 @@ import type { ModuleNode } from './moduleGraph' import { ModuleGraph } from './moduleGraph' import { notFoundMiddleware } from './middlewares/notFound' import { errorMiddleware, prepareError } from './middlewares/error' -import type { HmrOptions } from './hmr' +import type { HMRBroadcaster, HmrOptions } from './hmr' import { + createHMRBroadcaster, getShortName, handleFileAddUnlink, handleHMRUpdate, @@ -229,8 +229,16 @@ export interface ViteDevServer { watcher: FSWatcher /** * web socket server with `send(payload)` method + * @deprecated use `hot` instead */ ws: WebSocketServer + /** + * HMR broadcaster that can be used to send custom HMR messages to the client + * + * Always sends a message to at least a WebSocket client. Any third party can + * add a channel to the broadcaster to process messages + */ + hot: HMRBroadcaster /** * Rollup plugin container that can run plugin hooks on a given file */ @@ -376,12 +384,12 @@ export interface ResolvedServerUrls { export function createServer( inlineConfig: InlineConfig = {}, ): Promise { - return _createServer(inlineConfig, { ws: true }) + return _createServer(inlineConfig, { hotListen: true }) } export async function _createServer( inlineConfig: InlineConfig = {}, - options: { ws: boolean }, + options: { hotListen: boolean }, ): Promise { const config = await resolveConfig(inlineConfig, 'serve') @@ -400,7 +408,12 @@ export async function _createServer( const httpServer = middlewareMode ? null : await resolveHttpServer(serverConfig, middlewares, httpsOptions) + const ws = createWebSocketServer(httpServer, config, httpsOptions) + const hot = createHMRBroadcaster().addChannel(ws) + if (typeof config.server.hmr === 'object' && config.server.hmr.channels) { + config.server.hmr.channels.forEach((channel) => hot.addChannel(channel)) + } if (httpServer) { setClientErrorHandler(httpServer, config.logger) @@ -438,6 +451,7 @@ export async function _createServer( watcher, pluginContainer: container, ws, + hot, moduleGraph, resolvedUrls: null, // will be set on listen ssrTransform( @@ -556,7 +570,7 @@ export async function _createServer( } await Promise.allSettled([ watcher.close(), - ws.close(), + hot.close(), container.close(), getDepsOptimizer(server.config)?.close(), getDepsOptimizer(server.config, true)?.close(), @@ -651,7 +665,7 @@ export async function _createServer( try { await handleHMRUpdate(file, server, configOnly) } catch (err) { - ws.send({ + hot.send({ type: 'error', err: prepareError(err), }) @@ -691,7 +705,7 @@ export async function _createServer( onFileAddUnlink(file, true) }) - ws.on('vite:invalidate', async ({ path, message }: InvalidatePayload) => { + hot.on('vite:invalidate', async ({ path, message }) => { const mod = moduleGraph.urlToModuleMap.get(path) if (mod && mod.isSelfAccepting && mod.lastHMRTimestamp > 0) { config.logger.info( @@ -834,7 +848,7 @@ export async function _createServer( httpServer.listen = (async (port: number, ...args: any[]) => { try { // ensure ws server started - ws.listen() + hot.listen() await initServer() } catch (e) { httpServer.emit('error', e) @@ -843,8 +857,8 @@ export async function _createServer( return listen(port, ...args) }) as any } else { - if (options.ws) { - ws.listen() + if (options.hotListen) { + hot.listen() } await initServer() } @@ -995,7 +1009,7 @@ async function restartServer(server: ViteDevServer) { let newServer = null try { // delay ws server listen - newServer = await _createServer(inlineConfig, { ws: false }) + newServer = await _createServer(inlineConfig, { hotListen: false }) } catch (err: any) { server.config.logger.error(err.message, { timestamp: true, @@ -1028,7 +1042,7 @@ async function restartServer(server: ViteDevServer) { if (!middlewareMode) { await server.listen(port, true) } else { - server.ws.listen() + server.hot.listen() } logger.info('server restarted.', { timestamp: true }) diff --git a/packages/vite/src/node/server/middlewares/error.ts b/packages/vite/src/node/server/middlewares/error.ts index 966d1663749ba2..1d67f1aa55e4ed 100644 --- a/packages/vite/src/node/server/middlewares/error.ts +++ b/packages/vite/src/node/server/middlewares/error.ts @@ -51,7 +51,7 @@ export function logError(server: ViteDevServer, err: RollupError): void { error: err, }) - server.ws.send({ + server.hot.send({ type: 'error', err: prepareError(err), }) diff --git a/packages/vite/src/node/server/ws.ts b/packages/vite/src/node/server/ws.ts index d9a67e4934c42f..6b70d1fbea5e77 100644 --- a/packages/vite/src/node/server/ws.ts +++ b/packages/vite/src/node/server/ws.ts @@ -13,6 +13,7 @@ import type { CustomPayload, ErrorPayload, HMRPayload } from 'types/hmrPayload' import type { InferCustomEventPayload } from 'types/customEvent' import type { ResolvedConfig } from '..' import { isObject } from '../utils' +import type { HMRChannel } from './hmr' import type { HttpServer } from '.' /* In Bun, the `ws` module is overridden to hook into the native code. Using the bundled `js` version @@ -30,7 +31,7 @@ export type WebSocketCustomListener = ( client: WebSocketClient, ) => void -export interface WebSocketServer { +export interface WebSocketServer extends HMRChannel { /** * Listen on port and host */ @@ -39,14 +40,6 @@ export interface WebSocketServer { * Get all connected clients. */ clients: Set - /** - * Broadcast events to all clients - */ - send(payload: HMRPayload): void - /** - * Send custom event - */ - send(event: T, payload?: InferCustomEventPayload): void /** * Disconnect all clients and terminate the server. */ @@ -230,6 +223,7 @@ export function createWebSocketServer( let bufferedError: ErrorPayload | null = null return { + name: 'ws', listen: () => { wsHttpServer?.listen(port, host) }, diff --git a/playground/hmr/vite.config.ts b/playground/hmr/vite.config.ts index 3643738733d445..b290ff60a3140d 100644 --- a/playground/hmr/vite.config.ts +++ b/playground/hmr/vite.config.ts @@ -14,12 +14,12 @@ export default defineConfig({ if (file.endsWith('customFile.js')) { const content = await read() const msg = content.match(/export const msg = '(\w+)'/)[1] - server.ws.send('custom:foo', { msg }) - server.ws.send('custom:remove', { msg }) + server.hot.send('custom:foo', { msg }) + server.hot.send('custom:remove', { msg }) } }, configureServer(server) { - server.ws.on('custom:remote-add', ({ a, b }, client) => { + server.hot.on('custom:remote-add', ({ a, b }, client) => { client.send('custom:remote-add-result', { result: a + b }) }) }, @@ -47,7 +47,7 @@ export const virtual = _virtual + '${num}';` } }, configureServer(server) { - server.ws.on('virtual:increment', async () => { + server.hot.on('virtual:increment', async () => { const mod = await server.moduleGraph.getModuleByUrl('\0virtual:file') if (mod) { num++ diff --git a/playground/vitestGlobalSetup.ts b/playground/vitestGlobalSetup.ts index d62edca8f23daf..7f85d9d12748bf 100644 --- a/playground/vitestGlobalSetup.ts +++ b/playground/vitestGlobalSetup.ts @@ -1,15 +1,13 @@ -import os from 'node:os' import path from 'node:path' import fs from 'fs-extra' +import type { GlobalSetupContext } from 'vitest/node' import type { BrowserServer } from 'playwright-chromium' import { chromium } from 'playwright-chromium' import { hasWindowsUnicodeFsBug } from './hasWindowsUnicodeFsBug' -const DIR = path.join(os.tmpdir(), 'vitest_playwright_global_setup') - let browserServer: BrowserServer | undefined -export async function setup(): Promise { +export async function setup({ provide }: GlobalSetupContext): Promise { process.env.NODE_ENV = process.env.VITE_TEST_BUILD ? 'production' : 'development' @@ -21,8 +19,7 @@ export async function setup(): Promise { : undefined, }) - await fs.mkdirp(DIR) - await fs.writeFile(path.join(DIR, 'wsEndpoint'), browserServer.wsEndpoint()) + provide('wsEndpoint', browserServer.wsEndpoint()) const tempDir = path.resolve(__dirname, '../playground-temp') await fs.ensureDir(tempDir) diff --git a/playground/vitestSetup.ts b/playground/vitestSetup.ts index c73b358f5731c7..cb4ab8f125a9df 100644 --- a/playground/vitestSetup.ts +++ b/playground/vitestSetup.ts @@ -1,6 +1,5 @@ import type * as http from 'node:http' -import path, { dirname, join, resolve } from 'node:path' -import os from 'node:os' +import path, { dirname, resolve } from 'node:path' import fs from 'fs-extra' import { chromium } from 'playwright-chromium' import type { @@ -22,7 +21,7 @@ import { import type { Browser, Page } from 'playwright-chromium' import type { RollupError, RollupWatcher, RollupWatcherEvent } from 'rollup' import type { File } from 'vitest' -import { beforeAll } from 'vitest' +import { beforeAll, inject } from 'vitest' // #region env @@ -80,8 +79,6 @@ export function setViteUrl(url: string): void { // #endregion -const DIR = join(os.tmpdir(), 'vitest_playwright_global_setup') - beforeAll(async (s) => { const suite = s as File // skip browser setup for non-playground tests @@ -89,7 +86,7 @@ beforeAll(async (s) => { return } - const wsEndpoint = fs.readFileSync(join(DIR, 'wsEndpoint'), 'utf-8') + const wsEndpoint = inject('wsEndpoint') if (!wsEndpoint) { throw new Error('wsEndpoint not found') } @@ -354,3 +351,9 @@ declare module 'vite' { __test__?: () => void } } + +declare module 'vitest' { + export interface ProvidedContext { + wsEndpoint: string + } +} From cf56507dbfd41c4af63de511a320971668d5204f Mon Sep 17 00:00:00 2001 From: um Date: Thu, 18 Jan 2024 05:34:12 +0800 Subject: [PATCH 246/656] feat(plugin-legacy): add `modernTargets` option (#15506) Co-authored-by: bluwy --- packages/plugin-legacy/README.md | 13 ++++++++++++- packages/plugin-legacy/package.json | 1 + packages/plugin-legacy/src/index.ts | 21 +++++++++++++++++++-- packages/plugin-legacy/src/types.ts | 4 ++++ pnpm-lock.yaml | 18 +++++++++++++++++- 5 files changed, 53 insertions(+), 4 deletions(-) diff --git a/packages/plugin-legacy/README.md b/packages/plugin-legacy/README.md index 27f6f22e803be8..5e28fb32d63b75 100644 --- a/packages/plugin-legacy/README.md +++ b/packages/plugin-legacy/README.md @@ -40,12 +40,23 @@ npm add -D terser - **Type:** `string | string[] | { [key: string]: string }` - **Default:** [`'last 2 versions and not dead, > 0.3%, Firefox ESR'`](https://browsersl.ist/#q=last+2+versions+and+not+dead%2C+%3E+0.3%25%2C+Firefox+ESR) - If explicitly set, it's passed on to [`@babel/preset-env`](https://babeljs.io/docs/en/babel-preset-env#targets). + If explicitly set, it's passed on to [`@babel/preset-env`](https://babeljs.io/docs/en/babel-preset-env#targets) when rendering **legacy chunks**. The query is also [Browserslist compatible](https://github.com/browserslist/browserslist). See [Browserslist Best Practices](https://github.com/browserslist/browserslist#best-practices) for more details. If it's not set, plugin-legacy will load [the browserslist config sources](https://github.com/browserslist/browserslist#queries) and then fallback to the default value. +### `modernTargets` + +- **Type:** `string | string[]` +- **Default:** [`'edge>=80, firefox>=72, chrome>=80, safari>=13.1, chromeAndroid>=80, iOS>=13.1'`](https://browsersl.ist/#q=edge%3E%3D80%2C+firefox%3E%3D72%2C+chrome%3E%3D80%2C+safari%3E%3D13.1%2C+chromeAndroid%3E%3D80%2C+iOS%3E%3D13.1) + + If explicitly set, it's passed on to [`@babel/preset-env`](https://babeljs.io/docs/en/babel-preset-env#targets) when rendering **modern chunks**. + + The query is also [Browserslist compatible](https://github.com/browserslist/browserslist). See [Browserslist Best Practices](https://github.com/browserslist/browserslist#best-practices) for more details. + + If it's not set, plugin-legacy will fallback to the default value. + ### `polyfills` - **Type:** `boolean | string[]` diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index 2c400ea4d14993..13248cf94d73f2 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -45,6 +45,7 @@ "@babel/preset-env": "^7.23.8", "browserslist": "^4.22.2", "core-js": "^3.35.0", + "esbuild-plugin-browserslist": "^0.10.0", "magic-string": "^0.30.5", "regenerator-runtime": "^0.14.1", "systemjs": "^6.14.3" diff --git a/packages/plugin-legacy/src/index.ts b/packages/plugin-legacy/src/index.ts index 9495d868d71502..d7f0bb206547aa 100644 --- a/packages/plugin-legacy/src/index.ts +++ b/packages/plugin-legacy/src/index.ts @@ -24,6 +24,7 @@ import type { } from '@babel/core' import colors from 'picocolors' import browserslist from 'browserslist' +import { resolveToEsbuildTarget } from 'esbuild-plugin-browserslist' import type { Options } from './types' import { detectModernBrowserCode, @@ -125,6 +126,7 @@ const prefixedHashInFileNameRE = /\W?\[hash(:\d+)?\]/ function viteLegacyPlugin(options: Options = {}): Plugin[] { let config: ResolvedConfig let targets: Options['targets'] + let modernTargets: Options['modernTargets'] // browsers supporting ESM + dynamic import + import.meta + async generator const modernTargetsEsbuild = [ @@ -183,6 +185,7 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] { } let overriddenBuildTarget = false + let overriddenDefaultModernTargets = false const legacyConfigPlugin: Plugin = { name: 'vite:legacy-config', @@ -205,7 +208,10 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] { // Vite's default target browsers are **not** the same. // See https://github.com/vitejs/vite/pull/10052#issuecomment-1242076461 overriddenBuildTarget = config.build.target !== undefined - config.build.target = modernTargetsEsbuild + overriddenDefaultModernTargets = options.modernTargets !== undefined + config.build.target = options.modernTargets + ? resolveToEsbuildTarget(browserslist(options.modernTargets)) + : modernTargetsEsbuild } } @@ -226,6 +232,13 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] { ), ) } + if (overriddenDefaultModernTargets) { + config.logger.warn( + colors.yellow( + `plugin-legacy 'modernTargets' option overrode the builtin targets of modern chunks. Some versions of browsers between legacy and modern may not be supported.`, + ), + ) + } }, } @@ -322,6 +335,10 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] { 'last 2 versions and not dead, > 0.3%, Firefox ESR' isDebug && console.log(`[@vitejs/plugin-legacy] targets:`, targets) + modernTargets = options.modernTargets || modernTargetsBabel + isDebug && + console.log(`[@vitejs/plugin-legacy] modernTargets:`, modernTargets) + const getLegacyOutputFileName = ( fileNames: | string @@ -394,7 +411,7 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] { genModern ) { // analyze and record modern polyfills - await detectPolyfills(raw, modernTargetsBabel, modernPolyfills) + await detectPolyfills(raw, modernTargets, modernPolyfills) } const ms = new MagicString(raw) diff --git a/packages/plugin-legacy/src/types.ts b/packages/plugin-legacy/src/types.ts index 954617d900d241..99e241c398c9eb 100644 --- a/packages/plugin-legacy/src/types.ts +++ b/packages/plugin-legacy/src/types.ts @@ -3,6 +3,10 @@ export interface Options { * default: 'defaults' */ targets?: string | string[] | { [key: string]: string } + /** + * default: 'edge>=80, firefox>=72, chrome>=80, safari>=13.1, chromeAndroid>=80, iOS>=13.1' + */ + modernTargets?: string | string[] /** * default: true */ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e4be54806e977b..66cfa9efcd4f3c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -207,6 +207,9 @@ importers: core-js: specifier: ^3.35.0 version: 3.35.0 + esbuild-plugin-browserslist: + specifier: ^0.10.0 + version: 0.10.0(browserslist@4.22.2) magic-string: specifier: ^0.30.5 version: 0.30.5 @@ -5633,6 +5636,20 @@ packages: ext: 1.6.0 dev: false + /esbuild-plugin-browserslist@0.10.0(browserslist@4.22.2): + resolution: {integrity: sha512-rZWFcp3l+73xDiJB+Vl9UqP1VVs+L4E0lygbwJl6UTmW2qQago7DLT56hBu0vocH/TtZsAcRHj0+qHqkkB5Gww==} + engines: {node: '>=18'} + peerDependencies: + browserslist: ^4.21.8 + esbuild: ~0.19.2 + dependencies: + browserslist: 4.22.2 + debug: 4.3.4 + zod: 3.21.4 + transitivePeerDependencies: + - supports-color + dev: false + /esbuild@0.18.20: resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} engines: {node: '>=12'} @@ -9619,7 +9636,6 @@ packages: /zod@3.21.4: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} - dev: true file:playground/alias/dir/module: resolution: {directory: playground/alias/dir/module, type: directory} From 947aa53bb8ea60ce03a207421a6e7a4117385e58 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Thu, 18 Jan 2024 14:29:59 +0800 Subject: [PATCH 247/656] feat: preview server add close method (#15630) --- packages/vite/src/node/preview.ts | 6 ++++++ packages/vite/src/node/server/index.ts | 6 ++++-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/preview.ts b/packages/vite/src/node/preview.ts index 68a650438f32fa..837e508c5af9b4 100644 --- a/packages/vite/src/node/preview.ts +++ b/packages/vite/src/node/preview.ts @@ -9,6 +9,7 @@ import type { ResolvedServerOptions, ResolvedServerUrls, } from './server' +import { createServerCloseFn } from './server' import type { CommonServerOptions } from './http' import { httpServerStart, @@ -59,6 +60,10 @@ export interface PreviewServer { * The resolved vite config object */ config: ResolvedConfig + /** + * Stop the server. + */ + close(): Promise /** * A connect app instance. * - Can be used to attach custom middlewares to the preview server. @@ -135,6 +140,7 @@ export async function preview( config, middlewares: app, httpServer, + close: createServerCloseFn(httpServer), resolvedUrls: null, printUrls() { if (server.resolvedUrls) { diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index c7c5270067adbf..93de3f19feca20 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -896,9 +896,11 @@ async function startServer( server._currentServerPort = serverPort } -function createServerCloseFn(server: HttpServer | null) { +export function createServerCloseFn( + server: HttpServer | null, +): () => Promise { if (!server) { - return () => {} + return () => Promise.resolve() } let hasListened = false From e43f7eec9b7e877b929872a417a2159b0726ed6a Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 18 Jan 2024 09:28:12 +0100 Subject: [PATCH 248/656] perf: avoid performance.now() call (#15634) --- packages/vite/src/node/plugins/importAnalysis.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 195cbaf60917ed..a5e05542eb6ce9 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -226,7 +226,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { return null } - const start = performance.now() + const msAtStart = debug ? performance.now() : 0 await init let imports!: readonly ImportSpecifier[] let exports!: readonly ExportSpecifier[] @@ -259,7 +259,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { if (!imports.length && !(this as any)._addedImports) { importerModule.isSelfAccepting = false debug?.( - `${timeFrom(start)} ${colors.dim( + `${timeFrom(msAtStart)} ${colors.dim( `[no imports] ${prettifyUrl(importer, root)}`, )}`, ) @@ -790,7 +790,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { } debug?.( - `${timeFrom(start)} ${colors.dim( + `${timeFrom(msAtStart)} ${colors.dim( `[${importedUrls.size} imports rewritten] ${prettifyUrl( importer, root, From 53452dffcc3f8c922b0286e016f9d567b704e90e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 18 Jan 2024 17:53:39 +0900 Subject: [PATCH 249/656] docs: `build.minify` defaults to `false` for SSR (#15636) --- 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 e070d4da68cabd..86de923fcf8590 100644 --- a/docs/config/build-options.md +++ b/docs/config/build-options.md @@ -193,7 +193,7 @@ During the SSR build, static assets aren't emitted as it is assumed they would b ## build.minify - **Type:** `boolean | 'terser' | 'esbuild'` -- **Default:** `'esbuild'` +- **Default:** `'esbuild'` for client build, `false` for SSR build Set to `false` to disable minification, or specify the minifier to use. The default is [esbuild](https://github.com/evanw/esbuild) which is 20 ~ 40x faster than terser and only 1 ~ 2% worse compression. [Benchmarks](https://github.com/privatenumber/minification-benchmarks) From ec8b4206ac3650eb5e4b54fe795258d09a86e9e4 Mon Sep 17 00:00:00 2001 From: Senao <48955231+XiSenao@users.noreply.github.com> Date: Thu, 18 Jan 2024 20:23:00 +0800 Subject: [PATCH 250/656] fix: handle namespace import and dynamic import interop consistently (#15619) --- packages/vite/src/node/__tests__/plugins/import.spec.ts | 2 +- packages/vite/src/node/plugins/importAnalysis.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/__tests__/plugins/import.spec.ts b/packages/vite/src/node/__tests__/plugins/import.spec.ts index 679d5bdb3d0a38..764b1ab3d187b0 100644 --- a/packages/vite/src/node/__tests__/plugins/import.spec.ts +++ b/packages/vite/src/node/__tests__/plugins/import.spec.ts @@ -74,7 +74,7 @@ describe('transformCjsImport', () => { ), ).toBe( 'import __vite__cjsImport0_react from "./node_modules/.vite/deps/react.js"; ' + - 'const react = __vite__cjsImport0_react', + `const react = ((m) => m?.__esModule ? m : { ...typeof m === "object" && !Array.isArray(m) ? m : {}, default: m })(__vite__cjsImport0_react)`, ) }) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index a5e05542eb6ce9..cb2511c7d2ed21 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -847,6 +847,8 @@ export function createParseErrorInfo( showCodeFrame: !probablyBinary, } } +// prettier-ignore +const interopHelper = (m: any) => m?.__esModule ? m : { ...(typeof m === 'object' && !Array.isArray(m) ? m : {}), default: m } export function interopNamedImports( str: MagicString, @@ -870,7 +872,7 @@ export function interopNamedImports( str.overwrite( expStart, expEnd, - `import('${rewrittenUrl}').then(m => m.default && m.default.__esModule ? m.default : ({ ...m.default, default: m.default }))` + + `import('${rewrittenUrl}').then(m => (${interopHelper.toString()})(m.default))` + getLineBreaks(exp), { contentOnly: true }, ) @@ -1006,7 +1008,9 @@ export function transformCjsImport( const lines: string[] = [`import ${cjsModuleName} from "${url}"`] importNames.forEach(({ importedName, localName }) => { if (importedName === '*') { - lines.push(`const ${localName} = ${cjsModuleName}`) + lines.push( + `const ${localName} = (${interopHelper.toString()})(${cjsModuleName})`, + ) } else if (importedName === 'default') { lines.push( `const ${localName} = ${cjsModuleName}.__esModule ? ${cjsModuleName}.default : ${cjsModuleName}`, From 06494443194763d6dd125740961cec82dd9a29d6 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 18 Jan 2024 17:50:04 +0100 Subject: [PATCH 251/656] release: v5.1.0-beta.1 --- packages/vite/CHANGELOG.md | 20 ++++++++++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 991119821bcf8a..db93dda915dad3 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,23 @@ +## 5.1.0-beta.1 (2024-01-18) + +* fix: handle namespace import and dynamic import interop consistently (#15619) ([ec8b420](https://github.com/vitejs/vite/commit/ec8b420)), closes [#15619](https://github.com/vitejs/vite/issues/15619) +* fix(css): track dependencies from addWatchFile for HMR (#15608) ([dfcb83d](https://github.com/vitejs/vite/commit/dfcb83d)), closes [#15608](https://github.com/vitejs/vite/issues/15608) +* fix(deps): update all non-major dependencies (#15603) ([109fb80](https://github.com/vitejs/vite/commit/109fb80)), closes [#15603](https://github.com/vitejs/vite/issues/15603) +* fix(hmr): normalize env files path (#15584) ([d0f1d2e](https://github.com/vitejs/vite/commit/d0f1d2e)), closes [#15584](https://github.com/vitejs/vite/issues/15584) +* fix(ssr): externalize network imports during `ssrLoadModule` (#15599) ([af2aa09](https://github.com/vitejs/vite/commit/af2aa09)), closes [#15599](https://github.com/vitejs/vite/issues/15599) +* fix(types): mark hmr update internal types optional (#15606) ([df8f5a5](https://github.com/vitejs/vite/commit/df8f5a5)), closes [#15606](https://github.com/vitejs/vite/issues/15606) +* perf: avoid parseRequest (#15617) ([0cacfad](https://github.com/vitejs/vite/commit/0cacfad)), closes [#15617](https://github.com/vitejs/vite/issues/15617) +* perf: avoid performance.now() call (#15634) ([e43f7ee](https://github.com/vitejs/vite/commit/e43f7ee)), closes [#15634](https://github.com/vitejs/vite/issues/15634) +* perf: do not bind plugin hook context functions (#15610) ([3b7e0c3](https://github.com/vitejs/vite/commit/3b7e0c3)), closes [#15610](https://github.com/vitejs/vite/issues/15610) +* perf: don't recreate html hooks on each transform call (#15579) ([bdb826c](https://github.com/vitejs/vite/commit/bdb826c)), closes [#15579](https://github.com/vitejs/vite/issues/15579) +* perf: simplify isHtmlProxy regex (#15590) ([644d120](https://github.com/vitejs/vite/commit/644d120)), closes [#15590](https://github.com/vitejs/vite/issues/15590) +* feat: preview server add close method (#15630) ([947aa53](https://github.com/vitejs/vite/commit/947aa53)), closes [#15630](https://github.com/vitejs/vite/issues/15630) +* feat: support multiple HMR clients on the server (#15340) ([bf1e9c2](https://github.com/vitejs/vite/commit/bf1e9c2)), closes [#15340](https://github.com/vitejs/vite/issues/15340) +* feat(build): set `hoistTransitiveImports` to false in library builds (#15595) ([e6ebc7b](https://github.com/vitejs/vite/commit/e6ebc7b)), closes [#15595](https://github.com/vitejs/vite/issues/15595) +* refactor: remove build time pre-bundling (#15184) ([757844f](https://github.com/vitejs/vite/commit/757844f)), closes [#15184](https://github.com/vitejs/vite/issues/15184) + + + ## 5.1.0-beta.0 (2024-01-15) * fix: await `configResolved` hooks of worker plugins (#15597) ([03c8004](https://github.com/vitejs/vite/commit/03c8004)), closes [#15597](https://github.com/vitejs/vite/issues/15597) diff --git a/packages/vite/package.json b/packages/vite/package.json index 8ef480a8a7d3c1..a5ac54ba8df702 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.0-beta.0", + "version": "5.1.0-beta.1", "type": "module", "license": "MIT", "author": "Evan You", From f3c11bb8ab14648379d9816b4e0df980cd4ac214 Mon Sep 17 00:00:00 2001 From: Josh Date: Fri, 19 Jan 2024 10:33:15 +0300 Subject: [PATCH 252/656] docs: changed bunx create-vite to bun create vite (#15646) Co-authored-by: patak --- docs/guide/index.md | 4 ++-- packages/create-vite/README.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/guide/index.md b/docs/guide/index.md index ece67cfbf1c4b4..406d342c2be28f 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -62,7 +62,7 @@ $ pnpm create vite ``` ```bash [Bun] -$ bunx create-vite +$ bun create vite ``` ::: @@ -82,7 +82,7 @@ yarn create vite my-vue-app --template vue pnpm create vite my-vue-app --template vue # bun -bunx create-vite my-vue-app --template vue +bun create vite my-vue-app --template vue ``` See [create-vite](https://github.com/vitejs/vite/tree/main/packages/create-vite) for more details on each supported template: `vanilla`, `vanilla-ts`, `vue`, `vue-ts`, `react`, `react-ts`, `react-swc`, `react-swc-ts`, `preact`, `preact-ts`, `lit`, `lit-ts`, `svelte`, `svelte-ts`, `solid`, `solid-ts`, `qwik`, `qwik-ts`. diff --git a/packages/create-vite/README.md b/packages/create-vite/README.md index 6d016ef5f4ed8c..a6f879fcb9e48d 100644 --- a/packages/create-vite/README.md +++ b/packages/create-vite/README.md @@ -26,7 +26,7 @@ $ pnpm create vite With Bun: ```bash -$ bunx create-vite +$ bun create vite ``` Then follow the prompts! @@ -44,7 +44,7 @@ yarn create vite my-vue-app --template vue pnpm create vite my-vue-app --template vue # Bun -bunx create-vite my-vue-app --template vue +bun create vite my-vue-app --template vue ``` Currently supported template presets include: From f08a037aa7dbcc3d55f4cefbfe9822b7d0373a8d Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 19 Jan 2024 10:17:56 +0100 Subject: [PATCH 253/656] perf: optimize getSortedPluginsByHook (#15624) --- packages/vite/src/node/plugins/index.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/packages/vite/src/node/plugins/index.ts b/packages/vite/src/node/plugins/index.ts index 08bb7c3a99c3a8..fc230c686641b1 100644 --- a/packages/vite/src/node/plugins/index.ts +++ b/packages/vite/src/node/plugins/index.ts @@ -140,27 +140,30 @@ export function getSortedPluginsByHook( hookName: K, plugins: readonly Plugin[], ): PluginWithRequiredHook[] { - const pre: Plugin[] = [] - const normal: Plugin[] = [] - const post: Plugin[] = [] + const sortedPlugins: Plugin[] = [] + // Use indexes to track and insert the ordered plugins directly in the + // resulting array to avoid creating 3 extra temporary arrays per hook + let pre = 0, + normal = 0, + post = 0 for (const plugin of plugins) { const hook = plugin[hookName] if (hook) { if (typeof hook === 'object') { if (hook.order === 'pre') { - pre.push(plugin) + sortedPlugins.splice(pre++, 0, plugin) continue } if (hook.order === 'post') { - post.push(plugin) + sortedPlugins.splice(pre + normal + post++, 0, plugin) continue } } - normal.push(plugin) + sortedPlugins.splice(pre + normal++, 0, plugin) } } - return [...pre, ...normal, ...post] as PluginWithRequiredHook[] + return sortedPlugins as PluginWithRequiredHook[] } export function getHookHandler>( From e459be4fb1287e1432662958149aa95abb866ff9 Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 19 Jan 2024 10:19:07 +0100 Subject: [PATCH 254/656] perf: don't recalculate path.dirname(mod.file) (#15623) --- packages/vite/src/node/server/transformRequest.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index e3ce47fc1a86fa..13f54da2646a78 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -327,6 +327,7 @@ async function loadAndTransform( ) if (path.isAbsolute(mod.file)) { + let modDirname for ( let sourcesIndex = 0; sourcesIndex < normalizedMap.sources.length; @@ -338,8 +339,9 @@ async function loadAndTransform( // to resolve and display them in a meaningful way (rather than // with absolute paths). if (path.isAbsolute(sourcePath)) { + modDirname ??= path.dirname(mod.file) normalizedMap.sources[sourcesIndex] = path.relative( - path.dirname(mod.file), + modDirname, sourcePath, ) } From 89be67de47ae864d646ebeb7bdf5ef8bb8fcc7e1 Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 19 Jan 2024 14:02:51 +0100 Subject: [PATCH 255/656] fix: fs deny for case insensitive systems (#15653) --- packages/vite/src/node/server/index.ts | 5 ++++- .../__tests__/base/fs-serve-base.spec.ts | 8 +++++++- playground/fs-serve/__tests__/fs-serve.spec.ts | 8 +++++++- playground/fs-serve/root/src/index.html | 16 +++++++++++++++- 4 files changed, 33 insertions(+), 4 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 93de3f19feca20..fd03199f2e2cda 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -629,7 +629,10 @@ export async function _createServer( _importGlobMap: new Map(), _forceOptimizeOnRestart: false, _pendingRequests: new Map(), - _fsDenyGlob: picomatch(config.server.fs.deny, { matchBase: true }), + _fsDenyGlob: picomatch(config.server.fs.deny, { + matchBase: true, + nocase: true, + }), _shortcutsOptions: undefined, } diff --git a/playground/fs-serve/__tests__/base/fs-serve-base.spec.ts b/playground/fs-serve/__tests__/base/fs-serve-base.spec.ts index 4660fafcc8031f..51e87ccd3b57cf 100644 --- a/playground/fs-serve/__tests__/base/fs-serve-base.spec.ts +++ b/playground/fs-serve/__tests__/base/fs-serve-base.spec.ts @@ -92,7 +92,13 @@ describe.runIf(isServe)('main', () => { }) test('denied', async () => { - expect(await page.textContent('.unsafe-dotenv')).toBe('404') + expect(await page.textContent('.unsafe-dotenv')).toBe('403') + }) + + test('denied EnV casing', async () => { + // It is 403 in case insensitive system, 404 in others + const code = await page.textContent('.unsafe-dotEnV-casing') + expect(code === '403' || code === '404').toBeTruthy() }) }) diff --git a/playground/fs-serve/__tests__/fs-serve.spec.ts b/playground/fs-serve/__tests__/fs-serve.spec.ts index 86e030326ea420..9d9d4c6ec80e54 100644 --- a/playground/fs-serve/__tests__/fs-serve.spec.ts +++ b/playground/fs-serve/__tests__/fs-serve.spec.ts @@ -92,7 +92,13 @@ describe.runIf(isServe)('main', () => { }) test('denied', async () => { - expect(await page.textContent('.unsafe-dotenv')).toBe('404') + expect(await page.textContent('.unsafe-dotenv')).toBe('403') + }) + + test('denied EnV casing', async () => { + // It is 403 in case insensitive system, 404 in others + const code = await page.textContent('.unsafe-dotEnV-casing') + expect(code === '403' || code === '404').toBeTruthy() }) }) diff --git a/playground/fs-serve/root/src/index.html b/playground/fs-serve/root/src/index.html index 5de6804a7658de..06bee3f8671949 100644 --- a/playground/fs-serve/root/src/index.html +++ b/playground/fs-serve/root/src/index.html @@ -45,6 +45,7 @@

    Nested Entry

    Denied

    
    +
    
     
     
    +
    +
    diff --git a/playground/hmr-ssr/accept-exports/main-accepted/callback.ts b/playground/hmr-ssr/accept-exports/main-accepted/callback.ts new file mode 100644 index 00000000000000..8dc4c42a24db99 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-accepted/callback.ts @@ -0,0 +1,7 @@ +export const x = 'X' + +if (import.meta.hot) { + import.meta.hot.acceptExports(['x'], (m) => { + log(`reloaded >>> ${m.x}`) + }) +} diff --git a/playground/hmr-ssr/accept-exports/main-accepted/dep.ts b/playground/hmr-ssr/accept-exports/main-accepted/dep.ts new file mode 100644 index 00000000000000..b9f67fd33a75f8 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-accepted/dep.ts @@ -0,0 +1 @@ +export default 'dep0' diff --git a/playground/hmr-ssr/accept-exports/main-accepted/index.ts b/playground/hmr-ssr/accept-exports/main-accepted/index.ts new file mode 100644 index 00000000000000..2e798337101607 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-accepted/index.ts @@ -0,0 +1 @@ +import './main-accepted' diff --git a/playground/hmr-ssr/accept-exports/main-accepted/main-accepted.ts b/playground/hmr-ssr/accept-exports/main-accepted/main-accepted.ts new file mode 100644 index 00000000000000..74afdbfa7e378c --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-accepted/main-accepted.ts @@ -0,0 +1,7 @@ +import def, { a } from './target' +import { x } from './callback' + +// we don't want to pollute other checks' logs... +if (0 > 1) log(x) + +log(`>>>>>> ${a} ${def}`) diff --git a/playground/hmr-ssr/accept-exports/main-accepted/target.ts b/playground/hmr-ssr/accept-exports/main-accepted/target.ts new file mode 100644 index 00000000000000..c4826524c3c83d --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-accepted/target.ts @@ -0,0 +1,16 @@ +import dep from './dep' + +export const a = 'A0' + +const bValue = 'B0' +export { bValue as b } + +const def = 'D0' + +export default def + +log(`<<<<<< ${a} ${bValue} ${def} ; ${dep}`) + +if (import.meta.hot) { + import.meta.hot.acceptExports(['a', 'default']) +} diff --git a/playground/hmr-ssr/accept-exports/main-non-accepted/default.ts b/playground/hmr-ssr/accept-exports/main-non-accepted/default.ts new file mode 100644 index 00000000000000..6ffaecaf43c588 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-non-accepted/default.ts @@ -0,0 +1,11 @@ +export const x = 'y' + +const def = 'def0' + +export default def + +log(`<<< default: ${def}`) + +if (import.meta.hot) { + import.meta.hot.acceptExports(['x']) +} diff --git a/playground/hmr-ssr/accept-exports/main-non-accepted/dep.ts b/playground/hmr-ssr/accept-exports/main-non-accepted/dep.ts new file mode 100644 index 00000000000000..b9f67fd33a75f8 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-non-accepted/dep.ts @@ -0,0 +1 @@ +export default 'dep0' diff --git a/playground/hmr-ssr/accept-exports/main-non-accepted/index.ts b/playground/hmr-ssr/accept-exports/main-non-accepted/index.ts new file mode 100644 index 00000000000000..3841d7997c4c26 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-non-accepted/index.ts @@ -0,0 +1 @@ +import './main-non-accepted.ts' diff --git a/playground/hmr-ssr/accept-exports/main-non-accepted/main-non-accepted.ts b/playground/hmr-ssr/accept-exports/main-non-accepted/main-non-accepted.ts new file mode 100644 index 00000000000000..a159ced50a7f50 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-non-accepted/main-non-accepted.ts @@ -0,0 +1,4 @@ +import { a } from './named' +import def from './default' + +log(`>>>>>> ${a} ${def}`) diff --git a/playground/hmr-ssr/accept-exports/main-non-accepted/named.ts b/playground/hmr-ssr/accept-exports/main-non-accepted/named.ts new file mode 100644 index 00000000000000..435d3c8cb50ae8 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/main-non-accepted/named.ts @@ -0,0 +1,11 @@ +import dep from './dep' + +export const a = 'A0' + +export const b = 'B0' + +log(`<<< named: ${a} ; ${dep}`) + +if (import.meta.hot) { + import.meta.hot.acceptExports(['b']) +} diff --git a/playground/hmr-ssr/accept-exports/reexports.bak/accept-named.ts b/playground/hmr-ssr/accept-exports/reexports.bak/accept-named.ts new file mode 100644 index 00000000000000..1c45a7c358452e --- /dev/null +++ b/playground/hmr-ssr/accept-exports/reexports.bak/accept-named.ts @@ -0,0 +1,10 @@ +export { a, b } from './source' + +if (import.meta.hot) { + // import.meta.hot.accept('./source', (m) => { + // log(`accept-named reexport:${m.a},${m.b}`) + // }) + import.meta.hot.acceptExports('a', (m) => { + log(`accept-named reexport:${m.a},${m.b}`) + }) +} diff --git a/playground/hmr-ssr/accept-exports/reexports.bak/index.html b/playground/hmr-ssr/accept-exports/reexports.bak/index.html new file mode 100644 index 00000000000000..241054bca8256f --- /dev/null +++ b/playground/hmr-ssr/accept-exports/reexports.bak/index.html @@ -0,0 +1 @@ + diff --git a/playground/hmr-ssr/accept-exports/reexports.bak/reexports.ts b/playground/hmr-ssr/accept-exports/reexports.bak/reexports.ts new file mode 100644 index 00000000000000..659901c42c7149 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/reexports.bak/reexports.ts @@ -0,0 +1,5 @@ +import { a } from './accept-named' + +log('accept-named:' + a) + +log('>>> ready') diff --git a/playground/hmr-ssr/accept-exports/reexports.bak/source.ts b/playground/hmr-ssr/accept-exports/reexports.bak/source.ts new file mode 100644 index 00000000000000..7f736004a8e9fa --- /dev/null +++ b/playground/hmr-ssr/accept-exports/reexports.bak/source.ts @@ -0,0 +1,2 @@ +export const a = 'a0' +export const b = 'b0' diff --git a/playground/hmr-ssr/accept-exports/side-effects/index.ts b/playground/hmr-ssr/accept-exports/side-effects/index.ts new file mode 100644 index 00000000000000..8a44ded37ba337 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/side-effects/index.ts @@ -0,0 +1 @@ +import './side-effects.ts' diff --git a/playground/hmr-ssr/accept-exports/side-effects/side-effects.ts b/playground/hmr-ssr/accept-exports/side-effects/side-effects.ts new file mode 100644 index 00000000000000..f4abb02fb2b47e --- /dev/null +++ b/playground/hmr-ssr/accept-exports/side-effects/side-effects.ts @@ -0,0 +1,13 @@ +export const x = 'x' + +export const y = 'y' + +export default 'z' + +log('>>> side FX') + +globalThis.__HMR__['.app'] = 'hey' + +if (import.meta.hot) { + import.meta.hot.acceptExports(['default']) +} diff --git a/playground/hmr-ssr/accept-exports/star-imports/deps-all-accepted.ts b/playground/hmr-ssr/accept-exports/star-imports/deps-all-accepted.ts new file mode 100644 index 00000000000000..bf935ebc878609 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/star-imports/deps-all-accepted.ts @@ -0,0 +1,14 @@ +export const a = 'a0' + +export const b = 'b0' + +const aliased = 'c0' +export { aliased as c } + +export default 'default0' + +log(`all >>>>>> ${a}, ${b}, ${aliased}`) + +if (import.meta.hot) { + import.meta.hot.acceptExports(['a', 'b', 'c', 'default']) +} diff --git a/playground/hmr-ssr/accept-exports/star-imports/deps-some-accepted.ts b/playground/hmr-ssr/accept-exports/star-imports/deps-some-accepted.ts new file mode 100644 index 00000000000000..04469868392dc3 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/star-imports/deps-some-accepted.ts @@ -0,0 +1,14 @@ +export const a = 'a0' + +export const b = 'b0' + +const aliased = 'c0' +export { aliased as c } + +export default 'default0' + +log(`some >>>>>> ${a}, ${b}, ${aliased}`) + +if (import.meta.hot) { + import.meta.hot.acceptExports(['a', 'b', 'default']) +} diff --git a/playground/hmr-ssr/accept-exports/star-imports/index.ts b/playground/hmr-ssr/accept-exports/star-imports/index.ts new file mode 100644 index 00000000000000..d98700b239a3df --- /dev/null +++ b/playground/hmr-ssr/accept-exports/star-imports/index.ts @@ -0,0 +1 @@ +import './star-imports.ts' diff --git a/playground/hmr-ssr/accept-exports/star-imports/star-imports.ts b/playground/hmr-ssr/accept-exports/star-imports/star-imports.ts new file mode 100644 index 00000000000000..228622f9ab85b3 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/star-imports/star-imports.ts @@ -0,0 +1,6 @@ +import * as all from './deps-all-accepted' +import * as some from './deps-some-accepted' + +log('loaded:all:' + all.a + all.b + all.c + all.default) +log('loaded:some:' + some.a + some.b + some.c + some.default) +log('>>> ready <<<') diff --git a/playground/hmr-ssr/accept-exports/unused-exports/index.html b/playground/hmr-ssr/accept-exports/unused-exports/index.html new file mode 100644 index 00000000000000..8998d3ce4581ee --- /dev/null +++ b/playground/hmr-ssr/accept-exports/unused-exports/index.html @@ -0,0 +1 @@ + diff --git a/playground/hmr-ssr/accept-exports/unused-exports/index.ts b/playground/hmr-ssr/accept-exports/unused-exports/index.ts new file mode 100644 index 00000000000000..ffd430893843fd --- /dev/null +++ b/playground/hmr-ssr/accept-exports/unused-exports/index.ts @@ -0,0 +1,4 @@ +import './unused' +import { foo } from './used' + +log('used:' + foo) diff --git a/playground/hmr-ssr/accept-exports/unused-exports/unused.ts b/playground/hmr-ssr/accept-exports/unused-exports/unused.ts new file mode 100644 index 00000000000000..1462ed6101bba6 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/unused-exports/unused.ts @@ -0,0 +1,11 @@ +export const x = 'x' + +export const y = 'y' + +export default 'z' + +log('-- unused --') + +if (import.meta.hot) { + import.meta.hot.acceptExports([]) +} diff --git a/playground/hmr-ssr/accept-exports/unused-exports/used.ts b/playground/hmr-ssr/accept-exports/unused-exports/used.ts new file mode 100644 index 00000000000000..a4a093f726e325 --- /dev/null +++ b/playground/hmr-ssr/accept-exports/unused-exports/used.ts @@ -0,0 +1,9 @@ +export const foo = 'foo0' + +export const bar = 'bar0' + +log('-- used --') + +if (import.meta.hot) { + import.meta.hot.acceptExports([]) +} diff --git a/playground/hmr-ssr/circular/index.js b/playground/hmr-ssr/circular/index.js new file mode 100644 index 00000000000000..a78188ea88f93c --- /dev/null +++ b/playground/hmr-ssr/circular/index.js @@ -0,0 +1,7 @@ +import { msg } from './mod-a' + +globalThis.__HMR__['.circular'] = msg + +if (import.meta.hot) { + import.meta.hot.accept() +} diff --git a/playground/hmr-ssr/circular/mod-a.js b/playground/hmr-ssr/circular/mod-a.js new file mode 100644 index 00000000000000..def8466da2e489 --- /dev/null +++ b/playground/hmr-ssr/circular/mod-a.js @@ -0,0 +1,5 @@ +export const value = 'mod-a' + +import { value as _value } from './mod-b' + +export const msg = `mod-a -> ${_value}` diff --git a/playground/hmr-ssr/circular/mod-b.js b/playground/hmr-ssr/circular/mod-b.js new file mode 100644 index 00000000000000..fe0125f33787b7 --- /dev/null +++ b/playground/hmr-ssr/circular/mod-b.js @@ -0,0 +1,3 @@ +import { value as _value } from './mod-c' + +export const value = `mod-b -> ${_value}` diff --git a/playground/hmr-ssr/circular/mod-c.js b/playground/hmr-ssr/circular/mod-c.js new file mode 100644 index 00000000000000..4f9de5b0efcc29 --- /dev/null +++ b/playground/hmr-ssr/circular/mod-c.js @@ -0,0 +1,11 @@ +import { value as _value } from './mod-a' + +// Should error as `_value` is not defined yet within the circular imports +let __value +try { + __value = `${_value} (expected no error)` +} catch { + __value = 'mod-a (unexpected error)' +} + +export const value = `mod-c -> ${__value}` diff --git a/playground/hmr-ssr/counter/dep.ts b/playground/hmr-ssr/counter/dep.ts new file mode 100644 index 00000000000000..e15e77f4e4743f --- /dev/null +++ b/playground/hmr-ssr/counter/dep.ts @@ -0,0 +1,4 @@ +// This file is never loaded +if (import.meta.hot) { + import.meta.hot.accept(() => {}) +} diff --git a/playground/hmr-ssr/counter/index.ts b/playground/hmr-ssr/counter/index.ts new file mode 100644 index 00000000000000..66edcdbe737ed1 --- /dev/null +++ b/playground/hmr-ssr/counter/index.ts @@ -0,0 +1,11 @@ +let count = 0 +export function increment() { + count++ +} +export function getCount() { + return count +} +// @ts-expect-error not used but this is to test that it works +function neverCalled() { + import('./dep') +} diff --git a/playground/hmr-ssr/customFile.js b/playground/hmr-ssr/customFile.js new file mode 100644 index 00000000000000..7c9069974578e0 --- /dev/null +++ b/playground/hmr-ssr/customFile.js @@ -0,0 +1 @@ +export const msg = 'custom' diff --git a/playground/hmr-ssr/event.d.ts b/playground/hmr-ssr/event.d.ts new file mode 100644 index 00000000000000..1920d1e7aff076 --- /dev/null +++ b/playground/hmr-ssr/event.d.ts @@ -0,0 +1,17 @@ +import 'vite/types/customEvent' + +declare module 'vite/types/customEvent' { + interface CustomEventMap { + 'custom:foo': { msg: string } + 'custom:remote-add': { a: number; b: number } + 'custom:remote-add-result': { result: string } + } +} + +declare global { + let log: (...msg: unknown[]) => void + let logger: { + error: (msg: string | Error) => void + debug: (...msg: unknown[]) => void + } +} diff --git a/playground/hmr-ssr/file-delete-restore/child.js b/playground/hmr-ssr/file-delete-restore/child.js new file mode 100644 index 00000000000000..704c7d8c7e98cc --- /dev/null +++ b/playground/hmr-ssr/file-delete-restore/child.js @@ -0,0 +1,11 @@ +import { rerender } from './runtime' + +export const value = 'child' + +if (import.meta.hot) { + import.meta.hot.accept((newMod) => { + if (!newMod) return + + rerender({ child: newMod.value }) + }) +} diff --git a/playground/hmr-ssr/file-delete-restore/index.js b/playground/hmr-ssr/file-delete-restore/index.js new file mode 100644 index 00000000000000..fa4908a32662ac --- /dev/null +++ b/playground/hmr-ssr/file-delete-restore/index.js @@ -0,0 +1,4 @@ +import { render } from './runtime' +import { childValue, parentValue } from './parent' + +render({ parent: parentValue, child: childValue }) diff --git a/playground/hmr-ssr/file-delete-restore/parent.js b/playground/hmr-ssr/file-delete-restore/parent.js new file mode 100644 index 00000000000000..050bfa6d49b4c0 --- /dev/null +++ b/playground/hmr-ssr/file-delete-restore/parent.js @@ -0,0 +1,12 @@ +import { rerender } from './runtime' + +export const parentValue = 'parent' +export { value as childValue } from './child' + +if (import.meta.hot) { + import.meta.hot.accept((newMod) => { + if (!newMod) return + + rerender({ child: newMod.childValue, parent: newMod.parentValue }) + }) +} diff --git a/playground/hmr-ssr/file-delete-restore/runtime.js b/playground/hmr-ssr/file-delete-restore/runtime.js new file mode 100644 index 00000000000000..a3383fcf8ed777 --- /dev/null +++ b/playground/hmr-ssr/file-delete-restore/runtime.js @@ -0,0 +1,15 @@ +let state = {} + +export const render = (newState) => { + state = newState + apply() +} + +export const rerender = (updates) => { + state = { ...state, ...updates } + apply() +} + +const apply = () => { + globalThis.__HMR__['.file-delete-restore'] = Object.values(state).join(':') +} diff --git a/playground/hmr-ssr/hmr.ts b/playground/hmr-ssr/hmr.ts new file mode 100644 index 00000000000000..cd88dbd47bb6c6 --- /dev/null +++ b/playground/hmr-ssr/hmr.ts @@ -0,0 +1,112 @@ +import { virtual } from 'virtual:file' +import { foo as depFoo, nestedFoo } from './hmrDep' +import './importing-updated' +import './invalidation/parent' +import './file-delete-restore' +import './optional-chaining/parent' +import './intermediate-file-delete' +import './circular' +import './queries' +import logo from './logo.svg' +import { msg as softInvalidationMsg } from './soft-invalidation' + +export const foo = 1 +text('.app', foo) +text('.dep', depFoo) +text('.nested', nestedFoo) +text('.virtual', virtual) +text('.soft-invalidation', softInvalidationMsg) +setLogo(logo) + +globalThis.__HMR__['virtual:increment'] = () => { + if (import.meta.hot) { + import.meta.hot.send('virtual:increment') + } +} + +if (import.meta.hot) { + import.meta.hot.accept(({ foo }) => { + log('(self-accepting 1) foo is now:', foo) + }) + + import.meta.hot.accept(({ foo }) => { + log('(self-accepting 2) foo is now:', foo) + }) + + const handleDep = (type, newFoo, newNestedFoo) => { + log(`(${type}) foo is now: ${newFoo}`) + log(`(${type}) nested foo is now: ${newNestedFoo}`) + text('.dep', newFoo) + text('.nested', newNestedFoo) + } + + import.meta.hot.accept('./logo.svg', (newUrl) => { + setLogo(newUrl.default) + log('Logo updated', newUrl.default) + }) + + import.meta.hot.accept('./hmrDep', ({ foo, nestedFoo }) => { + handleDep('single dep', foo, nestedFoo) + }) + + import.meta.hot.accept(['./hmrDep'], ([{ foo, nestedFoo }]) => { + handleDep('multi deps', foo, nestedFoo) + }) + + import.meta.hot.dispose(() => { + log(`foo was:`, foo) + }) + + import.meta.hot.on('vite:afterUpdate', (event) => { + log(`>>> vite:afterUpdate -- ${event.type}`) + }) + + import.meta.hot.on('vite:beforeUpdate', (event) => { + log(`>>> vite:beforeUpdate -- ${event.type}`) + + const cssUpdate = event.updates.find( + (update) => + update.type === 'css-update' && update.path.includes('global.css'), + ) + if (cssUpdate) { + log('CSS updates are not supported in SSR') + } + }) + + import.meta.hot.on('vite:error', (event) => { + log(`>>> vite:error -- ${event.err.message}`) + }) + + import.meta.hot.on('vite:invalidate', ({ path }) => { + log(`>>> vite:invalidate -- ${path}`) + }) + + import.meta.hot.on('custom:foo', ({ msg }) => { + text('.custom', msg) + }) + + import.meta.hot.on('custom:remove', removeCb) + + // send custom event to server to calculate 1 + 2 + import.meta.hot.send('custom:remote-add', { a: 1, b: 2 }) + import.meta.hot.on('custom:remote-add-result', ({ result }) => { + text('.custom-communication', result) + }) +} + +function text(el, text) { + hmr(el, text) +} + +function setLogo(src) { + hmr('#logo', src) +} + +function removeCb({ msg }) { + text('.toRemove', msg) + import.meta.hot.off('custom:remove', removeCb) +} + +function hmr(key: string, value: unknown) { + ;(globalThis.__HMR__ as any)[key] = String(value) +} diff --git a/playground/hmr-ssr/hmrDep.js b/playground/hmr-ssr/hmrDep.js new file mode 100644 index 00000000000000..c4c434146afc41 --- /dev/null +++ b/playground/hmr-ssr/hmrDep.js @@ -0,0 +1,14 @@ +export const foo = 1 +export { foo as nestedFoo } from './hmrNestedDep' + +if (import.meta.hot) { + const data = import.meta.hot.data + if ('fromDispose' in data) { + log(`(dep) foo from dispose: ${data.fromDispose}`) + } + + import.meta.hot.dispose((data) => { + log(`(dep) foo was: ${foo}`) + data.fromDispose = foo + }) +} diff --git a/playground/hmr-ssr/hmrNestedDep.js b/playground/hmr-ssr/hmrNestedDep.js new file mode 100644 index 00000000000000..766766a6260612 --- /dev/null +++ b/playground/hmr-ssr/hmrNestedDep.js @@ -0,0 +1 @@ +export const foo = 1 diff --git a/playground/hmr-ssr/importedVirtual.js b/playground/hmr-ssr/importedVirtual.js new file mode 100644 index 00000000000000..8b0b417bc3113d --- /dev/null +++ b/playground/hmr-ssr/importedVirtual.js @@ -0,0 +1 @@ +export const virtual = '[success]' diff --git a/playground/hmr-ssr/importing-updated/a.js b/playground/hmr-ssr/importing-updated/a.js new file mode 100644 index 00000000000000..e52ef8d3dce2d7 --- /dev/null +++ b/playground/hmr-ssr/importing-updated/a.js @@ -0,0 +1,9 @@ +const val = 'a0' +globalThis.__HMR__['.importing-reloaded'] ??= '' +globalThis.__HMR__['.importing-reloaded'] += `a.js: ${val}
    ` + +export default val + +if (import.meta.hot) { + import.meta.hot.accept() +} diff --git a/playground/hmr-ssr/importing-updated/b.js b/playground/hmr-ssr/importing-updated/b.js new file mode 100644 index 00000000000000..d309a396a3c56d --- /dev/null +++ b/playground/hmr-ssr/importing-updated/b.js @@ -0,0 +1,10 @@ +import a from './a.js' + +const val = `b0,${a}` + +globalThis.__HMR__['.importing-reloaded'] ??= '' +globalThis.__HMR__['.importing-reloaded'] += `b.js: ${val}
    ` + +if (import.meta.hot) { + import.meta.hot.accept() +} diff --git a/playground/hmr-ssr/importing-updated/index.js b/playground/hmr-ssr/importing-updated/index.js new file mode 100644 index 00000000000000..0cc74268d385de --- /dev/null +++ b/playground/hmr-ssr/importing-updated/index.js @@ -0,0 +1,2 @@ +import './a' +import './b' diff --git a/playground/hmr-ssr/intermediate-file-delete/display.js b/playground/hmr-ssr/intermediate-file-delete/display.js new file mode 100644 index 00000000000000..3ab1936b0c9009 --- /dev/null +++ b/playground/hmr-ssr/intermediate-file-delete/display.js @@ -0,0 +1 @@ +export const displayCount = (count) => `count is ${count}` diff --git a/playground/hmr-ssr/intermediate-file-delete/index.js b/playground/hmr-ssr/intermediate-file-delete/index.js new file mode 100644 index 00000000000000..30435b7606e273 --- /dev/null +++ b/playground/hmr-ssr/intermediate-file-delete/index.js @@ -0,0 +1,21 @@ +import { displayCount } from './re-export.js' + +const incrementValue = () => + globalThis.__HMR__['.intermediate-file-delete-increment'] + +const render = () => { + globalThis.__HMR__['.intermediate-file-delete-display'] = displayCount( + Number(incrementValue()), + ) +} + +render() + +globalThis.__HMR__['.delete-intermediate-file'] = () => { + globalThis.__HMR__['.intermediate-file-delete-increment'] = `${ + Number(incrementValue()) + 1 + }` + render() +} + +if (import.meta.hot) import.meta.hot.accept() diff --git a/playground/hmr-ssr/intermediate-file-delete/re-export.js b/playground/hmr-ssr/intermediate-file-delete/re-export.js new file mode 100644 index 00000000000000..b2dade525c0675 --- /dev/null +++ b/playground/hmr-ssr/intermediate-file-delete/re-export.js @@ -0,0 +1 @@ +export * from './display.js' diff --git a/playground/hmr-ssr/invalidation/child.js b/playground/hmr-ssr/invalidation/child.js new file mode 100644 index 00000000000000..b424e2f83c3233 --- /dev/null +++ b/playground/hmr-ssr/invalidation/child.js @@ -0,0 +1,9 @@ +if (import.meta.hot) { + // Need to accept, to register a callback for HMR + import.meta.hot.accept(() => { + // Trigger HMR in importers + import.meta.hot.invalidate() + }) +} + +export const value = 'child' diff --git a/playground/hmr-ssr/invalidation/parent.js b/playground/hmr-ssr/invalidation/parent.js new file mode 100644 index 00000000000000..80f80e58348da8 --- /dev/null +++ b/playground/hmr-ssr/invalidation/parent.js @@ -0,0 +1,9 @@ +import { value } from './child' + +if (import.meta.hot) { + import.meta.hot.accept() +} + +log('(invalidation) parent is executing') + +globalThis.__HMR__['.invalidation'] = value diff --git a/playground/hmr-ssr/logo.svg b/playground/hmr-ssr/logo.svg new file mode 100644 index 00000000000000..a85344da4790b2 --- /dev/null +++ b/playground/hmr-ssr/logo.svg @@ -0,0 +1,3 @@ + + Vite + diff --git a/playground/hmr-ssr/missing-import/a.js b/playground/hmr-ssr/missing-import/a.js new file mode 100644 index 00000000000000..fff5559cec149d --- /dev/null +++ b/playground/hmr-ssr/missing-import/a.js @@ -0,0 +1,3 @@ +import 'missing-modules' + +log('missing test') diff --git a/playground/hmr-ssr/missing-import/index.js b/playground/hmr-ssr/missing-import/index.js new file mode 100644 index 00000000000000..5ad5ba12cc8619 --- /dev/null +++ b/playground/hmr-ssr/missing-import/index.js @@ -0,0 +1 @@ +import './main.js' diff --git a/playground/hmr-ssr/missing-import/main.js b/playground/hmr-ssr/missing-import/main.js new file mode 100644 index 00000000000000..999801e4dd1061 --- /dev/null +++ b/playground/hmr-ssr/missing-import/main.js @@ -0,0 +1 @@ +import './a.js' diff --git a/playground/hmr-ssr/modules.d.ts b/playground/hmr-ssr/modules.d.ts new file mode 100644 index 00000000000000..815c25568d5119 --- /dev/null +++ b/playground/hmr-ssr/modules.d.ts @@ -0,0 +1,11 @@ +declare module 'virtual:file' { + export const virtual: string +} +declare module '*?query1' { + const string: string + export default string +} +declare module '*?query2' { + const string: string + export default string +} diff --git a/playground/hmr-ssr/optional-chaining/child.js b/playground/hmr-ssr/optional-chaining/child.js new file mode 100644 index 00000000000000..766766a6260612 --- /dev/null +++ b/playground/hmr-ssr/optional-chaining/child.js @@ -0,0 +1 @@ +export const foo = 1 diff --git a/playground/hmr-ssr/optional-chaining/parent.js b/playground/hmr-ssr/optional-chaining/parent.js new file mode 100644 index 00000000000000..c4d9468bf67907 --- /dev/null +++ b/playground/hmr-ssr/optional-chaining/parent.js @@ -0,0 +1,8 @@ +// eslint-disable-next-line @typescript-eslint/ban-ts-comment +// @ts-ignore +import { foo } from './child' + +import.meta.hot?.accept('./child', ({ foo }) => { + log('(optional-chaining) child update') + globalThis.__HMR__['.optional-chaining'] = foo +}) diff --git a/playground/hmr-ssr/package.json b/playground/hmr-ssr/package.json new file mode 100644 index 00000000000000..52a5646e2da7a4 --- /dev/null +++ b/playground/hmr-ssr/package.json @@ -0,0 +1,12 @@ +{ + "name": "@vitejs/test-hmr-ssr", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "debug": "node --inspect-brk ../../packages/vite/bin/vite", + "preview": "vite preview" + } +} diff --git a/playground/hmr-ssr/queries/index.js b/playground/hmr-ssr/queries/index.js new file mode 100644 index 00000000000000..113eb1a079af40 --- /dev/null +++ b/playground/hmr-ssr/queries/index.js @@ -0,0 +1,9 @@ +import query1 from './multi-query?query1' +import query2 from './multi-query?query2' + +hmr('query1', query1) +hmr('query2', query2) + +function hmr(key, value) { + globalThis.__HMR__[key] = String(value) +} diff --git a/playground/hmr-ssr/queries/multi-query.js b/playground/hmr-ssr/queries/multi-query.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/playground/hmr-ssr/self-accept-within-circular/a.js b/playground/hmr-ssr/self-accept-within-circular/a.js new file mode 100644 index 00000000000000..a559b739d9f253 --- /dev/null +++ b/playground/hmr-ssr/self-accept-within-circular/a.js @@ -0,0 +1,5 @@ +import { b } from './b' + +export const a = { + b, +} diff --git a/playground/hmr-ssr/self-accept-within-circular/b.js b/playground/hmr-ssr/self-accept-within-circular/b.js new file mode 100644 index 00000000000000..4f5a135418728c --- /dev/null +++ b/playground/hmr-ssr/self-accept-within-circular/b.js @@ -0,0 +1,7 @@ +import { c } from './c' + +const b = { + c, +} + +export { b } diff --git a/playground/hmr-ssr/self-accept-within-circular/c.js b/playground/hmr-ssr/self-accept-within-circular/c.js new file mode 100644 index 00000000000000..47b6d494969917 --- /dev/null +++ b/playground/hmr-ssr/self-accept-within-circular/c.js @@ -0,0 +1,12 @@ +import './b' + +export const c = 'c' + +function render(content) { + globalThis.__HMR__['.self-accept-within-circular'] = content +} +render(c) + +import.meta.hot?.accept((nextExports) => { + render(nextExports.c) +}) diff --git a/playground/hmr-ssr/self-accept-within-circular/index.js b/playground/hmr-ssr/self-accept-within-circular/index.js new file mode 100644 index 00000000000000..d826a1226a5e66 --- /dev/null +++ b/playground/hmr-ssr/self-accept-within-circular/index.js @@ -0,0 +1,3 @@ +import { a } from './a' + +log(a) diff --git a/playground/hmr-ssr/soft-invalidation/child.js b/playground/hmr-ssr/soft-invalidation/child.js new file mode 100644 index 00000000000000..21ec276fc7f825 --- /dev/null +++ b/playground/hmr-ssr/soft-invalidation/child.js @@ -0,0 +1 @@ +export const foo = 'bar' diff --git a/playground/hmr-ssr/soft-invalidation/index.js b/playground/hmr-ssr/soft-invalidation/index.js new file mode 100644 index 00000000000000..f236a2579b0c24 --- /dev/null +++ b/playground/hmr-ssr/soft-invalidation/index.js @@ -0,0 +1,4 @@ +import { foo } from './child' + +// @ts-expect-error global +export const msg = `soft-invalidation/index.js is transformed ${__TRANSFORM_COUNT__} times. child is ${foo}` diff --git a/playground/hmr-ssr/vite.config.ts b/playground/hmr-ssr/vite.config.ts new file mode 100644 index 00000000000000..5b4a7c17fe27cb --- /dev/null +++ b/playground/hmr-ssr/vite.config.ts @@ -0,0 +1,84 @@ +import { defineConfig } from 'vite' +import type { Plugin } from 'vite' + +export default defineConfig({ + experimental: { + hmrPartialAccept: true, + }, + plugins: [ + { + name: 'mock-custom', + async handleHotUpdate({ file, read, server }) { + if (file.endsWith('customFile.js')) { + const content = await read() + const msg = content.match(/export const msg = '(\w+)'/)[1] + server.hot.send('custom:foo', { msg }) + server.hot.send('custom:remove', { msg }) + } + }, + configureServer(server) { + server.hot.on('custom:remote-add', ({ a, b }, client) => { + client.send('custom:remote-add-result', { result: a + b }) + }) + }, + }, + virtualPlugin(), + transformCountPlugin(), + queryPlugin(), + ], +}) + +function virtualPlugin(): Plugin { + let num = 0 + return { + name: 'virtual-file', + resolveId(id, importer) { + if (id === 'virtual:file' || id === '\0virtual:file') { + return '\0virtual:file' + } + }, + load(id) { + if (id === '\0virtual:file') { + return `\ +import { virtual as _virtual } from "/importedVirtual.js"; +export const virtual = _virtual + '${num}';` + } + }, + configureServer(server) { + server.hot.on('virtual:increment', async () => { + const mod = await server.moduleGraph.getModuleByUrl('\0virtual:file') + if (mod) { + num++ + server.reloadModule(mod) + } + }) + }, + } +} + +function queryPlugin(): Plugin { + return { + name: 'query-resolver', + transform(code, id) { + if (id.includes('?query1')) { + return `export default ${JSON.stringify(code + 'query1')}` + } + + if (id.includes('?query2')) { + return `export default ${JSON.stringify(code + 'query2')}` + } + }, + } +} + +function transformCountPlugin(): Plugin { + let num = 0 + return { + name: 'transform-count', + transform(code) { + if (code.includes('__TRANSFORM_COUNT__')) { + return code.replace('__TRANSFORM_COUNT__', String(++num)) + } + }, + } +} diff --git a/playground/ssr-html/__tests__/ssr-html.spec.ts b/playground/ssr-html/__tests__/ssr-html.spec.ts index 80fd5726d31411..fa9d12c7f6da41 100644 --- a/playground/ssr-html/__tests__/ssr-html.spec.ts +++ b/playground/ssr-html/__tests__/ssr-html.spec.ts @@ -100,12 +100,28 @@ describe.runIf(isServe)('stacktrace', () => { } }) -test.runIf(isServe)('network-imports', async () => { - await execFileAsync( - 'node', - ['--experimental-network-imports', 'test-network-imports.js'], - { - cwd: fileURLToPath(new URL('..', import.meta.url)), - }, - ) +describe.runIf(isServe)('network-imports', () => { + test('with Vite SSR', async () => { + await execFileAsync( + 'node', + ['--experimental-network-imports', 'test-network-imports.js'], + { + cwd: fileURLToPath(new URL('..', import.meta.url)), + }, + ) + }) + + test('with Vite runtime', async () => { + await execFileAsync( + 'node', + [ + '--experimental-network-imports', + 'test-network-imports.js', + '--runtime', + ], + { + cwd: fileURLToPath(new URL('..', import.meta.url)), + }, + ) + }) }) diff --git a/playground/ssr-html/test-network-imports.js b/playground/ssr-html/test-network-imports.js index ddb80eff7f8ca7..91f84f6a3b3ea3 100644 --- a/playground/ssr-html/test-network-imports.js +++ b/playground/ssr-html/test-network-imports.js @@ -1,8 +1,8 @@ import assert from 'node:assert' import { fileURLToPath } from 'node:url' -import { createServer } from 'vite' +import { createServer, createViteRuntime } from 'vite' -async function runTest() { +async function runTest(useRuntime) { const server = await createServer({ configFile: false, root: fileURLToPath(new URL('.', import.meta.url)), @@ -10,9 +10,15 @@ async function runTest() { middlewareMode: true, }, }) - const mod = await server.ssrLoadModule('/src/network-imports.js') + let mod + if (useRuntime) { + const runtime = await createViteRuntime(server, { hmr: false }) + mod = await runtime.executeUrl('/src/network-imports.js') + } else { + mod = await server.ssrLoadModule('/src/network-imports.js') + } assert.equal(mod.slash('foo\\bar'), 'foo/bar') await server.close() } -runTest() +runTest(process.argv.includes('--runtime')) diff --git a/playground/test-utils.ts b/playground/test-utils.ts index 85f52a450f11ff..92123f08900896 100644 --- a/playground/test-utils.ts +++ b/playground/test-utils.ts @@ -32,6 +32,7 @@ export const ports = { ssr: 9600, 'ssr-deps': 9601, 'ssr-html': 9602, + 'ssr-hmr': 9609, // not imported but used in `ssr-hmr/vite.config.js` 'ssr-noexternal': 9603, 'ssr-pug': 9604, 'ssr-webworker': 9605, diff --git a/playground/vitestSetup.ts b/playground/vitestSetup.ts index cb4ab8f125a9df..ff2303dc498569 100644 --- a/playground/vitestSetup.ts +++ b/playground/vitestSetup.ts @@ -82,7 +82,11 @@ export function setViteUrl(url: string): void { beforeAll(async (s) => { const suite = s as File // skip browser setup for non-playground tests - if (!suite.filepath.includes('playground')) { + // TODO: ssr playground? + if ( + !suite.filepath.includes('playground') || + suite.filepath.includes('hmr-ssr') + ) { return } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1ce74d1543bcd6..a7150128fce65f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -444,6 +444,22 @@ importers: packages/vite/src/node/ssr/__tests__/fixtures/cjs-ssr-dep: {} + packages/vite/src/node/ssr/runtime/__tests__: + dependencies: + '@vitejs/cjs-external': + specifier: link:./fixtures/cjs-external + version: link:fixtures/cjs-external + '@vitejs/esm-external': + specifier: link:./fixtures/esm-external + version: link:fixtures/esm-external + tinyspy: + specifier: 2.2.0 + version: 2.2.0 + + packages/vite/src/node/ssr/runtime/__tests__/fixtures/cjs-external: {} + + packages/vite/src/node/ssr/runtime/__tests__/fixtures/esm-external: {} + playground: devDependencies: convert-source-map: @@ -714,6 +730,8 @@ importers: playground/hmr: {} + playground/hmr-ssr: {} + playground/html: {} playground/html/side-effects: {} @@ -8998,7 +9016,6 @@ packages: /tinyspy@2.2.0: resolution: {integrity: sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==} engines: {node: '>=14.0.0'} - dev: true /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} From 9f4b99650dac61f494c8d506a82f54434eba984c Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 1 Feb 2024 13:03:28 +0100 Subject: [PATCH 292/656] release: v5.1.0-beta.6 --- packages/vite/CHANGELOG.md | 8 ++++++++ packages/vite/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 0f63506cfa7486..003d9f161a502e 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,11 @@ +## 5.1.0-beta.6 (2024-02-01) + +* feat: experimental Vite Runtime API (#12165) ([8b3ab07](https://github.com/vitejs/vite/commit/8b3ab07)), closes [#12165](https://github.com/vitejs/vite/issues/12165) +* fix: add ref() and unref() to chokidar.d.ts for typescript build to work (#15706) ([6b45037](https://github.com/vitejs/vite/commit/6b45037)), closes [#15706](https://github.com/vitejs/vite/issues/15706) +* perf: simplify explicit import mark in import analysis (#15724) ([2805b2d](https://github.com/vitejs/vite/commit/2805b2d)), closes [#15724](https://github.com/vitejs/vite/issues/15724) + + + ## 5.1.0-beta.5 (2024-01-27) * fix: do not init optimizer during build (#15727) ([a08f646](https://github.com/vitejs/vite/commit/a08f646)), closes [#15727](https://github.com/vitejs/vite/issues/15727) diff --git a/packages/vite/package.json b/packages/vite/package.json index 95630a9766b103..c59592968b6127 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.0-beta.5", + "version": "5.1.0-beta.6", "type": "module", "license": "MIT", "author": "Evan You", From 775bb5026ee1d7e15b75c8829e7f528c1b26c493 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 1 Feb 2024 13:33:28 +0100 Subject: [PATCH 293/656] chore: release notes (#15777) --- packages/vite/CHANGELOG.md | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 003d9f161a502e..7185a50dcca3d2 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,5 +1,44 @@ ## 5.1.0-beta.6 (2024-02-01) +### Vite Runtime API + +Vite 5.1 adds experimental support for a new Vite Runtime API. It allows running any code by processing it with Vite plugins first. It is different from `server.ssrLoadModule` because the runtime implementation is decoupled from the server. This lets library and framework authors to implement their own layer of communication between the server and the runtime. This new API is intendeed to replace Vite's current SSR primitives once it is stable. Apart from this flexibility, Vite will finally support HMR for SSR. Read more in the [Vite Runtime API guide](https://main.vitejs.dev/guide/api-vite-runtime) and [give us feedback](https://github.com/vitejs/vite/discussions/15774). + +* feat: experimental Vite Runtime API (#12165) ([8b3ab07](https://github.com/vitejs/vite/commit/8b3ab07)), closes [#12165](https://github.com/vitejs/vite/issues/12165) + +### Unlocking downstream projects + +Vite 5.1 will add support for `.css?url`, that was the last remain hurdle in Remix move to Vite. + +* fix(css): `.css?url` support (#15259) ([ed56d96](https://github.com/vitejs/vite/commit/ed56d96)), closes [#15259](https://github.com/vitejs/vite/issues/15259) + +### Vite performance improvements + +Vite keeps getting faster on each release, and Vite 5.1 is packed with performance improvements. Vite now has opt-in support for running CSS preprocessors in threads. For a Vuetify 2 project, dev startup time was reduced by 40%. + +* perf: use thread for preprocessors (#13584) ([acd795f](https://github.com/vitejs/vite/commit/acd795f)), closes [#13584](https://github.com/vitejs/vite/issues/13584) + +There are also new tools to speed up dev server cold start. You can set `optimizeDeps.holdUntilCrawlEnd: false` to switch to a new strategy for deps optimization that may help in big projects. We're considering switching to this strategy by default in the future. + +* feat(optimizer): holdUntilCrawlEnd option (#15244) ([b7c6629](https://github.com/vitejs/vite/commit/b7c6629)), closes [#15244](https://github.com/vitejs/vite/issues/15244) + +The dev server had several perf gains in general too: + +* perf: middleware to short-circuit on 304 (#15586) ([35ae4f8](https://github.com/vitejs/vite/commit/35ae4f8)), closes [#15586](https://github.com/vitejs/vite/issues/15586) +* perf: avoid parseRequest (#15617) ([0cacfad](https://github.com/vitejs/vite/commit/0cacfad)), closes [#15617](https://github.com/vitejs/vite/issues/15617) +* feat(hmr): reload for circular imports only if error (#15118) ([6ace32b](https://github.com/vitejs/vite/commit/6ace32b)), closes [#15118](https://github.com/vitejs/vite/issues/15118) +* feat: enable fs.cachedChecks by default (#15704) ([a05c709](https://github.com/vitejs/vite/commit/a05c709)), closes [#15704](https://github.com/vitejs/vite/issues/15704) + +### Deprecations + +We continue to reduce Vite's API surface were possible to make the project manintainable long term. + +* feat(glob-import): deprecate as option (#14420) ([953e697](https://github.com/vitejs/vite/commit/953e697)), closes [#14420](https://github.com/vitejs/vite/issues/14420) +* refactor: remove build time pre-bundling (#15184) ([757844f](https://github.com/vitejs/vite/commit/757844f)), closes [#15184](https://github.com/vitejs/vite/issues/15184) + + +### Commits in beta.6 + * feat: experimental Vite Runtime API (#12165) ([8b3ab07](https://github.com/vitejs/vite/commit/8b3ab07)), closes [#12165](https://github.com/vitejs/vite/issues/12165) * fix: add ref() and unref() to chokidar.d.ts for typescript build to work (#15706) ([6b45037](https://github.com/vitejs/vite/commit/6b45037)), closes [#15706](https://github.com/vitejs/vite/issues/15706) * perf: simplify explicit import mark in import analysis (#15724) ([2805b2d](https://github.com/vitejs/vite/commit/2805b2d)), closes [#15724](https://github.com/vitejs/vite/issues/15724) From 37382d1f5764a4ccb9aaae8bf9e499e037d210fb Mon Sep 17 00:00:00 2001 From: HHX <57352881+houhongxu@users.noreply.github.com> Date: Tue, 6 Feb 2024 16:03:46 +0800 Subject: [PATCH 294/656] docs(api-javascript): update transformIndexHtml types (#15806) Co-authored-by: bluwy --- docs/guide/api-javascript.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/docs/guide/api-javascript.md b/docs/guide/api-javascript.md index 823552e6f0343c..33ff9a194343dc 100644 --- a/docs/guide/api-javascript.md +++ b/docs/guide/api-javascript.md @@ -144,7 +144,11 @@ interface ViteDevServer { /** * Apply Vite built-in HTML transforms and any plugin HTML transforms. */ - transformIndexHtml(url: string, html: string): Promise + transformIndexHtml( + url: string, + html: string, + originalUrl?: string, + ): Promise /** * Load a given URL as an instantiated module for SSR. */ From 5fbeba315699b06928df49a5920c0552a9ef0317 Mon Sep 17 00:00:00 2001 From: Senao <48955231+XiSenao@users.noreply.github.com> Date: Tue, 6 Feb 2024 16:45:14 +0800 Subject: [PATCH 295/656] fix: judge next dirent cache type (#15787) --- packages/vite/src/node/fsUtils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/fsUtils.ts b/packages/vite/src/node/fsUtils.ts index d16b7ecf13454a..125dd29e3ebabd 100644 --- a/packages/vite/src/node/fsUtils.ts +++ b/packages/vite/src/node/fsUtils.ts @@ -148,11 +148,11 @@ export function createCachedFsUtils(config: ResolvedConfig): FsUtils { return } if (nextDirentCache.type === 'directory_maybe_symlink') { - dirPath ??= pathUntilPart(root, parts, i) + dirPath ??= pathUntilPart(root, parts, i + 1) const isSymlink = fs .lstatSync(dirPath, { throwIfNoEntry: false }) ?.isSymbolicLink() - direntCache.type = isSymlink ? 'symlink' : 'directory' + nextDirentCache.type = isSymlink ? 'symlink' : 'directory' } direntCache = nextDirentCache } else if (direntCache.type === 'symlink') { From 78d838a23bae44bd1b657c39e0989a8cf5d5fcf0 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 6 Feb 2024 21:56:57 +0800 Subject: [PATCH 296/656] perf: use transform cache by resolved id (#15785) Co-authored-by: Anthony Fu --- .../vite/src/node/server/transformRequest.ts | 73 ++++++++++++++----- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index 06133fadcd28ae..54028fe3dffa95 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -131,31 +131,23 @@ async function doTransform( url = removeTimestampQuery(url) const { config, pluginContainer } = server - const prettyUrl = debugCache ? prettifyUrl(url, config.root) : '' const ssr = !!options.ssr if (ssr && isDepsOptimizerEnabled(config, true)) { await initDevSsrDepsOptimizer(config, server) } - const module = await server.moduleGraph.getModuleByUrl(url, ssr) - - // tries to handle soft invalidation of the module if available, - // returns a boolean true is successful, or false if no handling is needed - const softInvalidatedTransformResult = - module && - (await handleModuleSoftInvalidation(module, ssr, timestamp, server)) - if (softInvalidatedTransformResult) { - debugCache?.(`[memory-hmr] ${prettyUrl}`) - return softInvalidatedTransformResult - } - - // check if we have a fresh cache - const cached = - module && (ssr ? module.ssrTransformResult : module.transformResult) - if (cached) { - debugCache?.(`[memory] ${prettyUrl}`) - return cached + let module = await server.moduleGraph.getModuleByUrl(url, ssr) + if (module) { + // try use cache from url + const cached = await getCachedTransformResult( + url, + module, + server, + ssr, + timestamp, + ) + if (cached) return cached } const resolved = module @@ -165,6 +157,21 @@ async function doTransform( // resolve const id = module?.id ?? resolved?.id ?? url + module ??= server.moduleGraph.getModuleById(id) + if (module) { + // if a different url maps to an existing loaded id, make sure we relate this url to the id + await server.moduleGraph._ensureEntryFromUrl(url, ssr, undefined, resolved) + // try use cache from id + const cached = await getCachedTransformResult( + url, + module, + server, + ssr, + timestamp, + ) + if (cached) return cached + } + const result = loadAndTransform( id, url, @@ -180,6 +187,34 @@ async function doTransform( return result } +async function getCachedTransformResult( + url: string, + module: ModuleNode, + server: ViteDevServer, + ssr: boolean, + timestamp: number, +) { + const prettyUrl = debugCache ? prettifyUrl(url, server.config.root) : '' + + // tries to handle soft invalidation of the module if available, + // returns a boolean true is successful, or false if no handling is needed + const softInvalidatedTransformResult = + module && + (await handleModuleSoftInvalidation(module, ssr, timestamp, server)) + if (softInvalidatedTransformResult) { + debugCache?.(`[memory-hmr] ${prettyUrl}`) + return softInvalidatedTransformResult + } + + // check if we have a fresh cache + const cached = + module && (ssr ? module.ssrTransformResult : module.transformResult) + if (cached) { + debugCache?.(`[memory] ${prettyUrl}`) + return cached + } +} + async function loadAndTransform( id: string, url: string, From c3e83bb078e84a8a2d377455801b2a689557763e Mon Sep 17 00:00:00 2001 From: Jinjiang Date: Wed, 7 Feb 2024 01:32:48 +0800 Subject: [PATCH 297/656] fix: scan entries when the root is in node_modules (#15746) --- packages/vite/src/node/optimizer/scan.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index b28c13167e5fb6..53f30b36627e6c 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -239,15 +239,16 @@ function orderedDependencies(deps: Record) { } function globEntries(pattern: string | string[], config: ResolvedConfig) { + const rootPattern = glob.convertPathToPattern(config.root) return glob(pattern, { cwd: config.root, ignore: [ - '**/node_modules/**', - `**/${config.build.outDir}/**`, + `${rootPattern}/**/node_modules/**`, + `${rootPattern}/**/${config.build.outDir}/**`, // if there aren't explicit entries, also ignore other common folders ...(config.optimizeDeps.entries ? [] - : [`**/__tests__/**`, `**/coverage/**`]), + : [`${rootPattern}/**/__tests__/**`, `${rootPattern}/**/coverage/**`]), ], absolute: true, suppressErrors: true, // suppress EACCES errors From 3ee4e7b083a17703cc9b1478146d8510f3729849 Mon Sep 17 00:00:00 2001 From: gacek1123 <78506637+gacek1123@users.noreply.github.com> Date: Wed, 7 Feb 2024 08:34:21 +0100 Subject: [PATCH 298/656] docs: fix typos in CHANGELOG (#15825) --- packages/vite/CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 7185a50dcca3d2..ed56995e538f13 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -2,7 +2,7 @@ ### Vite Runtime API -Vite 5.1 adds experimental support for a new Vite Runtime API. It allows running any code by processing it with Vite plugins first. It is different from `server.ssrLoadModule` because the runtime implementation is decoupled from the server. This lets library and framework authors to implement their own layer of communication between the server and the runtime. This new API is intendeed to replace Vite's current SSR primitives once it is stable. Apart from this flexibility, Vite will finally support HMR for SSR. Read more in the [Vite Runtime API guide](https://main.vitejs.dev/guide/api-vite-runtime) and [give us feedback](https://github.com/vitejs/vite/discussions/15774). +Vite 5.1 adds experimental support for a new Vite Runtime API. It allows running any code by processing it with Vite plugins first. It is different from `server.ssrLoadModule` because the runtime implementation is decoupled from the server. This lets library and framework authors to implement their own layer of communication between the server and the runtime. This new API is intended to replace Vite's current SSR primitives once it is stable. Apart from this flexibility, Vite will finally support HMR for SSR. Read more in the [Vite Runtime API guide](https://main.vitejs.dev/guide/api-vite-runtime) and [give us feedback](https://github.com/vitejs/vite/discussions/15774). * feat: experimental Vite Runtime API (#12165) ([8b3ab07](https://github.com/vitejs/vite/commit/8b3ab07)), closes [#12165](https://github.com/vitejs/vite/issues/12165) @@ -31,7 +31,7 @@ The dev server had several perf gains in general too: ### Deprecations -We continue to reduce Vite's API surface were possible to make the project manintainable long term. +We continue to reduce Vite's API surface where possible to make the project maintainable long term. * feat(glob-import): deprecate as option (#14420) ([953e697](https://github.com/vitejs/vite/commit/953e697)), closes [#14420](https://github.com/vitejs/vite/issues/14420) * refactor: remove build time pre-bundling (#15184) ([757844f](https://github.com/vitejs/vite/commit/757844f)), closes [#15184](https://github.com/vitejs/vite/issues/15184) From 1c0dc3db2c8f19b5a8411a159765667800acae13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pontus=20=C3=96stlund?= <92401+poppa@users.noreply.github.com> Date: Wed, 7 Feb 2024 10:56:36 +0100 Subject: [PATCH 299/656] fix(config): improved warning when root path includes bad characters (#15761) Co-authored-by: bluwy --- .github/workflows/ci.yml | 2 +- .../vite/src/node/__tests__/config.spec.ts | 15 ++++++- packages/vite/src/node/config.ts | 41 ++++++++++++++----- 3 files changed, 46 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a8842ff033f3e0..b25e78b3de0f75 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -93,7 +93,7 @@ jobs: if: runner.os == 'Windows' && steps.changed-files.outputs.only_changed != 'true' run: | echo "PLAYWRIGHT_BROWSERS_PATH=$HOME\.cache\playwright-bin" >> $env:GITHUB_ENV - $env:PLAYWRIGHT_VERSION="$(pnpm ls --depth 0 --json -w playwright-chromium | jq --raw-output '.[0].devDependencies[\"playwright-chromium\"].version')" + $env:PLAYWRIGHT_VERSION="$(pnpm ls --depth 0 --json -w playwright-chromium | jq --raw-output '.[0].devDependencies["playwright-chromium"].version')" echo "PLAYWRIGHT_VERSION=$env:PLAYWRIGHT_VERSION" >> $env:GITHUB_ENV - name: Cache Playwright's binary diff --git a/packages/vite/src/node/__tests__/config.spec.ts b/packages/vite/src/node/__tests__/config.spec.ts index 3d5728f86cea4f..933f92995298a7 100644 --- a/packages/vite/src/node/__tests__/config.spec.ts +++ b/packages/vite/src/node/__tests__/config.spec.ts @@ -3,7 +3,7 @@ import type { InlineConfig } from '..' import type { PluginOption, UserConfig, UserConfigExport } from '../config' import { defineConfig, resolveConfig } from '../config' import { resolveEnvPrefix } from '../env' -import { mergeConfig } from '../publicUtils' +import { createLogger, mergeConfig } from '../publicUtils' describe('mergeConfig', () => { test('handles configs with different alias schemas', () => { @@ -332,4 +332,17 @@ describe('resolveConfig', () => { expect(results1.clearScreen).toBe(false) expect(results2.clearScreen).toBe(false) }) + + test('resolveConfig with root path including "#" and "?" should warn ', async () => { + expect.assertions(1) + + const logger = createLogger('info') + logger.warn = (str) => { + expect(str).to.include( + 'Consider renaming the directory to remove the characters', + ) + } + + await resolveConfig({ root: './inc?ud#s', customLogger: logger }, 'build') + }) }) diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index e910708eb7517a..882129c3893d53 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -398,6 +398,34 @@ export type ResolveFn = ( ssr?: boolean, ) => Promise +/** + * Check and warn if `path` includes characters that don't work well in Vite, + * such as `#` and `?`. + */ +function checkBadCharactersInPath(path: string, logger: Logger): void { + const badChars = [] + + if (path.includes('#')) { + badChars.push('#') + } + if (path.includes('?')) { + badChars.push('?') + } + + if (badChars.length > 0) { + const charString = badChars.map((c) => `"${c}"`).join(' and ') + const inflectedChars = badChars.length > 1 ? 'characters' : 'character' + + logger.warn( + colors.yellow( + `The project root contains the ${charString} ${inflectedChars} (${colors.cyan( + path, + )}), which may not work when running Vite. Consider renaming the directory to remove the characters.`, + ), + ) + } +} + export async function resolveConfig( inlineConfig: InlineConfig, command: 'build' | 'serve', @@ -477,15 +505,8 @@ export async function resolveConfig( const resolvedRoot = normalizePath( config.root ? path.resolve(config.root) : process.cwd(), ) - if (resolvedRoot.includes('#')) { - logger.warn( - colors.yellow( - `The project root contains the "#" character (${colors.cyan( - resolvedRoot, - )}), which may not work when running Vite. Consider renaming the directory to remove the "#".`, - ), - ) - } + + checkBadCharactersInPath(resolvedRoot, logger) const clientAlias = [ { @@ -1258,7 +1279,7 @@ function optimizeDepsDisabledBackwardCompatibility( } resolved.logger.warn( colors.yellow(`(!) Experimental ${optimizeDepsPath}optimizeDeps.disabled and deps pre-bundling during build were removed in Vite 5.1. - To disable the deps optimizer, set ${optimizeDepsPath}optimizeDeps.noDiscovery to true and ${optimizeDepsPath}optimizeDeps.include as undefined or empty. + To disable the deps optimizer, set ${optimizeDepsPath}optimizeDeps.noDiscovery to true and ${optimizeDepsPath}optimizeDeps.include as undefined or empty. Please remove ${optimizeDepsPath}optimizeDeps.disabled from your config. ${ commonjsPluginDisabled From 9070be36eb8dcbf027d44844addbe0a1ca2c492b Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Wed, 7 Feb 2024 14:26:00 +0100 Subject: [PATCH 300/656] fix: disable fs.cachedChecks for custom watch ignore patterns (#15828) --- packages/vite/src/node/fsUtils.ts | 10 +++++++--- packages/vite/src/node/server/index.ts | 6 +++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/node/fsUtils.ts b/packages/vite/src/node/fsUtils.ts index 125dd29e3ebabd..5b4ea371af48ec 100644 --- a/packages/vite/src/node/fsUtils.ts +++ b/packages/vite/src/node/fsUtils.ts @@ -45,9 +45,13 @@ const cachedFsUtilsMap = new WeakMap() export function getFsUtils(config: ResolvedConfig): FsUtils { let fsUtils = cachedFsUtilsMap.get(config) if (!fsUtils) { - if (config.command !== 'serve' || !config.server.fs.cachedChecks) { - // cached fsUtils is only used in the dev server for now, and only when the watcher isn't configured - // we can support custom ignored patterns later + if ( + config.command !== 'serve' || + config.server.fs.cachedChecks === false || + config.server.watch?.ignored + ) { + // cached fsUtils is only used in the dev server for now + // it is enabled by default only when there aren't custom watcher ignored patterns configured fsUtils = commonFsUtils } else if ( !config.resolve.preserveSymlinks && diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index dd13255ad431f0..156244bbc3fd94 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -194,10 +194,10 @@ export interface FileSystemServeOptions { deny?: string[] /** - * Enable caching of fs calls. + * Enable caching of fs calls. It is enabled by default if no custom watch ignored patterns are provided. * * @experimental - * @default true + * @default undefined */ cachedChecks?: boolean } @@ -1002,7 +1002,7 @@ export function resolveServerOptions( strict: server.fs?.strict ?? true, allow: allowDirs, deny, - cachedChecks: server.fs?.cachedChecks ?? true, + cachedChecks: server.fs?.cachedChecks, } if (server.origin?.endsWith('/')) { From 0f9c72a886780689a9f96bc010154524d8c4337a Mon Sep 17 00:00:00 2001 From: patak Date: Wed, 7 Feb 2024 14:40:35 +0100 Subject: [PATCH 301/656] release: v5.1.0-beta.7 --- packages/vite/CHANGELOG.md | 12 ++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index ed56995e538f13..4371796662d03c 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,15 @@ +## 5.1.0-beta.7 (2024-02-07) + +* fix: disable fs.cachedChecks for custom watch ignore patterns (#15828) ([9070be3](https://github.com/vitejs/vite/commit/9070be3)), closes [#15828](https://github.com/vitejs/vite/issues/15828) +* fix: judge next dirent cache type (#15787) ([5fbeba3](https://github.com/vitejs/vite/commit/5fbeba3)), closes [#15787](https://github.com/vitejs/vite/issues/15787) +* fix: scan entries when the root is in node_modules (#15746) ([c3e83bb](https://github.com/vitejs/vite/commit/c3e83bb)), closes [#15746](https://github.com/vitejs/vite/issues/15746) +* fix(config): improved warning when root path includes bad characters (#15761) ([1c0dc3d](https://github.com/vitejs/vite/commit/1c0dc3d)), closes [#15761](https://github.com/vitejs/vite/issues/15761) +* docs: fix typos in CHANGELOG (#15825) ([3ee4e7b](https://github.com/vitejs/vite/commit/3ee4e7b)), closes [#15825](https://github.com/vitejs/vite/issues/15825) +* perf: use transform cache by resolved id (#15785) ([78d838a](https://github.com/vitejs/vite/commit/78d838a)), closes [#15785](https://github.com/vitejs/vite/issues/15785) +* chore: release notes (#15777) ([775bb50](https://github.com/vitejs/vite/commit/775bb50)), closes [#15777](https://github.com/vitejs/vite/issues/15777) + + + ## 5.1.0-beta.6 (2024-02-01) ### Vite Runtime API diff --git a/packages/vite/package.json b/packages/vite/package.json index c59592968b6127..43721c313a338c 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.0-beta.6", + "version": "5.1.0-beta.7", "type": "module", "license": "MIT", "author": "Evan You", From 48cbd0b1a7dc405c51e5b1a4cafe37e9f5c927e5 Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 8 Feb 2024 10:23:00 +0800 Subject: [PATCH 302/656] docs: new sponsor --- docs/.vitepress/theme/composables/sponsor.ts | 7 ++++++- docs/public/transloadit.svg | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 docs/public/transloadit.svg diff --git a/docs/.vitepress/theme/composables/sponsor.ts b/docs/.vitepress/theme/composables/sponsor.ts index 4fd12e5facb1ee..f4d31760cc1e85 100644 --- a/docs/.vitepress/theme/composables/sponsor.ts +++ b/docs/.vitepress/theme/composables/sponsor.ts @@ -49,6 +49,11 @@ const viteSponsors: Pick = { url: 'https://remix.run/', img: '/remix.svg', }, + { + name: 'Transloadit', + url: 'https://transloadit.com/?utm_source=vite&utm_medium=referral&utm_campaign=sponsorship&utm_content=website', + img: '/transloadit.svg', + }, ], } @@ -84,7 +89,7 @@ function mapSponsors(sponsors: Sponsors) { { tier: 'Gold Sponsors', size: 'medium', - items: viteSponsors['gold'].concat(mapImgPath(sponsors['gold'])), + items: [...mapImgPath(sponsors['gold']), ...viteSponsors['gold']], }, ] } diff --git a/docs/public/transloadit.svg b/docs/public/transloadit.svg new file mode 100644 index 00000000000000..6033c48566d90e --- /dev/null +++ b/docs/public/transloadit.svg @@ -0,0 +1 @@ + \ No newline at end of file From 5e5ca7d1db938cfd8c770746facf52e099c62583 Mon Sep 17 00:00:00 2001 From: Phil Bates Date: Thu, 8 Feb 2024 06:20:47 +0000 Subject: [PATCH 303/656] feat(create-vite): set "strict: true" in tsconfig.node.json (#15820) --- packages/create-vite/template-preact-ts/tsconfig.node.json | 3 ++- packages/create-vite/template-qwik-ts/tsconfig.node.json | 3 ++- packages/create-vite/template-react-ts/tsconfig.node.json | 3 ++- packages/create-vite/template-solid-ts/tsconfig.node.json | 3 ++- packages/create-vite/template-svelte-ts/tsconfig.node.json | 3 ++- packages/create-vite/template-vue-ts/tsconfig.node.json | 3 ++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/create-vite/template-preact-ts/tsconfig.node.json b/packages/create-vite/template-preact-ts/tsconfig.node.json index 42872c59f5b01c..97ede7ee6f2d37 100644 --- a/packages/create-vite/template-preact-ts/tsconfig.node.json +++ b/packages/create-vite/template-preact-ts/tsconfig.node.json @@ -4,7 +4,8 @@ "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "strict": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-qwik-ts/tsconfig.node.json b/packages/create-vite/template-qwik-ts/tsconfig.node.json index 42872c59f5b01c..97ede7ee6f2d37 100644 --- a/packages/create-vite/template-qwik-ts/tsconfig.node.json +++ b/packages/create-vite/template-qwik-ts/tsconfig.node.json @@ -4,7 +4,8 @@ "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "strict": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-react-ts/tsconfig.node.json b/packages/create-vite/template-react-ts/tsconfig.node.json index 42872c59f5b01c..97ede7ee6f2d37 100644 --- a/packages/create-vite/template-react-ts/tsconfig.node.json +++ b/packages/create-vite/template-react-ts/tsconfig.node.json @@ -4,7 +4,8 @@ "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "strict": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-solid-ts/tsconfig.node.json b/packages/create-vite/template-solid-ts/tsconfig.node.json index 42872c59f5b01c..97ede7ee6f2d37 100644 --- a/packages/create-vite/template-solid-ts/tsconfig.node.json +++ b/packages/create-vite/template-solid-ts/tsconfig.node.json @@ -4,7 +4,8 @@ "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "strict": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-svelte-ts/tsconfig.node.json b/packages/create-vite/template-svelte-ts/tsconfig.node.json index 494bfe0835347c..d02c37dfe5fd60 100644 --- a/packages/create-vite/template-svelte-ts/tsconfig.node.json +++ b/packages/create-vite/template-svelte-ts/tsconfig.node.json @@ -3,7 +3,8 @@ "composite": true, "skipLibCheck": true, "module": "ESNext", - "moduleResolution": "bundler" + "moduleResolution": "bundler", + "strict": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-vue-ts/tsconfig.node.json b/packages/create-vite/template-vue-ts/tsconfig.node.json index 42872c59f5b01c..97ede7ee6f2d37 100644 --- a/packages/create-vite/template-vue-ts/tsconfig.node.json +++ b/packages/create-vite/template-vue-ts/tsconfig.node.json @@ -4,7 +4,8 @@ "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true + "allowSyntheticDefaultImports": true, + "strict": true }, "include": ["vite.config.ts"] } From 55a3427ef8ff491de913f304cb404551e33265bd Mon Sep 17 00:00:00 2001 From: Julius <45975811+nedjulius@users.noreply.github.com> Date: Thu, 8 Feb 2024 01:22:54 -0500 Subject: [PATCH 304/656] fix: pass `customLogger` to `loadConfigFromFile` (fix #15824) (#15831) --- docs/guide/api-javascript.md | 1 + packages/vite/src/node/config.ts | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/docs/guide/api-javascript.md b/docs/guide/api-javascript.md index 33ff9a194343dc..fbfba3b7d9e2c8 100644 --- a/docs/guide/api-javascript.md +++ b/docs/guide/api-javascript.md @@ -397,6 +397,7 @@ async function loadConfigFromFile( configFile?: string, configRoot: string = process.cwd(), logLevel?: LogLevel, + customLogger?: Logger, ): Promise<{ path: string config: UserConfig diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 882129c3893d53..e236c97541a3f5 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -459,6 +459,7 @@ export async function resolveConfig( configFile, config.root, config.logLevel, + config.customLogger, ) if (loadResult) { config = mergeConfig(loadResult.config, config) @@ -963,6 +964,7 @@ export async function loadConfigFromFile( configFile?: string, configRoot: string = process.cwd(), logLevel?: LogLevel, + customLogger?: Logger, ): Promise<{ path: string config: UserConfig @@ -1016,9 +1018,11 @@ export async function loadConfigFromFile( dependencies: bundled.dependencies, } } catch (e) { - createLogger(logLevel).error( + createLogger(logLevel, { customLogger }).error( colors.red(`failed to load config from ${resolvedPath}`), - { error: e }, + { + error: e, + }, ) throw e } From 1f84cae362f62cebb24d38a7e6e789ca06222f40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 8 Feb 2024 16:59:45 +0900 Subject: [PATCH 305/656] docs: add feedback discussion links for experimental features (#15836) --- docs/config/dep-optimization-options.md | 4 ++-- docs/config/shared-options.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index f1c2de63e00fbc..8e494f6f0b986c 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -35,7 +35,7 @@ export default defineConfig({ By default, linked packages not inside `node_modules` are not pre-bundled. Use this option to force a linked package to be pre-bundled. -**Experimental:** If you're using a library with many deep imports, you can also specify a trailing glob pattern to pre-bundle all deep imports at once. This will avoid constantly pre-bundling whenever a new deep import is used. For example: +**Experimental:** If you're using a library with many deep imports, you can also specify a trailing glob pattern to pre-bundle all deep imports at once. This will avoid constantly pre-bundling whenever a new deep import is used. [Give Feedback](https://github.com/vitejs/vite/discussions/15833). For example: ```js export default defineConfig({ @@ -64,7 +64,7 @@ Set to `true` to force dependency pre-bundling, ignoring previously cached optim ## optimizeDeps.holdUntilCrawlEnd -- **Experimental** +- **Experimental:** [Give Feedback](https://github.com/vitejs/vite/discussions/15834) - **Type:** `boolean` - **Default:** `true` diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index d2eae4ec2d9722..d8b81b4531f571 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -263,7 +263,7 @@ export default defineConfig({ ## css.preprocessorMaxWorkers -- **Experimental:** [Give Feedback](TODO: update) +- **Experimental:** [Give Feedback](https://github.com/vitejs/vite/discussions/15835) - **Type:** `number | true` - **Default:** `0` (does not create any workers and run in the main thread) From 1882c734b1aa3199d12988f06591b71ed5d5af27 Mon Sep 17 00:00:00 2001 From: Rael Gugelmin Cunha Date: Thu, 8 Feb 2024 06:19:38 -0300 Subject: [PATCH 306/656] feat(create-vite): allow overwrite in command line (#15808) Co-authored-by: bluwy --- packages/create-vite/__tests__/cli.spec.ts | 6 ++++++ packages/create-vite/src/index.ts | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/packages/create-vite/__tests__/cli.spec.ts b/packages/create-vite/__tests__/cli.spec.ts index 0db7338415e75a..e34d4e14f6e4cf 100644 --- a/packages/create-vite/__tests__/cli.spec.ts +++ b/packages/create-vite/__tests__/cli.spec.ts @@ -97,3 +97,9 @@ test('works with the -t alias', () => { expect(stdout).toContain(`Scaffolding project in ${genPath}`) expect(templateFiles).toEqual(generatedFiles) }) + +test('accepts command line override for --overwrite', () => { + createNonEmptyDir() + const { stdout } = run(['.', '--overwrite', 'ignore'], { cwd: genPath }) + expect(stdout).not.toContain(`Current directory is not empty.`) +}) diff --git a/packages/create-vite/src/index.ts b/packages/create-vite/src/index.ts index 06fab482ccbff2..53d2a65b1c57af 100755 --- a/packages/create-vite/src/index.ts +++ b/packages/create-vite/src/index.ts @@ -253,6 +253,10 @@ async function init() { 'projectName' | 'overwrite' | 'packageName' | 'framework' | 'variant' > + prompts.override({ + overwrite: argv.overwrite, + }) + try { result = await prompts( [ From f1a42429e1d24230a4a78cca82657e2d3602a7b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 8 Feb 2024 18:20:19 +0900 Subject: [PATCH 307/656] refactor: remove `vite build --force` (#15837) --- docs/guide/cli.md | 1 - packages/vite/src/node/cli.ts | 5 ----- 2 files changed, 6 deletions(-) diff --git a/docs/guide/cli.md b/docs/guide/cli.md index 08134c4c839a8b..bfbd6ca7de6e0c 100644 --- a/docs/guide/cli.md +++ b/docs/guide/cli.md @@ -58,7 +58,6 @@ vite build [root] | `--minify [minifier]` | Enable/disable minification, or specify minifier to use (default: `"esbuild"`) (`boolean \| "terser" \| "esbuild"`) | | `--manifest [name]` | Emit build manifest json (`boolean \| string`) | | `--ssrManifest [name]` | Emit ssr manifest json (`boolean \| string`) | -| `--force` | Force the optimizer to ignore the cache and re-bundle (experimental)(`boolean`) | | `--emptyOutDir` | Force empty outDir when it's outside of root (`boolean`) | | `-w, --watch` | Rebuilds when modules have changed on disk (`boolean`) | | `-c, --config ` | Use specified config file (`string`) | diff --git a/packages/vite/src/node/cli.ts b/packages/vite/src/node/cli.ts index 86557164e05b3d..08963f29081412 100644 --- a/packages/vite/src/node/cli.ts +++ b/packages/vite/src/node/cli.ts @@ -258,10 +258,6 @@ cli ) .option('--manifest [name]', `[boolean | string] emit build manifest json`) .option('--ssrManifest [name]', `[boolean | string] emit ssr manifest json`) - .option( - '--force', - `[boolean] force the optimizer to ignore the cache and re-bundle (experimental)`, - ) .option( '--emptyOutDir', `[boolean] force empty outDir when it's outside of root`, @@ -280,7 +276,6 @@ cli configFile: options.config, logLevel: options.logLevel, clearScreen: options.clearScreen, - optimizeDeps: { force: options.force }, build: buildOptions, }) } catch (e) { From 89d91271f99710cba9178b30c1df1487d9ad6db6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 8 Feb 2024 18:21:22 +0900 Subject: [PATCH 308/656] docs: discussions for experimental features (#15838) --- docs/releases.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/releases.md b/docs/releases.md index e33049b941bfc6..ed8d9d6d545753 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -46,4 +46,4 @@ We periodically deprecate features that have been superseded by better alternati ## Experimental Features​ -Some features are marked as experimental when released in a stable version of Vite. Experimental features allows us to gather real-world experience to influence their final design. The goal is to let users provide feedback by testing them in production. Experimental features themselves are considered unstable, and should only be used in a controlled manner. These features may change between Minors, so users must pin their Vite version when they rely on them. +Some features are marked as experimental when released in a stable version of Vite. Experimental features allows us to gather real-world experience to influence their final design. The goal is to let users provide feedback by testing them in production. Experimental features themselves are considered unstable, and should only be used in a controlled manner. These features may change between Minors, so users must pin their Vite version when they rely on them. We will create [a GitHub discussion](https://github.com/vitejs/vite/discussions/categories/feedback?discussions_q=is%3Aopen+label%3Aexperimental+category%3AFeedback) for each experimental feature. From 4b0c15cb96824c522041f7d840a74c0e35cfe527 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Thu, 8 Feb 2024 10:24:37 +0100 Subject: [PATCH 309/656] docs: announcing vite 5.1 blog post (#15817) Co-authored-by: Ghislain B. Co-authored-by: bluwy Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- docs/blog/announcing-vite5-1.md | 132 ++++++++++++++++++ docs/public/og-image-announcing-vite5-1.png | Bin 0 -> 814992 bytes .../vite5-1-10K-modules-loading-time.png | Bin 0 -> 38855 bytes 3 files changed, 132 insertions(+) create mode 100644 docs/blog/announcing-vite5-1.md create mode 100644 docs/public/og-image-announcing-vite5-1.png create mode 100644 docs/public/vite5-1-10K-modules-loading-time.png diff --git a/docs/blog/announcing-vite5-1.md b/docs/blog/announcing-vite5-1.md new file mode 100644 index 00000000000000..047269e0e5f558 --- /dev/null +++ b/docs/blog/announcing-vite5-1.md @@ -0,0 +1,132 @@ +--- +title: Vite 5.1 is out! +author: + name: The Vite Team +date: 2024-02-12 +sidebar: false +head: + - - meta + - property: og:type + content: website + - - meta + - property: og:title + content: Announcing Vite 5.1 + - - meta + - property: og:image + content: https://vitejs.dev/og-image-announcing-vite5-1.png + - - meta + - property: og:url + content: https://vitejs.dev/blog/announcing-vite5-1 + - - meta + - property: og:description + content: Vite 5.1 Release Announcement + - - meta + - name: twitter:card + content: summary_large_image +--- + +# Vite 5.1 is out! + +_February 12, 2024_ + +![Vite 5.1 Announcement Cover Image](/og-image-announcing-vite5-1.png) + +Vite 5 [was released](./announcing-vite5.md) last November, and it represented another big leap for Vite and the ecosystem. A few weeks ago we celebrated 10 million weekly npm downloads and 900 contributors to the Vite repo. Today, we're excited to announce the release of Vite 5.1. + +Quick links: [Docs](/), [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) + +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/) + +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). + +If you're new to Vite, we suggest reading first the [Getting Started](/guide/) and [Features](/guide/features) guides. + +To stay up to date, follow us on [X](https://x.com/vite_js) or [Mastodon](https://webtoo.ls/@vite). + +## Vite Runtime API + +Vite 5.1 adds experimental support for a new Vite Runtime API. It allows running any code by processing it with Vite plugins first. It is different from `server.ssrLoadModule` because the runtime implementation is decoupled from the server. This lets library and framework authors implement their own layer of communication between the server and the runtime. This new API is intended to replace Vite's current SSR primitives once it is stable. + +The new API brings many benefits: + +- Support for HMR during SSR. +- It is decoupled from the server, so there is no limit on how many clients can use a single server - every client has its own module cache (you can even communicate with it how you want - using message channel/fetch call/direct function call/websocket). +- It doesn't depend on any node/bun/deno built-in APIs, so it can run in any environment. +- It's easy to integrate with tools that have their own mechanism to run code (you can provide a runner to use `eval` instead of `new AsyncFunction` for example). + +The initial idea [was proposed by Pooya Parsa](https://github.com/nuxt/vite/pull/201) and implemented by [Anthony Fu](https://github.com/antfu) as the [vite-node](https://github.com/vitest-dev/vitest/tree/main/packages/vite-node#readme) package to [power Nuxt 3 Dev SSR](https://antfu.me/posts/dev-ssr-on-nuxt) and later also used as the base for [Vitest](https://vitest.dev). So the general idea of vite-node has been battle-tested for quite some time now. This is a new iteration of the API by [Vladimir Sheremet](https://github.com/sheremet-va), who had already re-implemented vite-node in Vitest and took the learnings to make the API even more powerful and flexible when adding it to Vite Core. The PR was one year in the makings, you can see the evolution and discussions with ecosystem maintainers [here](https://github.com/vitejs/vite/issues/12165). + +Read more in the [Vite Runtime API guide](/guide/api-vite-runtime) and [give us feedback](https://github.com/vitejs/vite/discussions/15774). + +## Features + +### Improved support for `.css?url` + +Import CSS files as URLs now works reliably and correctly. This was the last remaining hurdle in Remix's move to Vite. See ([#15259](https://github.com/vitejs/vite/issues/15259)). + +### `build.assetsInlineLimit` now supports a callback + +Users can now [provide a callback](/config/build-options.html#build-assetsinlinelimit) that returns a boolean to opt-in or opt-out of inlining for specific assets. If `undefined` is returned, the defalt logic applies. See ([#15366](https://github.com/vitejs/vite/issues/15366)). + +### Improved HMR for circular import + +In Vite 5.0, accepted modules within circular imports always triggered a full page reload even if they can be handled fine in the client. This is now relaxed to allow HMR to apply without a full page reload, but if any error happens during HMR, the page will be reloaded. See ([#15118](https://github.com/vitejs/vite/issues/15118)). + +### Support `ssr.external: true` to externalize all SSR packages + +Historically, Vite externalizes all packages except for linked packages. This new option can be used to force externalize all packages including linked packages too. This is handy in tests within monorepos where we want to emulate the usual case of all packages externalized, or when using `ssrLoadModule` to load an arbitrary file and we want to always external packages as we don't care about HMR. See ([#10939](https://github.com/vitejs/vite/issues/10939)). + +### Expose `close` method in the preview server + +The preview server now exposes a `close` method, which will properly teardown the server including all opened socket connections. See ([#15630](https://github.com/vitejs/vite/issues/15630)). + +## Performance improvements + +Vite keeps getting faster with each release, and Vite 5.1 is packed with performance improvements. We measured the loading time for 10K modules (25 level deep tree) using [vite-dev-server-perf](https://github.com/yyx990803/vite-dev-server-perf) for all minor versions from Vite 4.0. This is a good benchmark to meassure the effect of Vite's bundle-less approach. Each module is a small TypeScript file with a counter and imports to other files in the tree, so this mostly meassuring the time it takes to do the requests a separate modules. In Vite 4.0, loading 10K modules took 8 seconds on a M1 MAX. We had a breakthrough in [Vite 4.3 were we focused on performance](./announcing-vite4-3.md), and we were able to load them in 6.35 seconds. In Vite 5.1, we managed to do another performance leap. Vite is now serving the 10K modules in 5.35 seconds. + +![Vite 10K Modules Loading time progression](/vite5-1-10K-modules-loading-time.png) + +The results of this benchmark run on Headless Puppeteer and are a good way to compare versions. They don't represent the time as experienced by users though. When running the same 10K modules in an Incognito window is Chrome, we have: + +| 10K Modules | Vite 5.0 | Vite 5.1 | +| --------------------- | :------: | :------: | +| Loading time | 2892ms | 2765ms | +| Loading time (cached) | 2778ms | 2477ms | +| Full reload | 2003ms | 1878ms | +| Full reload (cached) | 1682ms | 1604ms | + +### Run CSS preprocessors in threads + +Vite now has opt-in support for running CSS preprocessors in threads. You can enable it using [`css.preprocessorMaxWorkers: true`](/config/shared-options.html#css-preprocessormaxworkers). For a Vuetify 2 project, dev startup time was reduced by 40% with this feature enabled. There is [performance comparison for others setups in the PR](https://github.com/vitejs/vite/pull/13584#issuecomment-1678827918). See ([#13584](https://github.com/vitejs/vite/issues/13584)). [Give Feedback](https://github.com/vitejs/vite/discussions/15835). + +### New options to improve server cold starts + +You can set `optimizeDeps.holdUntilCrawlEnd: false` to switch to a new strategy for deps optimization that may help in big projects. We're considering switching to this strategy by default in the future. [Give Feedback](https://github.com/vitejs/vite/discussions/15834). ([#15244](https://github.com/vitejs/vite/issues/15244)) + +### Faster resolving with cached checks + +The `fs.cachedChecks` optimization is now enabled by default. In Windows, `tryFsResolve` was ~14x faster with it, and resolving ids overall got a ~5x speed up in the triangle benchmark. ([#15704](https://github.com/vitejs/vite/issues/15704)) + +### Internal performance improvements + +The dev server had several incremental performance gains. A new middleware to short-circuit on 304 ([#15586](https://github.com/vitejs/vite/issues/15586)). We avoided `parseRequest` in hot paths ([#15617](https://github.com/vitejs/vite/issues/15617)). Rollup is now properly lazy loaded ([#15621](https://github.com/vitejs/vite/issues/15621)) + +## Deprecations + +We continue to reduce Vite's API surface where possible to make the project manintainable long term. + +### Deprecated `as` option in `import.meta.glob` + +The standard moved to [Import Attributes](https://github.com/tc39/proposal-import-attributes), but we don't plan to replace `as` with a new option at this point. Instead, it is recommended that the user switches to `query`. See ([#14420](https://github.com/vitejs/vite/issues/14420)). + +### Removed experimental build-time pre-bundling + +Build-time pre-bundling, an experimental feature added in Vite 3, is removed. With Rollup 4 switching its parser to native, and Rolldown being worked on, both the performance and the dev-vs-build inconsistency story for this feature are no longer valid. We want to continue improving dev/build consistency, and have concluded that using Rolldown for "prebundling during dev" and "production builds" is the better bet moving forward. Rolldown may also implement caching in a way that is a lot more efficient during build than deps prebundling. See ([#15184](https://github.com/vitejs/vite/issues/15184)). + +## 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). + +## Acknowledgments + +Vite 5.1 is possible thanks to our community of contributors, maintainers in the ecosystem, and the [Vite Team](/team). A shoutout the individuals and companies sponsoring Vite development. [StackBlitz](https://stackblitz.com/), [Nuxt Labs](https://nuxtlabs.com/), and [Astro](https://astro.build) for hiring Vite team members. And also to the sponsors on [Vite's GitHub Sponsors](https://github.com/sponsors/vitejs), [Vite's Open Collective](https://opencollective.com/vite), and [Evan You's GitHub Sponsors](https://github.com/sponsors/yyx990803). diff --git a/docs/public/og-image-announcing-vite5-1.png b/docs/public/og-image-announcing-vite5-1.png new file mode 100644 index 0000000000000000000000000000000000000000..cebfc993994a50fd25e47fad9bd901dead3b3674 GIT binary patch literal 814992 zcmV(*K;FNJP)BQaMcG+QYkO}0Y+ zIxA=`Fkd7oQ6(KmexLsrE=Gow|D1OJ|I8#(FoP*ASSKq~|HB;`F-tZhTqZbQF)&>< zHEAOuN-`o>|J5xrGG($)|5Y@JE+JAIHcv`CgdG_=A3t0`Hg=DQ|28;nVK$c`8$miT zZCo^v96MEHI-FrJlrc|wDLZ5#L}E}piC8U%FJFcuNogD^MoMX=Lu#K!Jb*4sb)8)Q zKqY7@R(dKmUr}hOEkbQMI&p`2{v}RtE;nRGHF`iXagJ~PJ5GcDx)VD+c9mxSD?VsR zCv-J5TwY(UK|+9RGooiap-we}J0oIeL8UoLeJE0OR6LGDI(#)&gIq6-bgBQPQvXgV zdOvWZC_`yAKX6kjfhIp=I$)1!MX4)CZ%Q_QJVSe9SFdPHtpD6II9!XCfB!cqVK-}+ zKR$b9r2jl*l~-l1Hd==^MRz?laXx68F*|8GGht#wpR7s$UO}5bS&utZh-Xo*AvsxH zJeOBOltEpUGGmM{Msi|HrdqQ9URtU^Q;alckwhnMHBo#jLrjPtG*c{Ffp#~pXfc~YW0`bAv|Li6|E>o~M2J#dqeoDX zTUBLVN}oG!o_aa6euV#5OPY3$|9L{VR&lpQa;ZsTpIvOaP(zJoUbtdqx^6?QPr(0p zKD19tlSDRXY(1z;a;{KvvuIYday_m)K3_#cTTo44Qapq(GEPfAY&$trJWXt8Tcc)C zcT{qqKU#fPNpAn)Mtw}8Q(|vVYJo{uY5(I|dtSGrLFbJ_(2HZ^bA;ksZIEzpvUgw2 zT9w}Nr#t7xRz;1*&9`&jlWn(X&!Uma$bF){qnmw;h@_-?hPCXN00;m7Nkl?p5lgf` zf_{eWcD>u}K3rYh!S3%r-QQo~m-HDp9QMG|(__2dZ4~S8px^dC4tdXC4*V8x9`4p{ zi}G2>hV}yJ9LtC4H1KS?IGW#p!SRecf8Sqom%;U)jDJh;zH)n27{@iw$LpY(4BVBq z$Q4?)L@sMy$XZT?k#Gd}+cDS55VwwFRI(%|B~Tum!p(6iP)JpuULLpL#GF}Tp1O?8 zZx@jLtTY5CAC$-+LylmiBAzgVYPKWVl(6|IA*356>l1{;)xx?4{g_7NCNX+=&VXhfN6c+qmQ|?`jI31h1UN7?0@BKMDq5h!{h- z1)HNfjbwDwdJ2ewETRI6CgsQdVgF7AFFLRTk+OM$h1XgbL!!J;&+P5F%Sb`*5VO}X zx*|K;DzD^?jU*Z?w_6xUp{|U`|{Ffr0vfqs3o@g;#!ILsMU z35;dd0SQzqc@~-=>zXgXPM4MF3xF~T$i0R)Fmh|^+s zacCHgUey>aoWQLbH6yBmyo6wPE%FUoX1Yk#jIm4A+HV1*!T?vjRI&0F2QKIwpyHJW zeFF2B1NIX!QwrEBC*Ukuoxmy5jDUPY@Doa4PzA8Ac|-MTYNU`>JrE^P9t^M;INkUp zMX!{Dm;@KPVyMZ{<)p+o#eGdg*|Q|hlf3iSaZl6G!1888uqNtxQks24d1S*Ig7?t{ zFH~s=(@ukkig1-70qrG_coxAhSHZ2lxXb!pbVjj4@o13{JGh_uVXvWH@Cro3eh^&U z0T8@ zP{z4kvcAO`qPVdQ&lZ4e*&-_<^Qi0i^(0>eNel%{mF^U+^qJ;EJn5nr4I^+;^fqQ1 zY!IPY)VV0n!&v#Sd~twj=0wTHC&P#^YFnc5SdTgTjQfoxlE^K{ArLB1p8u2u00m2+Nvqi2m z3{)WTpau_2=^_pj*^3SaB9pFWd2E+4Kxsp({aT^hGLOeZgv#hs*EWu~H4V9;s9fY`&b z3aBMvxK*rof{iNP`-g}9;czg`3*STVzTfPWg7umkUSlr~NLl>kJIY;G(1Bka&b zkOvJWdBe+(FDz|%!TH?5rLM1dvkPg>Y7&H5T6-wrB4Wk^vo~^~o68AIoIBnGbKR>c zhm`f`Ep18j>V{W?Y2Hw~tVSg|u0B}XHELO|JbC#Ed?JgdAm@Rl2taCCsrknBaxt6~PPa{ZkF_{ZsBY zj@?GCtv4cfE4ZE|C~R54czTynmN@4{2 z$2PnnaVdM9)rPlT@VcGG>j>p`*FtP}ku-p!d0hnia@PWPyOJu!8El9hUbMl*Q?A#UjiDs`>4 z-rwOXTZF6z0#V?|WUjjzb#DfIcN+;nU@cTrrW|4xg)@@P!zwo732@1q8XF-y0R&il zwgE1omb=XCkOCt;jzZ?bZ4mCuTyA*v+I*=CbH>qN!zGM9=ILAnk454of*W2pAjXS= z*ZUg$J{*Km?Q$2J?LP*66TCxe6)A*9*yIzuCO!gwq$r-5Eq7hCgxXcP+aZ3X?%Hvk z2!bGTv=S?{2(VUbf=6P>35XLw!UZODM9d|)8rOIrM9MMfU%7f_yevi_MDDUWy4L7P6ZJ zUUi)01?8m)(o}=DBSLXo-~Icn_BN3hl(*jeF&&A+uV53dwmQi%ql>gTyBg4O1+@Ft3$nqPT>XRg)>uV&`@5)J?1u; z5YCs0-4?yVivUztPj+g$8x_WNjo1DPjNb13VC`n3+ao~I7#Q%)W^Ny!Y0KssCfVK~ zo3(%hSGPNUkmA2lcu8nGuGqhO&kT@qS51r|`>H3J~?!XWd4`?jWwDNTtj{x=Q*W`H_6nTxzM0>69rF$Sqh>6#J+}()EDI%; z8KjhtruCG!y(i{ifE|buwRrcEkbzDLoicX$8{0G57?OB6;F{DC62Mc*;yFN@?R(r zdNuP$*Tju>4+?KbdP|t01ku$AatOS3+68UYJeTpVnQGX22<5w3ZD@7k-$mS9b#So znZj$7m7Eqp5z&giizQ(Bw(;G^puA~h7lLk_fU(<9c|m-rSR?s2N)`aUOOeA+~yb>YD;slKsT0PyAXG! z-oY9OxSi}KjTblu;}r^PGYv14@P51(ycNQ0uP2j{2JHyl6>6&U4C;xj@KzG9fKe;! z!rh(EFGz;hv3=nvdlRI%eR*R_7Yp!&1y=9w&q{DJidsu`Z9}G&1S&6lux9IGqCtU} zq?fce)Ln)gEH@;jm&|t1m4TjA?Pf$Aot-(71e?}A_*9NnFD zv6Qi`{YE(P=;yMSiSIgp8~ZJVcU%1J6BcPVa9(ju2?kA9_hhkG$$PC$N<5+N=l?a* z@PM2a=y)&H-PX7)+g5lVw%KEK)g%MiF32yT1&%W4svlKr&#_L$!LwE}#A9U<>xI9SRj zr@Vt_4($<-NP2BV6jsP|5j+7?R6yZh%59&4)fMn*&)=V)#}G*or%RCJTsMnQ3td;X>$uS7 zsqp$PQnnJZZlu@UXmoe+!lEfB848u&s1ZY|l-PrF-Xcc^C~zz95KnqT3{-yL7rL-ir+B)=YzJ=8$)t;KJJpo@*JORa1v8CaVER zZ4g`wkb1!k2ch}qGiulh&gVAaFM?wX0#aU>VdlOCCv!M-u?WLUy*hxN#&oWDE72XS z#CoExk&&Rr22NGNuWi2Wz^{&*WYC!4jW1a2z@)>$4^rI|LU9K_&~Bz57F%S(i@C7k zL^sr39!yNnT`X1Xz;k1XTM(#$wjNl=O|CU17;-idd|2iEA`Exs=p;}}SIzZv0u1;*>0 z(Gp<960SjBJ6KN6yM)iQc`OEU z4>s2D;j6u#Oc`%E`cQ+AU2$p|Pzf9y%iOZFd@~Su>5q}1!BFgIwvE?Z8%l56 zfgk#{O`(`ka^pnk4L z8)%jRo{IZ>c$VW8Lvz(Q!V9-2S)~Q*%^kYl_I2x0h0HrKaMwMZX2m_0H>Uqd;Wdtm zfF&kKE3!++wJq;H>_-`b>?*r;vP*?GJgs>j17d7Dh2GUzqHh{@pPB^p= zr?C)02eMn)$ZBDC?eVnvQeOedEe~qD42u(8+3I>r5-%#OE4*36{M4N_TgJr_$GXDH zsA=OskQ;}lrppyxzhB{iV@2Wh6e4fLOMaxSIOQej^+lBzs)<%&!eJ*#roPx{bOJ9a zFM#*}<~xg})}$LLsc=ZU7@&2D7h}9&w@!(hXFh0}M;C6ksyh!*K*~kS0mWbq90!i%?qqs(RpOsgyBpWHu7V{bdg@JwyG~5v2KrHI{hBAgL>J_I^ z*2%vOerC}Q{tY~QF-KmN1zs~Co?1Ja#2bwF{w((5>o=X@{jNg|D)HjKTQi+^b%+-s z6keL-;<%je-rs@A8jW=?7lHQu4rJ=;2y}av>q%K7xx51m^aOicR|^G%*Gpjp6u+f&#klPddy%e&b~?PLh8f;C6{B+A1?C0&l75~y z1FEi_h?%Xayo`Iy*D6!`qw6+>cT%L*yu<8N6o@(j&;A=CZ!gf^4t@eWmZFt+F_Rm9 z?>V+4y?Hm5y10!pilnku@g|Vzbui%ngz)~L?pk&uxnUsCrvWlB##neT=*hvp7??{I z^94Tb59qk3ob$(tVfdb}2w5aml+>N}CUycBDT-oiCNCqdRM-+}?SjC|obJZN9EC{M zFrGw)VNBP18c263@HX$N)lAab-M|)Jc%rJF;9RYsgni07x3T8})6RW4MKf zWxQGBz2v!hFD+ID9y+d7dZW6FO%#2x;6{RZ#<*`Fv!uxvCi#Pi%k0<1TYePb%*P|n z9x3{&HWFpbUYNz5|H@KV60`=+ONqBnCM1Sv;e~?B-xMgp<`c49>xe5bpVaW-?oi*@ z1y>w=jy7H-Nr*j7PrRREG9zVGt991;dmZFL-NBpiK?(C@8O3FYxvXFLRpr@g{!| zzWea=j^ZyTpP2%W)f};hVV%xyKf1ulc7I&qy`c2{w|k|i!GMv3m8>Q2Dg%!5l4X%3 z-u%*GDp&P4(_OcU;sXzvg3VIC#ZQ?8kYAK+_HFxu*|NA&B}}mQ-i8tj;M^sXxTg6P zHcX?+%O$cc&U;`XCXBZ$yhdydnz%PTR5UNL{(%bb-B1_;ChlC5cw;_}58(C)BeP#- zksSGmWm-O{0juD=^b;yQ^QGQ<_(TeCFj>%5F35u!lDQ*~c?&WgYYbiEKP z*FnzfWe{AQ6^J89dBH{jR&Qg3S#bm1y%I9 zDs2fJ7nMaT7{(^C4IdqwZeh%`IasMlE|ppbFmpf2Yo^I4(=y}D`?oK@2-aH_UJNR` zNW4%AD6KX0N)}EF1=v@LN^$4Pawl{4I-ux?B7Y~GqaHaT!M$v2uu6R+?POe+l=n$y zo$LXrEHKexZH~=6-vI?*`RJN=Cw4PLwW4Rg%*A?qgSDE{w^`Q_W*J&*uoDk_`4Ts+ z9p^`rc>Ne&OaxcO7DYYo2G(F-O*2i`X)!ixh9=(pJvAr81uR#qEUPXth(`=?R`fIo z9=;3PHNyKlBwjQ%{Cxkw`_@(zUOJ3PZ$IM?3%={5J9qr9oazws2-4l_LQlhhE0dt9 zM1HmJ2PNLVKAaEirKv|Pd>?yimreYv z+7Fy#ukd^ZFp=Eu#RblJWrettfpk=QNprgsdiyf~0hTd|zY&M&U2yPt8U@~d*>dR* z#@%w*#C;+9|11@+JS4N4Z z1_21~FW&*7ysy9eCBx4z@+#IZaa04^8a7BT3}LWGf%4OP=@kBsPKU&7F?AiinAh<0 zRUW>wZ~-9Q=bEl& zHJ&GeLa|YFzu)j@W}(ck`g(mYX5y|SxuZ95W(=Bp?(Sb3k2dOfal-JdwKX5*Hpkwv_v$P1t_7}#!5U&BauJ;IK`Gs$%gB*j}` z&w_?1APpAWioM(SsGZ%$ny6JLjEZmuyB5UBa?z_mj_Y+)=gV9qO4a8xLUB5~c;B#R71LRU zMljvbLO^7tgeg>D%)l93SDbIU$s)QO`pYYbIGT)aM0W!g7f(DTGTd9b;xnXMCNK@G zMSu}n#aINSBJPijaFY9kt+Glttc9&%4|NQ{HL|71|Mq`~aNbmCf zYl^J$`h?Op)t%uVg?!8|=l@*c%}40M+w9HXK+6f`-1bT~1kA`{(0D#sUlt&>Ir?%D zCrZ6mJt0oEU`y{OBD_Se@sj5Dl$VCEeeVS6t})w4G5DrhWV~7}nY#(PFce}jf>%uh zr9Ht3Jn(E2r|vYe7Du>ct2oDuut;}(+5qY8uwv-W7*pr{Wz=nf^O6%(TnAfwv)xo{ukyn_kAZ}AYx(C~l)&2b1v-m50V*$vF_0pGeR z_NYRNWC2eD1$J2%F~SOVGvqCH@fMYM|9Cwec3`|f%R*VefbE=K@T=mWUBt?HofT^k z169$85>encB)f1J^<0FJgqgzYbQc6xCEkaJ2i`I4UA)Rnejs@sD$04)cN%>IV%yp<%|w!U z^Ia4uhfPce>iZrI4Tp^fhg`_FqH~^Lk&Wk=eLU_)I-7kkgqYcv^OWY2rz!B4*xEm=72Ryt=5~(J9@Djj#6UG>zMh98gLGdJ7ZC$U!7)2 zjPg3pZ zB@qu}|6%0EB*6&7>mq+ccm?ZQp49Qa8Zb|KxkM(u0i*%K5hz~W-v_(! zya4qqez36qvnNPxV{d5gCAu2m-En0a#DnUB(++n>dkv1%MPE1bDD$)EmeECA$c9n> zOKbL@!ldv?qYhHzty_tY7?IsIb=P<$r>=BwX~Ofx3S#0OOOwm#9Qwd{tA&-ns{-?@awam#VgmXJ=_y(J-p)@q0;JT zXpkG-?j`YE0b9iynQ!PRE^y_(ND#Pd!29uDO6DwRpT>h<54^OwxW@u9inN`YPDo9@ zMM!PgVLO|H)3$Ajhd$fE+1Dh7yERfPREA}f; z>!o46ZbxRiImj&KT~ghk!lc2U?O3vWgK$(}^aW`b1IVP87~6KksPKZ|E}gvFH}2Lo z`x(?RIIXrdz!3f^pz8*;WgzJ#a!!6bD7y$)aLNMjHpbpv&eV4!AD)L3a@QWjw zLmR5b%jSjnBgD;WF2waHO!=~!nme_}m|BbqFNPgXCg<@g;eA0P#8$Pd=VW)%0ESV>QnO4wW;|G=ziSkB( z!YczFXEsD*Z;y!yPvrHO8yS#%Y`5+<a)*yN(0+<2c?&8)_Bxxy>+)55u_JJ_KS)1cVxRJ z?qafZi{^@x?*dGizWE;E{^no+RZo}cE@Mz#CNK+(KXA@2SuQ5=&d6?={U}O|tBu}4 zKfzi_S$$cu>lh6rI=C`FZ0?&bW(DxCx@4i(QXT^#sWaehV5^bbUD@e0+fp3H*VxE; zL3xWNczV`lFkXd3EQ0?|SV!t0<=l`<8K9RAgZel3YyO z7dg-i!`wIU-Ii7pl#H?1=xPAtT}9Ab*f#_#Zh(yU%gv)P-sk66`RJF&$1h({R_BpY ziV_1>F9RSX*ODK)t2DRBz*1J7q)WB#0xzVzXl6hP>$%worWA)x@4FDUZ!giOG&v zN$!B1xRPE|d1X-FWz&OmUZ=dE!nKdLc(-mxc_&RK7O{C!i$i~ONduYXFO9R4U|v+= zM>L#fzQ2a*>LKpVYukH056nPpF|kbWV?-vw5l8TawQcwXQb_sbPiX@wFNLLV(-zy! zeY`hdyc5pio$mI^ctLjyRaPgyWU9t40_484%DEEp6nCj%;3;BkUj$FBY7gE;8uk30c17>efNDKH;|&w=f%1|XuV}m)N`1n!$nrhINMP>mZMA}?_mbl*dazDbw=wqqSL zfyMg@y2zPwg)w;Gh{&!6L<{YyW1|Xuw84m>DUJOOM~k)0nuRI1?dBNN7ykKPS|h#X zjF5fgx?GJd4I8};w;qw*g7jjF8uFy?Hq8u3eL2FV-Cp4}fdBsUh6bL%3;486cN5PY z`*y=NIq#)k)01gv))p~upsZR*yos`2!jrVSZsf0$3J_6_HRW8%@enMT-x_K9(*Uwe z%+2iFU8B4gM#EWFpu6a8fX)k8HiyQGOvcP!Ui3XkAp~By48(p$KKUA9@}+n%;R*c? zP=KRxp)zFkIU)}*V=<3hM-MN$cz^p<3GW|h;(dAfN`?2U`a0PqKz180iyPL!cO?P9wtJq- zOdQ6E&Qc7-)?EEHbvIT%m=DDGYO(kAE(iQoNkX(776Bftmr2ZFrDMItw{d6Hes^qS zDKYC#)BeSB3&g;B(M@i8F7k8^v{ZDS5o8gZS4$o+*xo*SH!p9b@By3=;1iYJ2s0OE z6XGcHG8;gex{bqXX>4?;5-*8vEDT(yoga$3?Ja}C%N2!NvfY8}F45gyAU+Pg3{hr| zY+_eKB&5KZ^&UP~5AR>pox6@>MG%IOBTHDVMSx`;J6IA+P8f}d5z%Bs9d1Ot&qK&- zknmBvR1maXIVO?hFpk&tx1k6#t*XvsI3y?lP93S!Dv(QT_C-r)=qna z>gFQYJNb1#2sDE7R&Nus%iuY#Z%DZplV-@HYq~WB-puU=_q*}?Y>pkT@fu*a!C-y) zO*Yms!1ZUOiJ{FTVA)8#&#KNFHtRwqZ;XRi@IG)d=3$U%`nuB`Ov>UVD${f~tCbct zoQI(p;WgIb<-C;Cb~OnM@jJ@-2C;HnD`&8j7`q9b(XddoL69(QWnSJTXf$5uwJPyC z;r&yeo_La)2Ge(?--*S8Yj94)9oO|*bIR-Q zUrRH&SKcbTu5a+;9SPUJt$1zeROHGF8Dz+bQNJ=`>G-%~UVs8ar_5*<+TO z;MW;gS`g$I>YdrV*(_4?oVN#@mpdF_x}$1dt7Qn8H^f~SFQm8CeFH*YlMt_9!P-+$ zQ4Ska*8@#Uv_s*wJ=zjP++ho~h3-b4)SL0U6o4(en?(*F^XywDyvcF>B8BevMN`mK z-pg?rqrNF8&0#&D@XF)DM?o2evohWq5^oU%;gtaKHLH2+g!JN0gA94DjoW*>Yj+DZ z!R8BA-DjX~p@{crtPz1%?`b%Eo#)oxfAQo+yiez15-&HCH8l`ovzSyg_<^;r_yB8@ z1Y>bahxr=2vHJ*Yj5aQIxD@`*NVzYp>wWvHox+3L0&tpHT%*}uN_xY4XhQ^IlP9Bd zSnI%(BOG9hxbR}hCZmKUHvVg^OF?hEEoceXd1YN->2N?6jOI$qCn+##U=QWh4$p=8 zPHlu?k@7-Hml^Nk4(*ibI${FV{pS?kFBg{yKriX4W7@v9mhEC}X&Q9b15Bor@MaS8 zbjrHuyBt_sQQ5nFB@a)eq6@3VS)-3l0p(RJA6Vlah6RP!M+0=1mxLu&cm~$nbKO?k zm2gqvWg!LvG0J!qjEij7%o?UGM<7#tuk4AN!FoL%r4?+fmD|i@j&Y_9?RN&JK8EsoHpaHD0g+b%i;d|T*M;&T^y)l} zvmlX6IxB&;$Qy&zc#uF1fma4^5M56L0Ohrb_CCONo&nr+CIbYR@1}C!q zt1lLau+0&5vo*$m6(Pj1Tnx zbak1dj2C@3NNz@n*Hpv%31hGD_S074T`p?i#2V8ewp_)~vt2aa?Czkx8q7<(;e+dj z@xBDi7VHe9pt_hrZ(bF=v~ssKs4l7HXC)YrbRoOmn89joe7>lg#jxp&U?Se0=w`H_ zzG*nO9Ev;b5y{vQVm=xxOpumacI*|uxub~Fu4qNy1?>Ux&+7 z|M~FBT`_H}XAD^>l?B8;tVXv!Ec}pG-KB zoHyyN-N&2pcm5e;(J%;>AE7|uZQsJ_N_f@(lTQsNV73ITLv1}^&o-j8 zUgl*>YmsFEx+~5{HbaB?IdI)owk8+)?kiDvTc%5Z^+{?NJR||A-Q|Ru@>_KhdkE*H ztU&N`+D6r zo-_wj3L5Hj>leH<7s~6L7frY8sJ1bosY|e{+b$qrXm>FuVFAOu1?}x+UeC?LFX!zt z#3Az9D9GE(C~O!M3|MAY&|jBMv`HAbAhS7B^G!l@V`h_?^C90wN5~y5QG3fZ4(8bh zav!k09}}p&j?IRg_V#v$n?!d?c-H|KZ;89fst{g5Bl1cYC#`uNz~V%OaBRY#tkv$F zVrUDWq>__L2JLAJ@-B?`n9TG}YjdqsH)pMc0og)R|EFM#<475og>^g^jmivZsQpd z-%!V#S90x3*5xv>CGK%hRQ7E$2Qup{R&`zDym~vYO*QL>E5{12xeW^MCSpm7nHytV z%fOsO%Xu9`xIAE(xmIYuq?>3|P=hmR8?e%5eEF?=a z#~Qk@G@EvBvB}WryY%+fhF7BSDw}0OYpqMca(y-rI4?SH-c1(7R$bEFh`FP|dRmfQ z3VG)hUTN1#v=IQ`Zh4FIrE>dq$Tk};+e62C9lBZsG_6jm@>2v@K#k<;RZVYZ2 z3(VIOSk`nk5+9>x@-{L!CeetaGN-X-2LCPE=q%WxJLs;Z_|s2T3$yMQg0GlATt7|yYSs) zyzAkOO1!le9so$#TU*Wi#S1k#*KVr5ADBxZ1wTg+Z2Ln8VQp-XoOP?rDJW zzB}jZ!nNK>?kihUVOMb{rVLqFZ<1bd(GH#%U3vCHU%;E3mO1(@3GrY|eD6mxZf{W8 zW9e7!^HcW{TM!^x!1}GcuU6OSh;Gd7KRl?yc{A6jU|CUS@tp zuVxKKfJqqXrGml7=-T#bF-7uKy6avCjddd4qQ65rzv~NmrG3arYB2omeS;BIIY_n{ zWfiN9*x)f*uJniv5q5-E;DmQA3a=4fVY_Q99ft2p&zA_`ye-!Sb(7SWlsDAfST)xx zx~}IjUqIeTb~L(c{Z85ITV9`d_x{(%U$TlSgo7HJWvsNcIs%h zo*0K4Euf^Ay78Pj!(|!bJ6K`^=atd&@uAE8y}@~-j90q{YwJ9~=Dh_KJHYw+o#>5z|>$u|^ z8z^dcjkh!img{%TGvs8Zq#*|LF^A@=^WJ(!HFG`RhaNg*xb$r(xgZKraOVxr7@jgT*lIvnko2f>at7U+K7DQYH zA*sq7)*FDxlH{kU*ZruvMTe~BjkH+KwU47ysqSFCfZX8HuC)ulO_f(^ZKO@VwIvOL z5NE^%4qVhAZBG&b#dH2Th51x{x%!89*YFTp08HZ57Os7iVt4yAH6Z?27{oH%7~@@& zuw{dW6UJ*pLL!@X0c{lJjuHp^C`}7!9yytRwD}+}luXEh54;tJlKX&$e&;TPa6ffZY zN~4$I*y_2k+Hj104KH-~n3@NEvZFi5Cat}; z!BA5DC1o?77xqkGkO+$FlCB5t2e0ep2%EyTxR2@vo0`6xWe<}J8vv{q7JM<{tj;nU zgTxD9-~L=Z7!_9|_$>)_{~CH_mpmMo1Vs+gA+0$^NCF}ZAtu+~z8ldN>6eNI9UXa3 z!`4Ihuj|knH;=^t#l@y4)%sf+=IrJ!iKz}=fw6yDh z;xbbUiVOV>Q1+m)GbPnK_rY!1=Tl@|nu4H1M{!}g1mhEGj(udR`6c9GG*@;fh7&~S z!Y<801Z8CjipzW?@e-l#;wm346fwjniYF^H*g}4&`f8biqolV~i0(w?_3XOd#y}Jn z#S86Jkg~2~ADi};6bJU&puCV_UqR%hsKG{QIn^2Ea)4r92(84s={gFpVW+JJ*(D6t z#0}3mv-V(~IzKpX36Xb*Ob3b=%uf+S*J1LlRP73@J^yMq@m9h4{Pc9L^6YQ`2IB_j zZ57@i9aSAnw^QSqxM-)E0bw^sb6~EV;TTtv9Ve7m_-<73o}c2iwWnH4;#C;w1JE!GN$n5M&Tgosdy%{l-pt{m5IQAEuG37g0nl(sqD7`# zgkX!*%a)Mui}+k*hq?Zyj=ZJWbC6zsoh9J1G97?#$(*xWF%({N7ORR&^@9!@@9L#R zC2vLPh3q<+^#*);?O_U7?+n59Jpc>~DlfdY14|SxTvK?{uO{~KF<;F~74H^}m!(nZ zEu2>xB-o}bpa$dEnLOD?tPAY>Q{>ekopN9E#+P3Q;qC4xyTx}62)*<8l;N|{#bi;) zKq-SUU8G)&dIs|rc+=QNK;f>qiJ|Xm7$e}6n)?1t2_}HkYj(n`&ZxT#;ShKoMBp^7 z*=0<&OXwi3rv*@}3#GMrnj!*F=PDN9tORW{v_uv_azVkhpJWq4GHXc3)u%;6&syiw zh6prCEpHi@H=N3;XrSH;dZo|6d9AdVdP-q)=&vvNikn8Al*{3^)rIIfo#jn7^;yE3 zk5jl4lLnXo*zKUMzirn&3jh-QYz&MGoBAn?*F@fpi? zynl+jcpuM4VZ3^5O-%shHGUg3x7T?cZ|%TZ&HyM2E5%1*Z$1*`9IET_#ljV99n0mC zhUY>FZ}l*~k>GEk;t_c-vnob`uQv%{yA=0&s9m8+3VOS%pczKdpnBdcd6)7 z$RMLx2)s54)fc8~ky-!L1OQYr@W2G)RqPl|)J4}-5cQyv*9Bg)7;}K-3Ucx+Z5O%= z!^NPwgizjkOVu?W3a%g`cy4c$&e9UFQ3B9W-kD8mJuxPPN|WjK*W8dKxP+ceucb!X zVr?;vlyzW~_kN!3f}pi~=}BiHzdm z4>Ka~Jp1i0UN8s1+}bc-oj@rnyNDfP;BlFJ|Bx)#72xcq_fLc^uUa;!OE8 z2lOb~*Z$gCzAyZTmGK_5ph0_sgS9cu{o1_1oCWW?3mRBmKxslZ57A`VmUD_3q8nhh zu?17fSh`v9_DsV1&Is>>-yRqiQKR>qHS3M42v(Dqwvnv z@WOj1*5TvpyWW|M$!R9H-XW-MCt?)>oFO|1^Yw{V;^j38xGy)7nbb>B0Fgj$ze5!9 zzM4a83d(i6$mLv`fYeR!oUk=>IXJzgo`Fh+skWQUmrKd!iEm%NyS;cA@GRv`zjJ#Q zxJ(x@mugRQDsH6L<}TKR5l`(b}Qsw#<7V?zU&! zN{k*?>u_HQqK9c%Y@SQ*PX%drhV%~Zn0p@vL|r$VCD%>rOHHqtVc(gT?8>;$L(v*$ zlL_oM1_J}EmQFBQ{`(ki*C;yhyvJt6VpD7*41!Q0A&g!mEte ziTqPNO0uQ9u{EoBvE;w--5=)lUD>@vd3)aLu9J1Ajd13bwjjE^&=#gMv7gJ&OLYxD zq41LRsk=ylnhx}tPUfAm-kd;-schi#25*Ibv~)FN4`UAN&D227c&)#Wk|nx>%#nL# zgV9-E%gP49;L+gMHCTu3?$cii7v?nHbYw4;PCfu$j|9)Vt$`eK!2M*<+Fs!`_b&kj z7p6-L?`4H}EaB!V))YIaZz*qXg%g{zKz2tP3%}`BTt?>DS}GLY*HOd!NqEL+{V6pX zm+-m+D7w-KVY<$0iCUj}FNV6?w43Nk87SkGwgh9kco|-V{Z)!N5*@_YCUZD($?wT1QJZPWDO;-#7siV-gXU7z zYcXfrmhS0QKUjDvWvH8&CCRlx`~V52ju&Znr1B#1a%FEMxTMTCtwyZ(HikuRyIZ|* z!$h`$>gMpq;Cghwb0AWiE*a(Z*ViZtw5u96=)9YR3A|w)*`=hR#F@3-S%gr9Jwj1* zMH^KOK|we&?} zytwYgw;okncRQI+DkZ&^#&iJ-jkju$6IXkoyj7Q`)#6ZH!I1axa#@*e(n*#*7&f^f z4y*|%?6pB7kB9xFY`2@PFtXJ00+8u_>vrU?qW`vs{{0CG79hAY3h%$C@^V z)}XK>RhK!OR}7a+wwjYIS2SR_8IgDELmmlWY43YRJ0kH8ivNiid~?i^OqZL(~W$ zq`b7IVWDEzbIXTL-YD`Ou@U11m)Vg1Awt-$Cya|0tugfVjU`)bRG~_Z*R(2Nlg}ql ztsS3)@jgC!L4)6Du(r!>0~e8ZLP~fe0Bskx8zdH`SH={1E85-2VAc73tFI3Fk{3GPllAI;%0P`%;(u$Ef{{1n0Z~ z7Rl(M>$+Lp5WfPXY{7OVjYZ;(#UQ&I^(Xa#&3-de$&27?_RtkISX<5V-r*&`{(iIg zLAIgry8ZVxypUVN%yVnZScIR#WpiXT9b@Chv+mobcatIVqVB?cUFLl~_wX9UMd78H zg>$w`ZUI@lKv$BByqhQ0)I7#8e`-R^;xK`@rRy0eVOXx;4SI{gcP)hU5~Au7`iy%S z#?*JAayJ5I9o3zN9mrL3+_o^*Y>5e8j%2UBY5Uom#;{z^8NDsyG%n&}%@Rp^2|L0$96kh9Ch3hKO?T)WWtLiPA z=hS=|g*P)R^pugr``vJZ**+*4?rRzXJH`)$(%bdtXS)DFAZ55w-Qbu%sx7c381JBB zu25CsdDotz5QGrC@gm{TX*G?8oD4>ImGa&RXFMzAbyBE!Jg%%0lEvhB{IN#7wGOd=-F;V<6+cM1)V;Rg!F!!SZLMVuFJ%qVW#ZYSe_@@-o6EkoTtEAw z<$*7aoj)%8m<7B~zljvO8%jLrASl`$&=l8e%@-Lu-dl^iDqc6C?xw!0v$1hnX@=|? zCp$`yi6hA&6!dLe#rw_}@4NTs$3N{)?p({kj;&qAA&0ok_fAY=9u(F^8@-7^ch!A3 zQs6D-v`04SYz8bCJTq7Ot1aUGfw%Ha5?;>J@sWV0h|Ok2U8*H&0ZfSCyxu+03%zR# zM}@rNs}I)PX(BUq{5ZvCT~p=NA8_y;SL%5i(woSC zmq%&z-AmYElHB>J+?O)mB�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

    wRlpY!-6i}9DL5PuAmWi#u3H@S{ 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

    fkfz5 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%0A^3&q!5gu9pRopfd0kMpbDylWfN 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

    jRrpEyqg* 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 DisMlK literal 0 HcmV?d00001 diff --git a/docs/public/vite5-1-10K-modules-loading-time.png b/docs/public/vite5-1-10K-modules-loading-time.png new file mode 100644 index 0000000000000000000000000000000000000000..8c94ed9bf1f2ed126c4c12e75e6b2e8ca4e3a750 GIT binary patch literal 38855 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 literal 0 HcmV?d00001 From e0a6ef2b9e6f1df8c5e71efab6182b7cf662d18d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 8 Feb 2024 10:43:45 +0100 Subject: [PATCH 310/656] fix(deps): update all non-major dependencies (#15803) Co-authored-by: bluwy --- package.json | 28 +- .../create-vite/template-lit-ts/package.json | 2 +- .../create-vite/template-lit-ts/tsconfig.json | 4 +- .../create-vite/template-lit/package.json | 2 +- .../template-preact-ts/tsconfig.json | 6 +- .../create-vite/template-qwik-ts/package.json | 2 +- .../template-qwik-ts/tsconfig.json | 4 +- .../create-vite/template-qwik/package.json | 2 +- .../template-react-ts/package.json | 8 +- .../template-react-ts/tsconfig.json | 4 +- .../create-vite/template-react/package.json | 4 +- .../template-solid-ts/package.json | 4 +- .../template-solid-ts/tsconfig.json | 4 +- .../create-vite/template-solid/package.json | 4 +- .../template-svelte-ts/package.json | 4 +- .../template-svelte-ts/tsconfig.json | 4 +- .../create-vite/template-svelte/jsconfig.json | 4 +- .../create-vite/template-svelte/package.json | 4 +- .../template-vanilla-ts/tsconfig.json | 4 +- .../create-vite/template-vue-ts/tsconfig.json | 4 +- packages/create-vite/tsconfig.json | 4 +- packages/plugin-legacy/package.json | 10 +- packages/plugin-legacy/tsconfig.json | 6 +- packages/vite/package.json | 14 +- packages/vite/rollup.config.ts | 12 +- packages/vite/src/client/tsconfig.json | 4 +- packages/vite/src/node/tsconfig.json | 4 +- packages/vite/src/shared/tsconfig.json | 4 +- packages/vite/tsconfig.json | 6 +- ...kidar@3.5.3.patch => chokidar@3.6.0.patch} | 6 +- playground/alias/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/js-sourcemap/package.json | 2 +- playground/optimize-deps/package.json | 4 +- playground/resolve/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- .../tsconfig-json-load-error/tsconfig.json | 4 +- .../nested-with-extends/tsconfig.json | 4 +- playground/tsconfig-json/tsconfig.json | 4 +- playground/tsconfig.json | 6 +- pnpm-lock.yaml | 1381 +++++++++-------- scripts/tsconfig.json | 4 +- 42 files changed, 823 insertions(+), 766 deletions(-) rename patches/{chokidar@3.5.3.patch => chokidar@3.6.0.patch} (72%) diff --git a/package.json b/package.json index 5ca1ae47ff3da0..66de88749b8c97 100644 --- a/package.json +++ b/package.json @@ -40,8 +40,8 @@ "ci-docs": "run-s build docs-build" }, "devDependencies": { - "@babel/types": "^7.23.6", - "@eslint-types/typescript-eslint": "^6.18.1", + "@babel/types": "^7.23.9", + "@eslint-types/typescript-eslint": "^6.19.1", "@rollup/plugin-typescript": "^11.1.6", "@types/babel__core": "^7.20.5", "@types/babel__preset-env": "^7.9.6", @@ -53,14 +53,14 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.6", - "@types/node": "^20.11.5", + "@types/node": "^20.11.16", "@types/picomatch": "^2.3.3", "@types/sass": "~1.43.1", "@types/semver": "^7.5.6", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^4.1.0", "eslint": "^8.56.0", @@ -71,22 +71,22 @@ "execa": "^8.0.1", "feed": "^4.2.2", "fs-extra": "^11.2.0", - "lint-staged": "^15.2.0", - "npm-run-all2": "^6.1.1", + "lint-staged": "^15.2.2", + "npm-run-all2": "^6.1.2", "picocolors": "^1.0.0", - "playwright-chromium": "^1.41.1", - "prettier": "3.2.4", + "playwright-chromium": "^1.41.2", + "prettier": "3.2.5", "rimraf": "^5.0.5", "rollup": "^4.2.0", - "semver": "^7.5.4", + "semver": "^7.6.0", "simple-git-hooks": "^2.9.0", "tslib": "^2.6.2", "tsx": "^4.7.0", "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", - "vitepress": "1.0.0-rc.40", - "vitest": "^1.2.1", + "vitepress": "1.0.0-rc.42", + "vitest": "^1.2.2", "vue": "^3.4.15" }, "simple-git-hooks": { @@ -106,7 +106,7 @@ "eslint --cache --fix" ] }, - "packageManager": "pnpm@8.14.2", + "packageManager": "pnpm@8.15.1", "pnpm": { "overrides": { "vite": "workspace:*" @@ -124,7 +124,7 @@ } }, "patchedDependencies": { - "chokidar@3.5.3": "patches/chokidar@3.5.3.patch", + "chokidar@3.6.0": "patches/chokidar@3.6.0.patch", "dotenv-expand@10.0.0": "patches/dotenv-expand@10.0.0.patch", "sirv@2.0.4": "patches/sirv@2.0.4.patch" }, diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index a8cc12d8bc4b37..ef7d5a241a8102 100644 --- a/packages/create-vite/template-lit-ts/package.json +++ b/packages/create-vite/template-lit-ts/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "lit": "^3.1.1" + "lit": "^3.1.2" }, "devDependencies": { "typescript": "^5.2.2", diff --git a/packages/create-vite/template-lit-ts/tsconfig.json b/packages/create-vite/template-lit-ts/tsconfig.json index 57e8b31ae0b029..69e31ac92882e3 100644 --- a/packages/create-vite/template-lit-ts/tsconfig.json +++ b/packages/create-vite/template-lit-ts/tsconfig.json @@ -18,7 +18,7 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": true }, - "include": ["src"], + "include": ["src"] } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 6ddce2cf9ef18c..64db186e1046e5 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "lit": "^3.1.1" + "lit": "^3.1.2" }, "devDependencies": { "vite": "^5.0.12" diff --git a/packages/create-vite/template-preact-ts/tsconfig.json b/packages/create-vite/template-preact-ts/tsconfig.json index 5449f9e3570a41..d13245791d3674 100644 --- a/packages/create-vite/template-preact-ts/tsconfig.json +++ b/packages/create-vite/template-preact-ts/tsconfig.json @@ -7,7 +7,7 @@ "skipLibCheck": true, "paths": { "react": ["./node_modules/preact/compat/"], - "react-dom": ["./node_modules/preact/compat/"], + "react-dom": ["./node_modules/preact/compat/"] }, /* Bundler mode */ @@ -23,8 +23,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": true }, "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 4eabc9026e37fd..5dddfaf6ee2fca 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -13,6 +13,6 @@ "vite": "^5.0.12" }, "dependencies": { - "@builder.io/qwik": "^1.4.0" + "@builder.io/qwik": "^1.4.4" } } diff --git a/packages/create-vite/template-qwik-ts/tsconfig.json b/packages/create-vite/template-qwik-ts/tsconfig.json index 61b4b3b8084c97..9a262f041fc748 100644 --- a/packages/create-vite/template-qwik-ts/tsconfig.json +++ b/packages/create-vite/template-qwik-ts/tsconfig.json @@ -19,8 +19,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": true }, "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 4eabc9026e37fd..5dddfaf6ee2fca 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -13,6 +13,6 @@ "vite": "^5.0.12" }, "dependencies": { - "@builder.io/qwik": "^1.4.0" + "@builder.io/qwik": "^1.4.4" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index f722b2505992aa..43037fb551ef62 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,10 +14,10 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.48", - "@types/react-dom": "^18.2.18", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", + "@types/react": "^18.2.55", + "@types/react-dom": "^18.2.19", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.56.0", "eslint-plugin-react-hooks": "^4.6.0", diff --git a/packages/create-vite/template-react-ts/tsconfig.json b/packages/create-vite/template-react-ts/tsconfig.json index de3bc5036c4258..a7fc6fbf23de2a 100644 --- a/packages/create-vite/template-react-ts/tsconfig.json +++ b/packages/create-vite/template-react-ts/tsconfig.json @@ -18,8 +18,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": true }, "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 316fcc88617690..73a79f6c73b129 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,8 +14,8 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.48", - "@types/react-dom": "^18.2.18", + "@types/react": "^18.2.55", + "@types/react-dom": "^18.2.19", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.56.0", "eslint-plugin-react": "^7.33.2", diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 445d7e6a2e487e..b9064da14ccdcb 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.11" + "solid-js": "^1.8.14" }, "devDependencies": { "typescript": "^5.2.2", "vite": "^5.0.12", - "vite-plugin-solid": "^2.8.2" + "vite-plugin-solid": "^2.9.1" } } diff --git a/packages/create-vite/template-solid-ts/tsconfig.json b/packages/create-vite/template-solid-ts/tsconfig.json index dc74b2d1fb2322..3999958409cd1d 100644 --- a/packages/create-vite/template-solid-ts/tsconfig.json +++ b/packages/create-vite/template-solid-ts/tsconfig.json @@ -19,8 +19,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": true }, "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index 940747826a7f42..00e00228ea4546 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.11" + "solid-js": "^1.8.14" }, "devDependencies": { "vite": "^5.0.12", - "vite-plugin-solid": "^2.8.2" + "vite-plugin-solid": "^2.9.1" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index c312fbe674e937..54ecefaa730266 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -10,9 +10,9 @@ "check": "svelte-check --tsconfig ./tsconfig.json" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^3.0.1", + "@sveltejs/vite-plugin-svelte": "^3.0.2", "@tsconfig/svelte": "^5.0.2", - "svelte": "^4.2.9", + "svelte": "^4.2.10", "svelte-check": "^3.6.3", "tslib": "^2.6.2", "typescript": "^5.2.2", diff --git a/packages/create-vite/template-svelte-ts/tsconfig.json b/packages/create-vite/template-svelte-ts/tsconfig.json index 1b879ac50e8c22..5fb548f2b4f61a 100644 --- a/packages/create-vite/template-svelte-ts/tsconfig.json +++ b/packages/create-vite/template-svelte-ts/tsconfig.json @@ -13,8 +13,8 @@ */ "allowJs": true, "checkJs": true, - "isolatedModules": true, + "isolatedModules": true }, "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], - "references": [{ "path": "./tsconfig.node.json" }], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/create-vite/template-svelte/jsconfig.json b/packages/create-vite/template-svelte/jsconfig.json index b355d7c6e1e5ba..5696a2de74a0cd 100644 --- a/packages/create-vite/template-svelte/jsconfig.json +++ b/packages/create-vite/template-svelte/jsconfig.json @@ -22,11 +22,11 @@ * Typecheck JS in `.svelte` and `.js` files by default. * Disable this if you'd like to use dynamic types. */ - "checkJs": true, + "checkJs": true }, /** * Use global.d.ts instead of compilerOptions.types * to avoid limiting type declarations. */ - "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"], + "include": ["src/**/*.d.ts", "src/**/*.js", "src/**/*.svelte"] } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 6e9004814078e2..1338ab440dc6cf 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -9,8 +9,8 @@ "preview": "vite preview" }, "devDependencies": { - "@sveltejs/vite-plugin-svelte": "^3.0.1", - "svelte": "^4.2.9", + "@sveltejs/vite-plugin-svelte": "^3.0.2", + "svelte": "^4.2.10", "vite": "^5.0.12" } } diff --git a/packages/create-vite/template-vanilla-ts/tsconfig.json b/packages/create-vite/template-vanilla-ts/tsconfig.json index 1c0e1fd43f9dd6..75abdef2659446 100644 --- a/packages/create-vite/template-vanilla-ts/tsconfig.json +++ b/packages/create-vite/template-vanilla-ts/tsconfig.json @@ -17,7 +17,7 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": true }, - "include": ["src"], + "include": ["src"] } diff --git a/packages/create-vite/template-vue-ts/tsconfig.json b/packages/create-vite/template-vue-ts/tsconfig.json index ea7a7718fecb67..9e03e60496f0ca 100644 --- a/packages/create-vite/template-vue-ts/tsconfig.json +++ b/packages/create-vite/template-vue-ts/tsconfig.json @@ -18,8 +18,8 @@ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true, + "noFallthroughCasesInSwitch": true }, "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"], - "references": [{ "path": "./tsconfig.node.json" }], + "references": [{ "path": "./tsconfig.node.json" }] } diff --git a/packages/create-vite/tsconfig.json b/packages/create-vite/tsconfig.json index b22a166caa60c9..9fc23ebe675e0f 100644 --- a/packages/create-vite/tsconfig.json +++ b/packages/create-vite/tsconfig.json @@ -10,6 +10,6 @@ "declaration": false, "sourceMap": false, "noUnusedLocals": true, - "esModuleInterop": true, - }, + "esModuleInterop": true + } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index f40fb51e653f13..b84801131cf8a6 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -41,12 +41,12 @@ "homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme", "funding": "https://github.com/vitejs/vite?sponsor=1", "dependencies": { - "@babel/core": "^7.23.7", - "@babel/preset-env": "^7.23.8", - "browserslist": "^4.22.2", + "@babel/core": "^7.23.9", + "@babel/preset-env": "^7.23.9", + "browserslist": "^4.22.3", "core-js": "^3.35.1", - "esbuild-plugin-browserslist": "^0.10.0", - "magic-string": "^0.30.5", + "esbuild-plugin-browserslist": "^0.11.1", + "magic-string": "^0.30.7", "regenerator-runtime": "^0.14.1", "systemjs": "^6.14.3" }, diff --git a/packages/plugin-legacy/tsconfig.json b/packages/plugin-legacy/tsconfig.json index c940432a65598d..bd94458fe2dc28 100644 --- a/packages/plugin-legacy/tsconfig.json +++ b/packages/plugin-legacy/tsconfig.json @@ -12,7 +12,7 @@ "noUnusedLocals": true, "esModuleInterop": true, "paths": { - "vite": ["../vite/src/node/index.js"], - }, - }, + "vite": ["../vite/src/node/index.js"] + } + } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 43721c313a338c..b18b895e14026b 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -86,7 +86,7 @@ "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", "dependencies": { "esbuild": "^0.19.3", - "postcss": "^8.4.33", + "postcss": "^8.4.35", "rollup": "^4.2.0" }, "optionalDependencies": { @@ -94,7 +94,7 @@ }, "devDependencies": { "@ampproject/remapping": "^2.2.1", - "@babel/parser": "^7.23.6", + "@babel/parser": "^7.23.9", "@jridgewell/trace-mapping": "^0.3.22", "@rollup/plugin-alias": "^5.1.0", "@rollup/plugin-commonjs": "^25.0.7", @@ -109,14 +109,14 @@ "acorn-walk": "^8.3.2", "artichokie": "^0.2.0", "cac": "^6.7.14", - "chokidar": "^3.5.3", + "chokidar": "^3.6.0", "connect": "^3.7.0", "convert-source-map": "^2.0.0", "cors": "^2.8.5", "cross-spawn": "^7.0.3", "debug": "^4.3.4", "dep-types": "link:./src/types", - "dotenv": "^16.3.2", + "dotenv": "^16.4.1", "dotenv-expand": "^10.0.0", "es-module-lexer": "^1.4.1", "escape-html": "^1.0.3", @@ -126,7 +126,7 @@ "http-proxy": "^1.18.1", "launch-editor-middleware": "^2.6.1", "lightningcss": "^1.23.0", - "magic-string": "^0.30.5", + "magic-string": "^0.30.7", "micromatch": "^4.0.5", "mlly": "^1.5.0", "mrmime": "^2.0.0", @@ -145,10 +145,10 @@ "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", "strip-literal": "^2.0.0", - "tsconfck": "^3.0.1", + "tsconfck": "^3.0.2", "tslib": "^2.6.2", "types": "link:./types", - "ufo": "^1.3.2", + "ufo": "^1.4.0", "ws": "^8.16.0" }, "peerDependencies": { diff --git a/packages/vite/rollup.config.ts b/packages/vite/rollup.config.ts index d86a27ff6745c8..6fa03af49edef0 100644 --- a/packages/vite/rollup.config.ts +++ b/packages/vite/rollup.config.ts @@ -197,7 +197,7 @@ function createCjsConfig(isProduction: boolean) { ...Object.keys(pkg.dependencies), ...(isProduction ? [] : Object.keys(pkg.devDependencies)), ], - plugins: [...createNodePlugins(false, false, false), bundleSizeLimit(163)], + plugins: [...createNodePlugins(false, false, false), bundleSizeLimit(165)], }) } @@ -327,18 +327,22 @@ const __require = require; * @param limit size in kB */ function bundleSizeLimit(limit: number): Plugin { + let size = 0 + return { name: 'bundle-limit', - generateBundle(options, bundle) { - const size = Buffer.byteLength( + generateBundle(_, bundle) { + size = Buffer.byteLength( Object.values(bundle) .map((i) => ('code' in i ? i.code : '')) .join(''), 'utf-8', ) + }, + closeBundle() { const kb = size / 1000 if (kb > limit) { - throw new Error( + this.error( `Bundle size exceeded ${limit} kB, current size is ${kb.toFixed( 2, )}kb.`, diff --git a/packages/vite/src/client/tsconfig.json b/packages/vite/src/client/tsconfig.json index d7677a584d057d..a7b763fdf2e37c 100644 --- a/packages/vite/src/client/tsconfig.json +++ b/packages/vite/src/client/tsconfig.json @@ -5,6 +5,6 @@ "types": [], "target": "ES2019", "lib": ["ESNext", "DOM"], - "declaration": false, - }, + "declaration": false + } } diff --git a/packages/vite/src/node/tsconfig.json b/packages/vite/src/node/tsconfig.json index 3d5265ea34b38b..a7f7890f1d0e7b 100644 --- a/packages/vite/src/node/tsconfig.json +++ b/packages/vite/src/node/tsconfig.json @@ -4,6 +4,6 @@ "exclude": ["**/__tests__"], "compilerOptions": { "lib": ["ESNext", "DOM"], - "stripInternal": true, - }, + "stripInternal": true + } } diff --git a/packages/vite/src/shared/tsconfig.json b/packages/vite/src/shared/tsconfig.json index 3d5265ea34b38b..a7f7890f1d0e7b 100644 --- a/packages/vite/src/shared/tsconfig.json +++ b/packages/vite/src/shared/tsconfig.json @@ -4,6 +4,6 @@ "exclude": ["**/__tests__"], "compilerOptions": { "lib": ["ESNext", "DOM"], - "stripInternal": true, - }, + "stripInternal": true + } } diff --git a/packages/vite/tsconfig.json b/packages/vite/tsconfig.json index 6af720b5810733..afcebbe0e7b69a 100644 --- a/packages/vite/tsconfig.json +++ b/packages/vite/tsconfig.json @@ -4,11 +4,11 @@ "./rollup.config.ts", "./rollup.dts.config.ts", "src/node/__tests__", - "src/types/shims.d.ts", + "src/types/shims.d.ts" ], "compilerOptions": { "esModuleInterop": true, "declaration": false, - "resolveJsonModule": true, - }, + "resolveJsonModule": true + } } diff --git a/patches/chokidar@3.5.3.patch b/patches/chokidar@3.6.0.patch similarity index 72% rename from patches/chokidar@3.5.3.patch rename to patches/chokidar@3.6.0.patch index 510fea89b1f487..70c2b0183971ae 100644 --- a/patches/chokidar@3.5.3.patch +++ b/patches/chokidar@3.6.0.patch @@ -1,8 +1,8 @@ diff --git a/lib/fsevents-handler.js b/lib/fsevents-handler.js -index 0f7f2cba857e0dbe001a5597061b11a9268d1e0e..5e99d97b917f8e2616cd3deb48b7a19d8b038928 100644 +index fe29393c179d3d6673f996ca6f95bbc83f9a0699..08e425fa3135df4b6d1912329f4d8b8b99c8048c 100644 --- a/lib/fsevents-handler.js +++ b/lib/fsevents-handler.js -@@ -303,7 +303,8 @@ _watchWithFsEvents(watchPath, realPath, transform, globFilter) { +@@ -305,7 +305,8 @@ _watchWithFsEvents(watchPath, realPath, transform, globFilter) { if (this.fsw.closed || this.fsw._isIgnored(watchPath)) return; const opts = this.fsw.options; const watchCallback = async (fullPath, flags, info) => { @@ -11,4 +11,4 @@ index 0f7f2cba857e0dbe001a5597061b11a9268d1e0e..5e99d97b917f8e2616cd3deb48b7a19d + if (this.fsw.closed || this.fsw._isIgnored(fullPath)) return; if ( opts.depth !== undefined && - calcDepth(fullPath, realPath) > opts.depth \ No newline at end of file + calcDepth(fullPath, realPath) > opts.depth diff --git a/playground/alias/package.json b/playground/alias/package.json index aca15aac8f4aa8..90ebfb75d55fa4 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -12,7 +12,7 @@ "dependencies": { "aliased-module": "file:./dir/module", "vue": "^3.4.15", - "@vue/shared": "^3.4.15" + "@vue/shared": "^3.4.16" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index d07ff4b18db093..34352d0d3bf9b8 100644 --- a/playground/css-sourcemap/package.json +++ b/playground/css-sourcemap/package.json @@ -11,7 +11,7 @@ }, "devDependencies": { "less": "^4.2.0", - "magic-string": "^0.30.5", + "magic-string": "^0.30.7", "sass": "^1.70.0", "stylus": "^0.62.0", "sugarss": "^4.0.1" diff --git a/playground/js-sourcemap/package.json b/playground/js-sourcemap/package.json index 816f80c600f51c..9cb0e2febb402b 100644 --- a/playground/js-sourcemap/package.json +++ b/playground/js-sourcemap/package.json @@ -11,6 +11,6 @@ }, "dependencies": { "@vitejs/test-importee-pkg": "file:importee-pkg", - "magic-string": "^0.30.5" + "magic-string": "^0.30.7" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 579cf61a594094..f012dba12f3d0e 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "axios": "^1.6.5", + "axios": "^1.6.7", "clipboard": "^2.0.11", "@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "file:./longfilename", "@vitejs/test-dep-alias-using-absolute-path": "file:./dep-alias-using-absolute-path", @@ -36,7 +36,7 @@ "@vitejs/test-added-in-entries": "file:./added-in-entries", "lodash-es": "^4.17.21", "@vitejs/test-nested-exclude": "file:./nested-exclude", - "phoenix": "^1.7.10", + "phoenix": "^1.7.11", "react": "^18.2.0", "react-dom": "^18.2.0", "@vitejs/test-resolve-linked": "workspace:0.0.0", diff --git a/playground/resolve/package.json b/playground/resolve/package.json index 27f6e6d12dca5f..ba67bcbc27adbb 100644 --- a/playground/resolve/package.json +++ b/playground/resolve/package.json @@ -18,7 +18,7 @@ "#other-pkg-slash/": "@vitejs/test-resolve-imports-pkg/nest/" }, "dependencies": { - "@babel/runtime": "^7.23.8", + "@babel/runtime": "^7.23.9", "es5-ext": "0.10.62", "normalize.css": "^8.0.1", "@vitejs/test-require-pkg-with-module-field": "link:./require-pkg-with-module-field", diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 7b154c55698e21..d37e3563dc6d0c 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.20231218.2", + "miniflare": "^3.20240129.1", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/tsconfig-json-load-error/tsconfig.json b/playground/tsconfig-json-load-error/tsconfig.json index 4e7442cb28261d..f15aff13b3bc35 100644 --- a/playground/tsconfig-json-load-error/tsconfig.json +++ b/playground/tsconfig-json-load-error/tsconfig.json @@ -14,7 +14,7 @@ "noImplicitReturns": true, "useDefineForClassFields": true, - "importsNotUsedAsValues": "preserve", + "importsNotUsedAsValues": "preserve" }, - "include": ["./src"], + "include": ["./src"] } diff --git a/playground/tsconfig-json/nested-with-extends/tsconfig.json b/playground/tsconfig-json/nested-with-extends/tsconfig.json index 410eea9d1fe757..2662e4c85e308b 100644 --- a/playground/tsconfig-json/nested-with-extends/tsconfig.json +++ b/playground/tsconfig-json/nested-with-extends/tsconfig.json @@ -2,6 +2,6 @@ "extends": "../tsconfig.json", "include": ["./"], "compilerOptions": { - "useDefineForClassFields": false, - }, + "useDefineForClassFields": false + } } diff --git a/playground/tsconfig-json/tsconfig.json b/playground/tsconfig-json/tsconfig.json index 55c19fc3eea9a9..6445b1652ea0e1 100644 --- a/playground/tsconfig-json/tsconfig.json +++ b/playground/tsconfig-json/tsconfig.json @@ -15,7 +15,7 @@ "useDefineForClassFields": true, "importsNotUsedAsValues": "preserve", - "experimentalDecorators": true, + "experimentalDecorators": true }, - "include": ["./src"], + "include": ["./src"] } diff --git a/playground/tsconfig.json b/playground/tsconfig.json index 79b2e6a6f641fe..e45775a61ff855 100644 --- a/playground/tsconfig.json +++ b/playground/tsconfig.json @@ -16,7 +16,7 @@ "jsx": "preserve", "types": ["vite/client", "node"], "paths": { - "~utils": ["./test-utils.ts"], - }, - }, + "~utils": ["./test-utils.ts"] + } + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7150128fce65f..79b972f25deef0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,9 +10,9 @@ overrides: packageExtensionsChecksum: 4e49e84b7a11dfd4895fbffb006a7015 patchedDependencies: - chokidar@3.5.3: - hash: dzxbf3kgof5pdmbsyih2x43sq4 - path: patches/chokidar@3.5.3.patch + chokidar@3.6.0: + hash: bckcfsslxcffppz65mxcq6naau + path: patches/chokidar@3.6.0.patch dotenv-expand@10.0.0: hash: weuqf2vlv5b5g6cikeo4slurbm path: patches/dotenv-expand@10.0.0.patch @@ -25,11 +25,11 @@ importers: .: devDependencies: '@babel/types': - specifier: ^7.23.6 - version: 7.23.6 + specifier: ^7.23.9 + version: 7.23.9 '@eslint-types/typescript-eslint': - specifier: ^6.18.1 - version: 6.18.1 + specifier: ^6.19.1 + version: 6.19.1 '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(rollup@4.2.0)(tslib@2.6.2)(typescript@5.2.2) @@ -64,8 +64,8 @@ importers: specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.11.5 - version: 20.11.5 + specifier: ^20.11.16 + version: 20.11.16 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -82,11 +82,11 @@ importers: specifier: ^8.5.10 version: 8.5.10 '@typescript-eslint/eslint-plugin': - specifier: ^6.19.0 - version: 6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.2.2) + specifier: ^6.21.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.19.0 - version: 6.19.0(eslint@8.56.0)(typescript@5.2.2) + specifier: ^6.21.0 + version: 6.21.0(eslint@8.56.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -101,7 +101,7 @@ importers: version: 2.1.0 eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0) eslint-plugin-n: specifier: ^16.6.2 version: 16.6.2(eslint@8.56.0) @@ -118,20 +118,20 @@ importers: specifier: ^11.2.0 version: 11.2.0 lint-staged: - specifier: ^15.2.0 - version: 15.2.0 + specifier: ^15.2.2 + version: 15.2.2 npm-run-all2: - specifier: ^6.1.1 - version: 6.1.1 + specifier: ^6.1.2 + version: 6.1.2 picocolors: specifier: ^1.0.0 version: 1.0.0 playwright-chromium: - specifier: ^1.41.1 - version: 1.41.1 + specifier: ^1.41.2 + version: 1.41.2 prettier: - specifier: 3.2.4 - version: 3.2.4 + specifier: 3.2.5 + version: 3.2.5 rimraf: specifier: ^5.0.5 version: 5.0.5 @@ -139,8 +139,8 @@ importers: specifier: ^4.2.0 version: 4.2.0 semver: - specifier: ^7.5.4 - version: 7.5.4 + specifier: ^7.6.0 + version: 7.6.0 simple-git-hooks: specifier: ^2.9.0 version: 2.9.0 @@ -160,11 +160,11 @@ importers: specifier: workspace:* version: link:packages/vite vitepress: - specifier: 1.0.0-rc.40 - version: 1.0.0-rc.40(typescript@5.2.2) + specifier: 1.0.0-rc.42 + version: 1.0.0-rc.42(typescript@5.2.2) vitest: - specifier: ^1.2.1 - version: 1.2.1(@types/node@20.11.5) + specifier: ^1.2.2 + version: 1.2.2(@types/node@20.11.16) vue: specifier: ^3.4.15 version: 3.4.15(typescript@5.2.2) @@ -196,23 +196,23 @@ importers: packages/plugin-legacy: dependencies: '@babel/core': - specifier: ^7.23.7 - version: 7.23.7 + specifier: ^7.23.9 + version: 7.23.9 '@babel/preset-env': - specifier: ^7.23.8 - version: 7.23.8(@babel/core@7.23.7) + specifier: ^7.23.9 + version: 7.23.9(@babel/core@7.23.9) browserslist: - specifier: ^4.22.2 - version: 4.22.2 + specifier: ^4.22.3 + version: 4.22.3 core-js: specifier: ^3.35.1 version: 3.35.1 esbuild-plugin-browserslist: - specifier: ^0.10.0 - version: 0.10.0(browserslist@4.22.2) + specifier: ^0.11.1 + version: 0.11.1(browserslist@4.22.3) magic-string: - specifier: ^0.30.5 - version: 0.30.5 + specifier: ^0.30.7 + version: 0.30.7 regenerator-runtime: specifier: ^0.14.1 version: 0.14.1 @@ -236,8 +236,8 @@ importers: specifier: ^0.19.3 version: 0.19.3 postcss: - specifier: ^8.4.33 - version: 8.4.33 + specifier: ^8.4.35 + version: 8.4.35 rollup: specifier: ^4.2.0 version: 4.2.0 @@ -250,8 +250,8 @@ importers: specifier: ^2.2.1 version: 2.2.1 '@babel/parser': - specifier: ^7.23.6 - version: 7.23.6 + specifier: ^7.23.9 + version: 7.23.9 '@jridgewell/trace-mapping': specifier: ^0.3.22 version: 0.3.22 @@ -295,8 +295,8 @@ importers: specifier: ^6.7.14 version: 6.7.14 chokidar: - specifier: ^3.5.3 - version: 3.5.3(patch_hash=dzxbf3kgof5pdmbsyih2x43sq4) + specifier: ^3.6.0 + version: 3.6.0(patch_hash=bckcfsslxcffppz65mxcq6naau) connect: specifier: ^3.7.0 version: 3.7.0 @@ -316,8 +316,8 @@ importers: specifier: link:./src/types version: link:src/types dotenv: - specifier: ^16.3.2 - version: 16.3.2 + specifier: ^16.4.1 + version: 16.4.1 dotenv-expand: specifier: ^10.0.0 version: 10.0.0(patch_hash=weuqf2vlv5b5g6cikeo4slurbm) @@ -346,8 +346,8 @@ importers: specifier: ^1.23.0 version: 1.23.0 magic-string: - specifier: ^0.30.5 - version: 0.30.5 + specifier: ^0.30.7 + version: 0.30.7 micromatch: specifier: ^4.0.5 version: 4.0.5 @@ -374,13 +374,13 @@ importers: version: 2.3.1 postcss-import: specifier: ^16.0.0 - version: 16.0.0(postcss@8.4.33) + version: 16.0.0(postcss@8.4.35) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.33)(ts-node@10.9.2) + version: 4.0.2(postcss@8.4.35)(ts-node@10.9.2) postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.33) + version: 6.0.0(postcss@8.4.35) resolve.exports: specifier: ^2.0.2 version: 2.0.2 @@ -403,8 +403,8 @@ importers: specifier: ^2.0.0 version: 2.0.0 tsconfck: - specifier: ^3.0.1 - version: 3.0.1(typescript@5.2.2) + specifier: ^3.0.2 + version: 3.0.2(typescript@5.2.2) tslib: specifier: ^2.6.2 version: 2.6.2 @@ -412,8 +412,8 @@ importers: specifier: link:./types version: link:types ufo: - specifier: ^1.3.2 - version: 1.3.2 + specifier: ^1.4.0 + version: 1.4.0 ws: specifier: ^8.16.0 version: 8.16.0 @@ -478,8 +478,8 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.4.15 - version: 3.4.15 + specifier: ^3.4.16 + version: 3.4.16 aliased-module: specifier: file:./dir/module version: file:playground/alias/dir/module @@ -561,7 +561,7 @@ importers: version: 4.2.0 postcss-nested: specifier: ^6.0.1 - version: 6.0.1(postcss@8.4.33) + version: 6.0.1(postcss@8.4.35) sass: specifier: ^1.70.0 version: 1.70.0 @@ -599,8 +599,8 @@ importers: specifier: ^4.2.0 version: 4.2.0 magic-string: - specifier: ^0.30.5 - version: 0.30.5 + specifier: ^0.30.7 + version: 0.30.7 sass: specifier: ^1.70.0 version: 1.70.0 @@ -750,8 +750,8 @@ importers: specifier: file:importee-pkg version: file:playground/js-sourcemap/importee-pkg magic-string: - specifier: ^0.30.5 - version: 0.30.5 + specifier: ^0.30.7 + version: 0.30.7 playground/js-sourcemap/importee-pkg: {} @@ -938,8 +938,8 @@ importers: specifier: workspace:0.0.0 version: link:../resolve-linked axios: - specifier: ^1.6.5 - version: 1.6.5 + specifier: ^1.6.7 + version: 1.6.7 clipboard: specifier: ^2.0.11 version: 2.0.11 @@ -953,8 +953,8 @@ importers: specifier: ^4.5.0 version: 4.5.0 phoenix: - specifier: ^1.7.10 - version: 1.7.10 + specifier: ^1.7.11 + version: 1.7.11 react: specifier: ^18.2.0 version: 18.2.0 @@ -1106,8 +1106,8 @@ importers: playground/resolve: dependencies: '@babel/runtime': - specifier: ^7.23.8 - version: 7.23.8 + specifier: ^7.23.9 + version: 7.23.9 '@vitejs/test-require-pkg-with-module-field': specifier: link:./require-pkg-with-module-field version: link:require-pkg-with-module-field @@ -1481,8 +1481,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20231218.2 - version: 3.20231218.2 + specifier: ^3.20240129.1 + version: 3.20240129.1 playground/ssr-webworker/browser-exports: {} @@ -1505,7 +1505,7 @@ importers: devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.5)(typescript@5.2.2) + version: 10.9.2(@types/node@20.11.16)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -1702,20 +1702,20 @@ packages: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.23.7: - resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + /@babel/core@7.23.9: + resolution: {integrity: sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.2.1 '@babel/code-frame': 7.23.5 '@babel/generator': 7.23.6 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) - '@babel/helpers': 7.23.8 - '@babel/parser': 7.23.6 - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) + '@babel/helpers': 7.23.9 + '@babel/parser': 7.23.9 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -1728,7 +1728,7 @@ packages: resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 '@jridgewell/gen-mapping': 0.3.3 '@jridgewell/trace-mapping': 0.3.22 jsesc: 2.5.2 @@ -1737,14 +1737,14 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-builder-binary-assignment-operator-visitor@7.22.15: resolution: {integrity: sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-compilation-targets@7.23.6: @@ -1753,46 +1753,46 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.2 + browserslist: 4.22.3 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.7): + /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.23.9): resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.7): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.23.9): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.4.4(@babel/core@7.23.7): - resolution: {integrity: sha512-QcJMILQCu2jm5TFPGA3lCpJJTeEP+mqeXooG/NZbg/h5FTFi6V0+99ahlRsW8/kRLyb24LZVCCiclDedhLKcBA==} + /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.23.9): + resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 debug: 4.3.4 @@ -1810,35 +1810,35 @@ packages: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/types': 7.23.9 /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-member-expression-to-functions@7.22.15: resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-module-imports@7.22.15: resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -1849,7 +1849,7 @@ packages: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-plugin-utils@7.22.5: @@ -1857,25 +1857,25 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.7): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.7): + /@babel/helper-replace-supers@7.22.20(@babel/core@7.23.9): resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.22.15 '@babel/helper-optimise-call-expression': 7.22.5 @@ -1885,20 +1885,20 @@ packages: resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false /@babel/helper-split-export-declaration@7.22.6: resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 /@babel/helper-string-parser@7.23.4: resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} @@ -1918,16 +1918,16 @@ packages: dependencies: '@babel/helper-function-name': 7.23.0 '@babel/template': 7.22.15 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: false - /@babel/helpers@7.23.8: - resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} + /@babel/helpers@7.23.9: + resolution: {integrity: sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/template': 7.22.15 - '@babel/traverse': 7.23.7 - '@babel/types': 7.23.6 + '@babel/template': 7.23.9 + '@babel/traverse': 7.23.9 + '@babel/types': 7.23.9 transitivePeerDependencies: - supports-color @@ -1940,855 +1940,855 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 - /@babel/parser@7.23.6: - resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + /@babel/parser@7.23.9: + resolution: {integrity: sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.7): + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.7): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) dev: false - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.7): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.23.9): resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.7): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.23.9): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.7): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.23.9): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.7): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.23.9): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.7): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.23.9): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.7): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.23.9): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.7): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.23.9): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-async-generator-functions@7.23.7(@babel/core@7.23.7): - resolution: {integrity: sha512-PdxEpL71bJp1byMG0va5gwQcXHxuEYC/BgI/e88mGTtohbZN28O5Yit0Plkkm/dBzCF/BxmbNcses1RH1T+urA==} + /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-module-imports': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.7) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.7): + /@babel/plugin-transform-classes@7.23.8(@babel/core@7.23.9): resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/template': 7.22.15 dev: false - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.7): + /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.23.9): resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.23.3(@babel/core@7.23.7): - resolution: {integrity: sha512-ZxyKGTkF9xT9YJuKQRo19ewf3pXpopuYQd8cDXqNzc3mUNbOME0RKMoZxviQk74hwzfQsEe66dE92MaZbdHKNQ==} + /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.7): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.23.9): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-object-rest-spread@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.7) + '@babel/helper-replace-supers': 7.22.20(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.7): + /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.23.9): resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) dev: false - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-spread@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.7): + /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.23.9): resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.23.9) '@babel/helper-plugin-utils': 7.22.5 dev: false - /@babel/preset-env@7.23.8(@babel/core@7.23.7): - resolution: {integrity: sha512-lFlpmkApLkEP6woIKprO6DO60RImpatTQKtz4sUcDjVcK8M8mQ4sZsuxaTMNOZf0sqAq/ReYW1ZBHnOQwKpLWA==} + /@babel/preset-env@7.23.9(@babel/core@7.23.9): + resolution: {integrity: sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.22.5 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.7) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.7) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.7) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.7) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.7) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.7) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.7) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.7) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-async-generator-functions': 7.23.7(@babel/core@7.23.7) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.7) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.7) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-systemjs': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.7) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.7) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.7) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.7) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.7) - babel-plugin-polyfill-corejs2: 0.4.7(@babel/core@7.23.7) - babel-plugin-polyfill-corejs3: 0.8.7(@babel/core@7.23.7) - babel-plugin-polyfill-regenerator: 0.5.4(@babel/core@7.23.7) - core-js-compat: 3.33.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.23.9) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.23.9) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.23.9) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.23.9) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.23.9) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.23.9) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.23.9) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.23.9) + '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.23.9) + '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.23.9) + '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.23.9) + '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.23.9) + '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-rest-spread': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.23.9) + '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.23.9) + '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.23.9) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.23.9) + babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.23.9) + babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.23.9) + babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.23.9) + core-js-compat: 3.35.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.7): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.23.9): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/helper-plugin-utils': 7.22.5 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 esutils: 2.0.3 dev: false @@ -2796,8 +2796,8 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime@7.23.8: - resolution: {integrity: sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==} + /@babel/runtime@7.23.9: + resolution: {integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -2813,11 +2813,20 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + dev: false - /@babel/traverse@7.23.7: - resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + /@babel/template@7.23.9: + resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 + + /@babel/traverse@7.23.9: + resolution: {integrity: sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.23.5 @@ -2826,23 +2835,23 @@ packages: '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color - /@babel/types@7.23.6: - resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + /@babel/types@7.23.9: + resolution: {integrity: sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.23.4 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@cloudflare/workerd-darwin-64@1.20231218.0: - resolution: {integrity: sha512-547gOmTIVmRdDy7HNAGJUPELa+fSDm2Y0OCxqAtQOz0GLTDu1vX61xYmsb2rn91+v3xW6eMttEIpbYokKjtfJA==} + /@cloudflare/workerd-darwin-64@1.20240129.0: + resolution: {integrity: sha512-DfVVB5IsQLVcWPJwV019vY3nEtU88c2Qu2ST5SQxqcGivZ52imagLRK0RHCIP8PK4piSiq90qUC6ybppUsw8eg==} engines: {node: '>=16'} cpu: [x64] os: [darwin] @@ -2850,8 +2859,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-darwin-arm64@1.20231218.0: - resolution: {integrity: sha512-b39qrU1bKolCfmKFDAnX4vXcqzISkEUVE/V8sMBsFzxrIpNAbcUHBZAQPYmS/OHIGB94KjOVokvDi7J6UNurPw==} + /@cloudflare/workerd-darwin-arm64@1.20240129.0: + resolution: {integrity: sha512-t0q8ABkmumG1zRM/MZ/vIv/Ysx0vTAXnQAPy/JW5aeQi/tqrypXkO9/NhPc0jbF/g/hIPrWEqpDgEp3CB7Da7Q==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] @@ -2859,8 +2868,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-64@1.20231218.0: - resolution: {integrity: sha512-dMUF1wA+0mybm6hHNOCgY/WMNMwomPPs4I7vvYCgwHSkch0Q2Wb7TnxQZSt8d1PK/myibaBwadrlIxpjxmpz3w==} + /@cloudflare/workerd-linux-64@1.20240129.0: + resolution: {integrity: sha512-sFV1uobHgDI+6CKBS/ZshQvOvajgwl6BtiYaH4PSFSpvXTmRx+A9bcug+6BnD+V4WgwxTiEO2iR97E1XuwDAVw==} engines: {node: '>=16'} cpu: [x64] os: [linux] @@ -2868,8 +2877,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-arm64@1.20231218.0: - resolution: {integrity: sha512-2s5uc8IHt0QmWyKxAr1Fy+4b8Xy0b/oUtlPnm5MrKi2gDRlZzR7JvxENPJCpCnYENydS8lzvkMiAFECPBccmyQ==} + /@cloudflare/workerd-linux-arm64@1.20240129.0: + resolution: {integrity: sha512-O7q7htHaFRp8PgTqNJx1/fYc3+LnvAo6kWWB9a14C5OWak6AAZk42PNpKPx+DXTmGvI+8S1+futBGUeJ8NPDXg==} engines: {node: '>=16'} cpu: [arm64] os: [linux] @@ -2877,8 +2886,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-windows-64@1.20231218.0: - resolution: {integrity: sha512-oN5hz6TXUDB5YKUN5N3QWAv6cYz9JjTZ9g16HVyoegVFEL6/zXU3tV19MBX2IvlE11ab/mRogEv9KXVIrHfKmA==} + /@cloudflare/workerd-windows-64@1.20240129.0: + resolution: {integrity: sha512-YqGno0XSqqqkDmNoGEX6M8kJlI2lEfWntbTPVtHaZlaXVR9sWfoD7TEno0NKC95cXFz+ioyFLbgbOdnfWwmVAA==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -3530,8 +3539,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint-types/typescript-eslint@6.18.1: - resolution: {integrity: sha512-sROyc1rWhtvSdszkR3VAv2fioXIyKNFFRbIgoiije2FA+iNn4FEDhP2+kvbq8wPda2adcrNhSZyWSEFsef+lbg==} + /@eslint-types/typescript-eslint@6.19.1: + resolution: {integrity: sha512-X0farz1+psE6Qfx6+ISQQ/J3ZetKlUeuTIN9Zt/agx4UXrgK6daH/n9ba776JxysK6YJCRaEHng/bcQQUm+BsA==} dev: true /@eslint/eslintrc@2.1.4: @@ -3556,6 +3565,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@fastify/busboy@2.1.0: + resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} + engines: {node: '>=14'} + dev: true + /@humanwhocodes/config-array@0.11.13: resolution: {integrity: sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==} engines: {node: '>=10.10.0'} @@ -3657,7 +3671,7 @@ packages: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.5.4 + semver: 7.6.0 tar: 6.1.11 transitivePeerDependencies: - encoding @@ -3751,7 +3765,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 4.2.0 dev: true @@ -3768,7 +3782,7 @@ packages: astring: 1.8.6 estree-walker: 2.0.2 fast-glob: 3.3.2 - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 4.2.0 dev: true @@ -3997,6 +4011,16 @@ packages: requiresBuild: true optional: true + /@shikijs/core@1.0.0: + resolution: {integrity: sha512-UMKGMZ+8b88N0/n6DWwWth1PHsOaxjW+R2u+hzSiargZWTv+l3s1l8dhuIxUSsEUPlBDKLs2CSMiFZeviKQM1w==} + dev: true + + /@shikijs/transformers@1.0.0: + resolution: {integrity: sha512-US0Sc0OdH7eGL64BtfvX3XezPfqhqF5mPyBFLlbZqSpFt2/emnv9GveAWzELGsIuvXoJ6N1RjeAdmQx5Xni6BQ==} + dependencies: + shiki: 1.0.0 + dev: true + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true @@ -4016,8 +4040,8 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 '@types/babel__traverse': 7.17.1 @@ -4026,7 +4050,7 @@ packages: /@types/babel__generator@7.6.4: resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@types/babel__preset-env@7.9.6: @@ -4036,14 +4060,14 @@ packages: /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 dev: true /@types/babel__traverse@7.17.1: resolution: {integrity: sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /@types/braces@3.0.1: @@ -4057,7 +4081,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.16 dev: true /@types/debug@4.1.12: @@ -4085,14 +4109,14 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.16 dev: true /@types/fs-extra@11.0.4: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.11.5 + '@types/node': 20.11.16 dev: true /@types/json-schema@7.0.12: @@ -4102,7 +4126,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.16 dev: true /@types/less@3.0.6: @@ -4148,8 +4172,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.5: - resolution: {integrity: sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==} + /@types/node@20.11.16: + resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} dependencies: undici-types: 5.26.5 @@ -4179,7 +4203,7 @@ packages: /@types/sass@1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.16 dev: true /@types/semver@7.5.6: @@ -4189,7 +4213,7 @@ packages: /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.16 dev: true /@types/web-bluetooth@0.0.20: @@ -4199,11 +4223,11 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.5 + '@types/node': 20.11.16 dev: true - /@typescript-eslint/eslint-plugin@6.19.0(@typescript-eslint/parser@6.19.0)(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==} + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha @@ -4214,25 +4238,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.19.0 - '@typescript-eslint/type-utils': 6.19.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.19.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 ignore: 5.2.4 natural-compare: 1.4.0 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.1(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@6.19.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==} + /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4241,10 +4265,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.19.0 - '@typescript-eslint/types': 6.19.0 - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.19.0 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 eslint: 8.56.0 typescript: 5.2.2 @@ -4252,16 +4276,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.19.0: - resolution: {integrity: sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==} + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.0 - '@typescript-eslint/visitor-keys': 6.19.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 dev: true - /@typescript-eslint/type-utils@6.19.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==} + /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4270,8 +4294,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.19.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) + '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.56.0 ts-api-utils: 1.0.1(typescript@5.2.2) @@ -4280,13 +4304,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.19.0: - resolution: {integrity: sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.19.0(typescript@5.2.2): - resolution: {integrity: sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==} + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.2.2): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4294,21 +4318,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.19.0 - '@typescript-eslint/visitor-keys': 6.19.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.5.4 + semver: 7.6.0 ts-api-utils: 1.0.1(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@6.19.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==} + /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 @@ -4316,21 +4340,21 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.6 - '@typescript-eslint/scope-manager': 6.19.0 - '@typescript-eslint/types': 6.19.0 - '@typescript-eslint/typescript-estree': 6.19.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) eslint: 8.56.0 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@6.19.0: - resolution: {integrity: sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==} + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.19.0 + '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4357,41 +4381,41 @@ packages: picocolors: 1.0.0 prompts: 2.4.2 publint: 0.2.2 - semver: 7.5.4 + semver: 7.6.0 dev: true - /@vitest/expect@1.2.1: - resolution: {integrity: sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==} + /@vitest/expect@1.2.2: + resolution: {integrity: sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==} dependencies: - '@vitest/spy': 1.2.1 - '@vitest/utils': 1.2.1 + '@vitest/spy': 1.2.2 + '@vitest/utils': 1.2.2 chai: 4.3.10 dev: true - /@vitest/runner@1.2.1: - resolution: {integrity: sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==} + /@vitest/runner@1.2.2: + resolution: {integrity: sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==} dependencies: - '@vitest/utils': 1.2.1 + '@vitest/utils': 1.2.2 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.2.1: - resolution: {integrity: sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==} + /@vitest/snapshot@1.2.2: + resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.2.1: - resolution: {integrity: sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==} + /@vitest/spy@1.2.2: + resolution: {integrity: sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.2.1: - resolution: {integrity: sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==} + /@vitest/utils@1.2.2: + resolution: {integrity: sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -4402,8 +4426,8 @@ packages: /@vue/compiler-core@3.2.0: resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 '@vue/shared': 3.2.0 estree-walker: 2.0.2 source-map: 0.6.1 @@ -4412,7 +4436,7 @@ packages: /@vue/compiler-core@3.4.15: resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/shared': 3.4.15 entities: 4.5.0 estree-walker: 2.0.2 @@ -4434,14 +4458,14 @@ packages: /@vue/compiler-sfc@3.4.15: resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==} dependencies: - '@babel/parser': 7.23.6 + '@babel/parser': 7.23.9 '@vue/compiler-core': 3.4.15 '@vue/compiler-dom': 3.4.15 '@vue/compiler-ssr': 3.4.15 '@vue/shared': 3.4.15 estree-walker: 2.0.2 - magic-string: 0.30.5 - postcss: 8.4.33 + magic-string: 0.30.7 + postcss: 8.4.35 source-map-js: 1.0.2 /@vue/compiler-ssr@3.4.15: @@ -4454,8 +4478,31 @@ packages: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} dev: false - /@vue/devtools-api@6.5.1: - resolution: {integrity: sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==} + /@vue/devtools-api@7.0.14: + resolution: {integrity: sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw==} + dependencies: + '@vue/devtools-kit': 7.0.14 + dev: true + + /@vue/devtools-kit@7.0.14: + resolution: {integrity: sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg==} + dependencies: + '@vue/devtools-schema': 7.0.14 + '@vue/devtools-shared': 7.0.14 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 1.0.0 + speakingurl: 14.0.1 + dev: true + + /@vue/devtools-schema@7.0.14: + resolution: {integrity: sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg==} + dev: true + + /@vue/devtools-shared@7.0.14: + resolution: {integrity: sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA==} + dependencies: + rfdc: 1.3.1 dev: true /@vue/reactivity@3.2.0: @@ -4513,6 +4560,10 @@ packages: /@vue/shared@3.4.15: resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} + /@vue/shared@3.4.16: + resolution: {integrity: sha512-HKCjeaxR+R95dCw1BDaytcHdlzZj9lxj7RlFnxWtcKq670t8oSeMsbPlkzkNc2V6IUzHaMtUxdBcdREAhb+7NA==} + dev: false + /@vueuse/core@10.7.2(vue@3.4.15): resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} dependencies: @@ -4809,7 +4860,7 @@ packages: postcss: optional: true dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 caniuse-lite: 1.0.30001579 fraction.js: 4.3.7 normalize-range: 0.1.2 @@ -4817,8 +4868,8 @@ packages: postcss-value-parser: 4.2.0 dev: false - /axios@1.6.5: - resolution: {integrity: sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==} + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} dependencies: follow-redirects: 1.15.4 form-data: 4.0.0 @@ -4827,38 +4878,38 @@ packages: - debug dev: false - /babel-plugin-polyfill-corejs2@0.4.7(@babel/core@7.23.7): - resolution: {integrity: sha512-LidDk/tEGDfuHW2DWh/Hgo4rmnw3cduK6ZkOI1NPFceSK3n/yAGeOsNT7FLnSGHkXj3RHGSEVkN3FsCTY6w2CQ==} + /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.23.9): + resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/compat-data': 7.23.5 - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.8.7(@babel/core@7.23.7): - resolution: {integrity: sha512-KyDvZYxAzkC0Aj2dAPyDzi2Ym15e5JKZSK+maI7NAwSqofvuFglbSsxE7wUOvTg9oFVnHMzVzBKcqEb4PJgtOA==} + /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.23.9): + resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) core-js-compat: 3.35.0 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.4(@babel/core@7.23.7): - resolution: {integrity: sha512-S/x2iOCvDaCASLYsOOgWOq4bCfKYVqvO/uxjkaYyZ3rVsVE3CeAI/c84NpyuBBymEgNvHgjEot3a9/Z/kXvqsg==} + /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.23.9): + resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.23.7 - '@babel/helper-define-polyfill-provider': 0.4.4(@babel/core@7.23.7) + '@babel/core': 7.23.9 + '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.23.9) transitivePeerDependencies: - supports-color dev: false @@ -4867,7 +4918,7 @@ packages: resolution: {integrity: sha512-GAwkz0AihzY5bkwIY5QDR+LvsRQgB/B+1foMPvi0FZPMl5fjD7ICiznUiBdLYMH1QYe6vqu4gWYytZOccLouFw==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 dev: true /balanced-match@1.0.2: @@ -4930,15 +4981,15 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist@4.22.2: - resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + /browserslist@4.22.3: + resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001566 - electron-to-chromium: 1.4.601 + caniuse-lite: 1.0.30001585 + electron-to-chromium: 1.4.661 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.2) + update-browserslist-db: 1.0.13(browserslist@4.22.3) /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -4952,14 +5003,7 @@ packages: /builtins@5.0.1: resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} dependencies: - semver: 7.5.4 - dev: true - - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - dependencies: - streamsearch: 1.1.0 + semver: 7.6.0 dev: true /bytes@3.1.2: @@ -4986,13 +5030,13 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - /caniuse-lite@1.0.30001566: - resolution: {integrity: sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==} - /caniuse-lite@1.0.30001579: resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} dev: false + /caniuse-lite@1.0.30001585: + resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==} + /capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} dependencies: @@ -5049,8 +5093,8 @@ packages: get-func-name: 2.0.2 dev: true - /chokidar@3.5.3(patch_hash=dzxbf3kgof5pdmbsyih2x43sq4): - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + /chokidar@3.6.0(patch_hash=bckcfsslxcffppz65mxcq6naau): + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.2 @@ -5196,8 +5240,8 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 dev: true /content-disposition@0.5.4: @@ -5302,7 +5346,7 @@ packages: handlebars: 4.7.7 json-stringify-safe: 5.0.1 meow: 12.1.1 - semver: 7.5.4 + semver: 7.6.0 split2: 4.2.0 dev: true @@ -5355,16 +5399,10 @@ packages: is-what: 3.14.1 dev: true - /core-js-compat@3.33.0: - resolution: {integrity: sha512-0w4LcLXsVEuNkIqwjjf9rjCoPhK8uqA4tMRh4Ge26vfLtUutshn+aRJU21I9LCJlh2QQHfisNToLjw1XEJLTWw==} - dependencies: - browserslist: 4.22.2 - dev: false - /core-js-compat@3.35.0: resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 dev: false /core-js@3.35.1: @@ -5564,8 +5602,8 @@ packages: dev: true patched: true - /dotenv@16.3.2: - resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + /dotenv@16.4.1: + resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} engines: {node: '>=12'} dev: true @@ -5576,8 +5614,8 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium@1.4.601: - resolution: {integrity: sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA==} + /electron-to-chromium@1.4.661: + resolution: {integrity: sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw==} /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -5647,14 +5685,14 @@ packages: ext: 1.6.0 dev: false - /esbuild-plugin-browserslist@0.10.0(browserslist@4.22.2): - resolution: {integrity: sha512-rZWFcp3l+73xDiJB+Vl9UqP1VVs+L4E0lygbwJl6UTmW2qQago7DLT56hBu0vocH/TtZsAcRHj0+qHqkkB5Gww==} + /esbuild-plugin-browserslist@0.11.1(browserslist@4.22.3): + resolution: {integrity: sha512-yNdZRdDBEbm0PT4q2bJBhXvnwakXG5mG8ipiwGe5SRDPnKa7L7kQm2tHuBMowBtcFz6kRtZTv5njK7PJwU+tCQ==} engines: {node: '>=18'} peerDependencies: browserslist: ^4.21.8 - esbuild: ~0.19.2 + esbuild: ~0.20.0 dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 debug: 4.3.4 zod: 3.21.4 transitivePeerDependencies: @@ -5792,7 +5830,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5813,7 +5851,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.19.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 @@ -5833,7 +5871,7 @@ packages: eslint-compat-utils: 0.1.2(eslint@8.56.0) dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.19.0)(eslint@8.56.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -5843,11 +5881,11 @@ packages: doctrine: 3.0.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.19.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 - semver: 7.5.4 + semver: 7.6.0 transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-typescript @@ -5872,7 +5910,7 @@ packages: is-core-module: 2.13.1 minimatch: 3.1.2 resolve: 1.22.4 - semver: 7.5.4 + semver: 7.6.0 dev: true /eslint-plugin-regexp@2.2.0(eslint@8.56.0): @@ -6356,7 +6394,7 @@ packages: hasBin: true dependencies: meow: 12.1.1 - semver: 7.5.4 + semver: 7.6.0 dev: true /glob-parent@5.1.2: @@ -6590,7 +6628,7 @@ packages: dev: true optional: true - /icss-utils@5.1.0(postcss@8.4.33): + /icss-utils@5.1.0(postcss@8.4.35): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -6599,7 +6637,7 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.33 + postcss: 8.4.35 dev: true /ignore-walk@5.0.1: @@ -7046,8 +7084,8 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /lint-staged@15.2.0: - resolution: {integrity: sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==} + /lint-staged@15.2.2: + resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} engines: {node: '>=18.12.0'} hasBin: true dependencies: @@ -7056,7 +7094,7 @@ packages: debug: 4.3.4 execa: 8.0.1 lilconfig: 3.0.0 - listr2: 8.0.0 + listr2: 8.0.1 micromatch: 4.0.5 pidtree: 0.6.0 string-argv: 0.3.2 @@ -7065,8 +7103,8 @@ packages: - supports-color dev: true - /listr2@8.0.0: - resolution: {integrity: sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==} + /listr2@8.0.1: + resolution: {integrity: sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==} engines: {node: '>=18.0.0'} dependencies: cli-truncate: 4.0.0 @@ -7181,8 +7219,8 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.5: - resolution: {integrity: sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==} + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -7272,8 +7310,8 @@ packages: engines: {node: '>=12'} dev: true - /miniflare@3.20231218.2: - resolution: {integrity: sha512-rCUI2OjqCf3fZVdmSX4DOZQRzSDvHp/oL2vjER/cvJEdWSYiqRxDp2oO7A7JcEo1/Y+kPa5VQ1pFfdZpjBcpFg==} + /miniflare@3.20240129.1: + resolution: {integrity: sha512-GfqclPxbTnam4S8GKHRkFyr+s+szELK/ORtQ3ZFUiGBO4HNJsaeA6RhBMKBH7iHqn5ng035cyPsLZvH35lwtsA==} engines: {node: '>=16.13'} hasBin: true dependencies: @@ -7284,8 +7322,8 @@ packages: exit-hook: 2.2.1 glob-to-regexp: 0.4.1 stoppable: 1.1.0 - undici: 5.23.0 - workerd: 1.20231218.0 + undici: 5.28.3 + workerd: 1.20240129.0 ws: 8.16.0 youch: 3.2.3 zod: 3.21.4 @@ -7349,6 +7387,10 @@ packages: yallist: 4.0.0 dev: false + /mitt@3.0.1: + resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + dev: true + /mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -7391,7 +7433,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.2 + ufo: 1.4.0 dev: true /mlly@1.5.0: @@ -7400,7 +7442,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.3.2 + ufo: 1.4.0 dev: true /moment@2.29.3: @@ -7520,7 +7562,7 @@ packages: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.5.4 + semver: 7.6.0 validate-npm-package-license: 3.0.4 dev: true @@ -7549,6 +7591,11 @@ packages: engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dev: true + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /npm-packlist@5.1.3: resolution: {integrity: sha512-263/0NGrn32YFYi4J533qzrQ/krmmrWwhKkzwTuM4f/07ug51odoaNjUexxO4vxlzURHcmYMH1QjvHjsNDKLVg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} @@ -7560,17 +7607,17 @@ packages: npm-normalize-package-bin: 2.0.0 dev: true - /npm-run-all2@6.1.1: - resolution: {integrity: sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==} + /npm-run-all2@6.1.2: + resolution: {integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} hasBin: true dependencies: ansi-styles: 6.2.1 cross-spawn: 7.0.3 memorystream: 0.3.1 - minimatch: 9.0.1 + minimatch: 9.0.3 pidtree: 0.6.0 - read-pkg: 8.1.0 + read-package-json-fast: 3.0.2 shell-quote: 1.8.1 dev: true @@ -7782,6 +7829,10 @@ packages: resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true + /perfect-debounce@1.0.0: + resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} + dev: true + /periscopic@4.0.2: resolution: {integrity: sha512-sqpQDUy8vgB7ycLkendSKS6HnVz1Rneoc3Rc+ZBUCe2pbqlVuCC5vF52l0NJ1aiMg/r1qfYF9/myz8CZeI2rjA==} dependencies: @@ -7790,8 +7841,8 @@ packages: zimmerframe: 1.0.0 dev: true - /phoenix@1.7.10: - resolution: {integrity: sha512-akfr/QvLPFRB8sORyc8FQFY/YoGwjWhka/YRcu45sKlBOZHvA80EkLYBUsYlW63UicxgrXABZdrjDkv54LTE+g==} + /phoenix@1.7.11: + resolution: {integrity: sha512-aeikMR/Qh6gAygY45d5p/B7srqH60h0GbCIauEAStAtRUq4hvlkzDTyDj1NJidJEV9IKFhZe7f9L+zosUJdF/g==} dev: false /picocolors@1.0.0: @@ -7830,22 +7881,22 @@ packages: pathe: 1.1.2 dev: true - /playwright-chromium@1.41.1: - resolution: {integrity: sha512-Nr1/rnmRB4QzoAQwCors1Qsa9PLSdipsKiI4FZCQjSDzoBVBzoQqfXGtcIEnoAXEEEpzxuCPqjJNQwCVA66tCw==} + /playwright-chromium@1.41.2: + resolution: {integrity: sha512-1XoW4aGGRbS2BJLldtLcv2QW3deMv8myE5iCtfGRPq99BWqmBLJvJTgY/SyfBCoklwQvl91zUWYWHjCAuvKGkw==} engines: {node: '>=16'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.41.1 + playwright-core: 1.41.2 dev: true - /playwright-core@1.41.1: - resolution: {integrity: sha512-/KPO5DzXSMlxSX77wy+HihKGOunh3hqndhqeo/nMxfigiKzogn8kfL0ZBDu0L1RKgan5XHCPmn6zXd2NUJgjhg==} + /playwright-core@1.41.2: + resolution: {integrity: sha512-VaTvwCA4Y8kxEe+kfm2+uUUw5Lubf38RxF7FpBxLPmGe5sdNkSg5e3ChEigaGrX7qdqT3pt2m/98LiyvU2x6CA==} engines: {node: '>=16'} hasBin: true dev: true - /postcss-import@15.1.0(postcss@8.4.33): + /postcss-import@15.1.0(postcss@8.4.35): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: @@ -7854,12 +7905,12 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 - /postcss-import@16.0.0(postcss@8.4.33): + /postcss-import@16.0.0(postcss@8.4.35): resolution: {integrity: sha512-e77lhVvrD1I2y7dYmBv0k9ULTdArgEYZt97T4w6sFIU5uxIHvDFQlKgUUyY7v7Barj0Yf/zm5A4OquZN7jKm5Q==} engines: {node: '>=18.0.0'} peerDependencies: @@ -7868,13 +7919,13 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 dev: true - /postcss-js@4.0.1(postcss@8.4.33): + /postcss-js@4.0.1(postcss@8.4.35): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: @@ -7884,9 +7935,9 @@ packages: optional: true dependencies: camelcase-css: 2.0.1 - postcss: 8.4.33 + postcss: 8.4.35 - /postcss-load-config@4.0.2(postcss@8.4.33)(ts-node@10.9.2): + /postcss-load-config@4.0.2(postcss@8.4.35)(ts-node@10.9.2): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -7899,11 +7950,11 @@ packages: optional: true dependencies: lilconfig: 3.0.0 - postcss: 8.4.33 - ts-node: 10.9.2(@types/node@20.11.5)(typescript@5.2.2) + postcss: 8.4.35 + ts-node: 10.9.2(@types/node@20.11.16)(typescript@5.2.2) yaml: 2.3.4 - /postcss-modules-extract-imports@3.0.0(postcss@8.4.33): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -7912,10 +7963,10 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.33 + postcss: 8.4.35 dev: true - /postcss-modules-local-by-default@4.0.0(postcss@8.4.33): + /postcss-modules-local-by-default@4.0.0(postcss@8.4.35): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -7924,13 +7975,13 @@ packages: postcss: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 + icss-utils: 5.1.0(postcss@8.4.35) + postcss: 8.4.35 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.33): + /postcss-modules-scope@3.0.0(postcss@8.4.35): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -7939,11 +7990,11 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-selector-parser: 6.0.11 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.33): + /postcss-modules-values@4.0.0(postcss@8.4.35): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -7952,11 +8003,11 @@ packages: postcss: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.33) - postcss: 8.4.33 + icss-utils: 5.1.0(postcss@8.4.35) + postcss: 8.4.35 dev: true - /postcss-modules@6.0.0(postcss@8.4.33): + /postcss-modules@6.0.0(postcss@8.4.35): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 @@ -7965,17 +8016,17 @@ packages: optional: true dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.33) + icss-utils: 5.1.0(postcss@8.4.35) lodash.camelcase: 4.3.0 - postcss: 8.4.33 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.33) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.33) - postcss-modules-scope: 3.0.0(postcss@8.4.33) - postcss-modules-values: 4.0.0(postcss@8.4.33) + postcss: 8.4.35 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.35) + postcss-modules-scope: 3.0.0(postcss@8.4.35) + postcss-modules-values: 4.0.0(postcss@8.4.35) string-hash: 1.1.3 dev: true - /postcss-nested@6.0.1(postcss@8.4.33): + /postcss-nested@6.0.1(postcss@8.4.35): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: @@ -7984,7 +8035,7 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.33 + postcss: 8.4.35 postcss-selector-parser: 6.0.11 /postcss-selector-parser@6.0.11: @@ -7997,8 +8048,8 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -8014,8 +8065,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true dev: true @@ -8232,6 +8283,14 @@ packages: dependencies: pify: 2.3.0 + /read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + json-parse-even-better-errors: 3.0.0 + npm-normalize-package-bin: 3.0.1 + dev: true + /read-pkg-up@10.1.0: resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} engines: {node: '>=16'} @@ -8291,7 +8350,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.23.8 + '@babel/runtime': 7.23.9 dev: false /regexp-ast-analysis@0.7.1: @@ -8363,6 +8422,10 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: true + /rimraf@3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -8384,7 +8447,7 @@ packages: rollup: ^3.25 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 3.29.2 typescript: 5.2.2 optionalDependencies: @@ -8398,7 +8461,7 @@ packages: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.5 + magic-string: 0.30.7 rollup: 4.2.0 typescript: 5.2.2 optionalDependencies: @@ -8414,7 +8477,7 @@ packages: commenting: 1.1.0 glob: 7.2.0 lodash: 4.17.21 - magic-string: 0.30.5 + magic-string: 0.30.7 mkdirp: 3.0.1 moment: 2.29.3 package-name-regex: 2.0.6 @@ -8473,7 +8536,7 @@ packages: engines: {node: '>=14.0.0'} hasBin: true dependencies: - chokidar: 3.5.3(patch_hash=dzxbf3kgof5pdmbsyih2x43sq4) + chokidar: 3.6.0(patch_hash=bckcfsslxcffppz65mxcq6naau) immutable: 4.0.0 source-map-js: 1.0.2 dev: true @@ -8516,8 +8579,8 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true dependencies: @@ -8581,20 +8644,10 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true - /shikiji-core@0.10.0: - resolution: {integrity: sha512-imG+bvRkuNlZUi2q9tMVfegRRouTpDxMFejpfF/6J+bFX3NDKtlW9T9iIAkBYnw4pcCtSwirW0AvkwlQR4wyxg==} - dev: true - - /shikiji-transformers@0.10.0: - resolution: {integrity: sha512-x9oYybeF/XOrIc6Mm8G1gU5ezunMxdgD4WwBTKrZ5tAmFFaNIWCjwZENgRt1uR4iMi0+pGH0g9bmrbraSC41nA==} - dependencies: - shikiji: 0.10.0 - dev: true - - /shikiji@0.10.0: - resolution: {integrity: sha512-1dAzIOWbtM7B4Sem5BvE+CEdsebDsRA34SfCxM4qJ4PLgR73ZD92VEtNfbcoZ3xOLSqvtV0J9i4WpCgVsmQteg==} + /shiki@1.0.0: + resolution: {integrity: sha512-rOUGJa3yFGgOrEoiELYxraoBbag3ZWf9bpodlr05Wjm85Scx8OIX+otdSefq9Pk7L47TKEzGodSQb4L38jka6A==} dependencies: - shikiji-core: 0.10.0 + '@shikijs/core': 1.0.0 dev: true /side-channel@1.0.4: @@ -8734,6 +8787,11 @@ packages: spdx-ranges: 2.1.1 dev: true + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: true + /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -8768,11 +8826,6 @@ packages: engines: {node: '>=4', npm: '>=6'} dev: true - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: true - /string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} @@ -8918,7 +8971,7 @@ packages: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3(patch_hash=dzxbf3kgof5pdmbsyih2x43sq4) + chokidar: 3.6.0(patch_hash=bckcfsslxcffppz65mxcq6naau) didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 @@ -8930,11 +8983,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.33 - postcss-import: 15.1.0(postcss@8.4.33) - postcss-js: 4.0.1(postcss@8.4.33) - postcss-load-config: 4.0.2(postcss@8.4.33)(ts-node@10.9.2) - postcss-nested: 6.0.1(postcss@8.4.33) + postcss: 8.4.35 + postcss-import: 15.1.0(postcss@8.4.35) + postcss-js: 4.0.1(postcss@8.4.35) + postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2) + postcss-nested: 6.0.1(postcss@8.4.35) postcss-selector-parser: 6.0.11 resolve: 1.22.4 sucrase: 3.32.0 @@ -9008,8 +9061,8 @@ packages: resolution: {integrity: sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==} dev: true - /tinypool@0.8.1: - resolution: {integrity: sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==} + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} engines: {node: '>=14.0.0'} dev: true @@ -9056,7 +9109,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.11.5)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -9075,7 +9128,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.11.5 + '@types/node': 20.11.16 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -9086,8 +9139,8 @@ packages: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - /tsconfck@3.0.1(typescript@5.2.2): - resolution: {integrity: sha512-7ppiBlF3UEddCLeI1JRx5m2Ryq+xk4JrZuq4EuYXykipebaq1dV0Fhgr1hb7CkmHt32QSgOZlcqVLEtHBG4/mg==} + /tsconfck@3.0.2(typescript@5.2.2): + resolution: {integrity: sha512-6lWtFjwuhS3XI4HsX4Zg0izOI3FU/AI9EGVlPEUMDIhvLPMD4wkiof0WCoDgW7qY+Dy198g4d9miAqUHWHFH6Q==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: @@ -9161,8 +9214,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ufo@1.3.2: - resolution: {integrity: sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==} + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true /uglify-js@3.17.4: @@ -9215,11 +9268,11 @@ packages: /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /undici@5.23.0: - resolution: {integrity: sha512-1D7w+fvRsqlQ9GscLBwcAJinqcZGHUKjbOmXdlE/v8BvEGXjeWAax+341q44EuTcHXXnfyKNbKRq4Lg7OzhMmg==} + /undici@5.28.3: + resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} engines: {node: '>=14.0'} dependencies: - busboy: 1.6.0 + '@fastify/busboy': 2.1.0 dev: true /unicode-canonical-property-names-ecmascript@2.0.0: @@ -9258,9 +9311,9 @@ packages: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true dependencies: - '@babel/core': 7.23.7 + '@babel/core': 7.23.9 '@babel/standalone': 7.22.20 - '@babel/types': 7.23.6 + '@babel/types': 7.23.9 defu: 6.1.2 jiti: 1.20.0 mri: 1.2.0 @@ -9269,13 +9322,13 @@ packages: - supports-color dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.2): + /update-browserslist-db@1.0.13(browserslist@4.22.3): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.2 + browserslist: 4.22.3 escalade: 3.1.1 picocolors: 1.0.0 @@ -9312,8 +9365,8 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vite-node@1.2.1: - resolution: {integrity: sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==} + /vite-node@1.2.2: + resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -9326,12 +9379,12 @@ packages: - supports-color dev: true - /vitepress@1.0.0-rc.40(typescript@5.2.2): - resolution: {integrity: sha512-1x9PCrcsJwqhpccyTR93uD6jpiPDeRC98CBCAQLLBb44a3VSXYBPzhCahi+2kwAYylu49p0XhseMPVM4IVcWcw==} + /vitepress@1.0.0-rc.42(typescript@5.2.2): + resolution: {integrity: sha512-VeiVVXFblt/sjruFSJBNChMWwlztMrRMe8UXdNpf4e05mKtTYEY38MF5qoP90KxPTCfMQiKqwEGwXAGuOTK8HQ==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4.3.2 - postcss: ^8.4.33 + postcss: ^8.4.34 peerDependenciesMeta: markdown-it-mathjax3: optional: true @@ -9340,17 +9393,17 @@ packages: dependencies: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2 + '@shikijs/core': 1.0.0 + '@shikijs/transformers': 1.0.0 '@types/markdown-it': 13.0.7 '@vitejs/plugin-vue': 5.0.3(vite@packages+vite)(vue@3.4.15) - '@vue/devtools-api': 6.5.1 + '@vue/devtools-api': 7.0.14 '@vueuse/core': 10.7.2(vue@3.4.15) '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.15) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - shikiji: 0.10.0 - shikiji-core: 0.10.0 - shikiji-transformers: 0.10.0 + shiki: 1.0.0 vite: link:packages/vite vue: 3.4.15(typescript@5.2.2) transitivePeerDependencies: @@ -9374,8 +9427,8 @@ packages: - universal-cookie dev: true - /vitest@1.2.1(@types/node@20.11.5): - resolution: {integrity: sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==} + /vitest@1.2.2(@types/node@20.11.16): + resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -9399,27 +9452,27 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.5 - '@vitest/expect': 1.2.1 - '@vitest/runner': 1.2.1 - '@vitest/snapshot': 1.2.1 - '@vitest/spy': 1.2.1 - '@vitest/utils': 1.2.1 + '@types/node': 20.11.16 + '@vitest/expect': 1.2.2 + '@vitest/runner': 1.2.2 + '@vitest/snapshot': 1.2.2 + '@vitest/spy': 1.2.2 + '@vitest/utils': 1.2.2 acorn-walk: 8.3.2(acorn@8.11.3) cac: 6.7.14 chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.5 + magic-string: 0.30.7 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.5.0 strip-literal: 1.3.0 tinybench: 2.5.1 - tinypool: 0.8.1 + tinypool: 0.8.2 vite: link:packages/vite - vite-node: 1.2.1 + vite-node: 1.2.2 why-is-node-running: 2.2.2 transitivePeerDependencies: - acorn @@ -9530,8 +9583,8 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.23.6 - '@babel/types': 7.23.6 + '@babel/parser': 7.23.9 + '@babel/types': 7.23.9 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 dev: true @@ -9540,17 +9593,17 @@ packages: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true - /workerd@1.20231218.0: - resolution: {integrity: sha512-AGIsDvqCrcwhoA9kb1hxOhVAe53/xJeaGZxL4FbYI9FvO17DZwrnqGq+6eqItJ6Cfw1ZLmf3BM+QdMWaL2bFWQ==} + /workerd@1.20240129.0: + resolution: {integrity: sha512-t4pnsmjjk/u+GdVDgH2M1AFmJaBUABshYK/vT/HNrAXsHSwN6VR8Yqw0JQ845OokO34VLkuUtYQYyxHHKpdtsw==} engines: {node: '>=16'} hasBin: true requiresBuild: true optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20231218.0 - '@cloudflare/workerd-darwin-arm64': 1.20231218.0 - '@cloudflare/workerd-linux-64': 1.20231218.0 - '@cloudflare/workerd-linux-arm64': 1.20231218.0 - '@cloudflare/workerd-windows-64': 1.20231218.0 + '@cloudflare/workerd-darwin-64': 1.20240129.0 + '@cloudflare/workerd-darwin-arm64': 1.20240129.0 + '@cloudflare/workerd-linux-64': 1.20240129.0 + '@cloudflare/workerd-linux-arm64': 1.20240129.0 + '@cloudflare/workerd-windows-64': 1.20240129.0 dev: true /wrap-ansi@7.0.0: diff --git a/scripts/tsconfig.json b/scripts/tsconfig.json index 98ff9bccb438da..224db1f6787c05 100644 --- a/scripts/tsconfig.json +++ b/scripts/tsconfig.json @@ -8,6 +8,6 @@ "strict": true, "esModuleInterop": true, "skipLibCheck": true, - "noUnusedLocals": true, - }, + "noUnusedLocals": true + } } From ed875f88f6e40333807001279d29d45789fe8c21 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Thu, 8 Feb 2024 11:18:51 +0100 Subject: [PATCH 311/656] chore: revert #15746 (#15839) --- packages/vite/src/node/optimizer/scan.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index 53f30b36627e6c..b28c13167e5fb6 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -239,16 +239,15 @@ function orderedDependencies(deps: Record) { } function globEntries(pattern: string | string[], config: ResolvedConfig) { - const rootPattern = glob.convertPathToPattern(config.root) return glob(pattern, { cwd: config.root, ignore: [ - `${rootPattern}/**/node_modules/**`, - `${rootPattern}/**/${config.build.outDir}/**`, + '**/node_modules/**', + `**/${config.build.outDir}/**`, // if there aren't explicit entries, also ignore other common folders ...(config.optimizeDeps.entries ? [] - : [`${rootPattern}/**/__tests__/**`, `${rootPattern}/**/coverage/**`]), + : [`**/__tests__/**`, `**/coverage/**`]), ], absolute: true, suppressErrors: true, // suppress EACCES errors From 3036bef6679281a0cb4ded09ff884f965a334864 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 8 Feb 2024 11:32:15 +0100 Subject: [PATCH 312/656] release: v5.1.0 --- packages/vite/CHANGELOG.md | 9 +++++++++ packages/vite/package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 4371796662d03c..1ebd50b5229607 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,12 @@ +## 5.1.0 (2024-02-08) + +* chore: revert #15746 (#15839) ([ed875f8](https://github.com/vitejs/vite/commit/ed875f8)), closes [#15746](https://github.com/vitejs/vite/issues/15746) [#15839](https://github.com/vitejs/vite/issues/15839) +* fix: pass `customLogger` to `loadConfigFromFile` (fix #15824) (#15831) ([55a3427](https://github.com/vitejs/vite/commit/55a3427)), closes [#15824](https://github.com/vitejs/vite/issues/15824) [#15831](https://github.com/vitejs/vite/issues/15831) +* fix(deps): update all non-major dependencies (#15803) ([e0a6ef2](https://github.com/vitejs/vite/commit/e0a6ef2)), closes [#15803](https://github.com/vitejs/vite/issues/15803) +* refactor: remove `vite build --force` (#15837) ([f1a4242](https://github.com/vitejs/vite/commit/f1a4242)), closes [#15837](https://github.com/vitejs/vite/issues/15837) + + + ## 5.1.0-beta.7 (2024-02-07) * fix: disable fs.cachedChecks for custom watch ignore patterns (#15828) ([9070be3](https://github.com/vitejs/vite/commit/9070be3)), closes [#15828](https://github.com/vitejs/vite/issues/15828) diff --git a/packages/vite/package.json b/packages/vite/package.json index b18b895e14026b..0068946fa92063 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.0-beta.7", + "version": "5.1.0", "type": "module", "license": "MIT", "author": "Evan You", From 662febc078523b7d8d800c1daa1bbb81d5923b99 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 8 Feb 2024 11:34:48 +0100 Subject: [PATCH 313/656] release: create-vite@5.2.0 --- packages/create-vite/CHANGELOG.md | 14 ++++++++++++++ packages/create-vite/package.json | 2 +- packages/create-vite/template-lit-ts/package.json | 2 +- packages/create-vite/template-lit/package.json | 2 +- .../create-vite/template-preact-ts/package.json | 2 +- packages/create-vite/template-preact/package.json | 2 +- packages/create-vite/template-qwik-ts/package.json | 2 +- packages/create-vite/template-qwik/package.json | 2 +- .../create-vite/template-react-ts/package.json | 2 +- packages/create-vite/template-react/package.json | 2 +- .../create-vite/template-solid-ts/package.json | 2 +- packages/create-vite/template-solid/package.json | 2 +- .../create-vite/template-svelte-ts/package.json | 2 +- packages/create-vite/template-svelte/package.json | 2 +- .../create-vite/template-vanilla-ts/package.json | 2 +- packages/create-vite/template-vanilla/package.json | 2 +- packages/create-vite/template-vue-ts/package.json | 2 +- packages/create-vite/template-vue/package.json | 2 +- 18 files changed, 31 insertions(+), 17 deletions(-) diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md index c96171dc7966fc..5260de13895764 100644 --- a/packages/create-vite/CHANGELOG.md +++ b/packages/create-vite/CHANGELOG.md @@ -1,3 +1,17 @@ +## 5.2.0 (2024-02-08) + +* fix(create-vite): turn off `react/jsx-no-target-blank` ESLint rule in React JS template (#15672) ([a6f39e8](https://github.com/vitejs/vite/commit/a6f39e8)), closes [#15672](https://github.com/vitejs/vite/issues/15672) +* fix(deps): update all non-major dependencies (#15375) ([ab56227](https://github.com/vitejs/vite/commit/ab56227)), closes [#15375](https://github.com/vitejs/vite/issues/15375) +* fix(deps): update all non-major dependencies (#15603) ([109fb80](https://github.com/vitejs/vite/commit/109fb80)), closes [#15603](https://github.com/vitejs/vite/issues/15603) +* fix(deps): update all non-major dependencies (#15675) ([4d9363a](https://github.com/vitejs/vite/commit/4d9363a)), closes [#15675](https://github.com/vitejs/vite/issues/15675) +* fix(deps): update all non-major dependencies (#15803) ([e0a6ef2](https://github.com/vitejs/vite/commit/e0a6ef2)), closes [#15803](https://github.com/vitejs/vite/issues/15803) +* feat(create-vite): allow overwrite in command line (#15808) ([1882c73](https://github.com/vitejs/vite/commit/1882c73)), closes [#15808](https://github.com/vitejs/vite/issues/15808) +* feat(create-vite): set "strict: true" in tsconfig.node.json (#15820) ([5e5ca7d](https://github.com/vitejs/vite/commit/5e5ca7d)), closes [#15820](https://github.com/vitejs/vite/issues/15820) +* docs: changed bunx create-vite to bun create vite (#15646) ([f3c11bb](https://github.com/vitejs/vite/commit/f3c11bb)), closes [#15646](https://github.com/vitejs/vite/issues/15646) +* chore(deps): update dependency @vitejs/plugin-vue to v5 (#15474) ([17857e7](https://github.com/vitejs/vite/commit/17857e7)), closes [#15474](https://github.com/vitejs/vite/issues/15474) + + + ## 5.1.0 (2023-12-12) * fix(deps): update all non-major dependencies (#15233) ([ad3adda](https://github.com/vitejs/vite/commit/ad3adda)), closes [#15233](https://github.com/vitejs/vite/issues/15233) diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json index 1a037d490b62cd..1bd19971f97f38 100644 --- a/packages/create-vite/package.json +++ b/packages/create-vite/package.json @@ -1,6 +1,6 @@ { "name": "create-vite", - "version": "5.1.0", + "version": "5.2.0", "type": "module", "license": "MIT", "author": "Evan You", diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index ef7d5a241a8102..07e41243f94420 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.2.2", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 64db186e1046e5..0e5eb639c26a48 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.2" }, "devDependencies": { - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 07ea2cf1645518..4dc9fc1fd8b80e 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -14,6 +14,6 @@ "devDependencies": { "@preact/preset-vite": "^2.8.1", "typescript": "^5.2.2", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 738154f57645c6..b4c847c91da1bf 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@preact/preset-vite": "^2.8.1", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 5dddfaf6ee2fca..5a216bb831e233 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.12" + "vite": "^5.1.0" }, "dependencies": { "@builder.io/qwik": "^1.4.4" diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 5dddfaf6ee2fca..5a216bb831e233 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.12" + "vite": "^5.1.0" }, "dependencies": { "@builder.io/qwik": "^1.4.4" diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 43037fb551ef62..c0a43346aaab52 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -23,6 +23,6 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", "typescript": "^5.2.2", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 73a79f6c73b129..bd4b310213f358 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -21,6 +21,6 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index b9064da14ccdcb..699b0c71fbb16c 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.0.12", + "vite": "^5.1.0", "vite-plugin-solid": "^2.9.1" } } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index 00e00228ea4546..c0d7374f4f640c 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -12,7 +12,7 @@ "solid-js": "^1.8.14" }, "devDependencies": { - "vite": "^5.0.12", + "vite": "^5.1.0", "vite-plugin-solid": "^2.9.1" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 54ecefaa730266..7317f572dcd83b 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": "^3.6.3", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 1338ab440dc6cf..eb0cfceed06a6f 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.0.2", "svelte": "^4.2.10", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 3770ffe9e24d8a..5c230244b329d2 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.2.2", - "vite": "^5.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index e419f29e8631ff..2d02454e475a91 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.0.12" + "vite": "^5.1.0" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 9d8c19f484a928..a8dd548e4ab08a 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@vitejs/plugin-vue": "^5.0.3", "typescript": "^5.2.2", - "vite": "^5.0.12", + "vite": "^5.1.0", "vue-tsc": "^1.8.27" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 91c0f06b8823d8..8e04a5d6a18963 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.3", - "vite": "^5.0.12" + "vite": "^5.1.0" } } From 9da6502fe7015d33aaaae59031f7f3aa448f484b Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Thu, 8 Feb 2024 11:50:27 +0100 Subject: [PATCH 314/656] chore: post 5.1 release edits (#15840) --- docs/blog/announcing-vite5-1.md | 6 ++--- packages/vite/CHANGELOG.md | 42 +++------------------------------ 2 files changed, 6 insertions(+), 42 deletions(-) diff --git a/docs/blog/announcing-vite5-1.md b/docs/blog/announcing-vite5-1.md index 047269e0e5f558..b5f7c72a8dd6c7 100644 --- a/docs/blog/announcing-vite5-1.md +++ b/docs/blog/announcing-vite5-1.md @@ -2,7 +2,7 @@ title: Vite 5.1 is out! author: name: The Vite Team -date: 2024-02-12 +date: 2024-02-08 sidebar: false head: - - meta @@ -27,13 +27,13 @@ head: # Vite 5.1 is out! -_February 12, 2024_ +_February 8, 2024_ ![Vite 5.1 Announcement Cover Image](/og-image-announcing-vite5-1.png) Vite 5 [was released](./announcing-vite5.md) last November, and it represented another big leap for Vite and the ecosystem. A few weeks ago we celebrated 10 million weekly npm downloads and 900 contributors to the Vite repo. Today, we're excited to announce the release of Vite 5.1. -Quick links: [Docs](/), [Changelog](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md) +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/) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 1ebd50b5229607..4f09c75c89b687 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,5 +1,8 @@ ## 5.1.0 (2024-02-08) +Vite 5.1 is out! Read the announcement blog post at https://vitejs.dev/blog/announcing-vite5-1! + + * chore: revert #15746 (#15839) ([ed875f8](https://github.com/vitejs/vite/commit/ed875f8)), closes [#15746](https://github.com/vitejs/vite/issues/15746) [#15839](https://github.com/vitejs/vite/issues/15839) * fix: pass `customLogger` to `loadConfigFromFile` (fix #15824) (#15831) ([55a3427](https://github.com/vitejs/vite/commit/55a3427)), closes [#15824](https://github.com/vitejs/vite/issues/15824) [#15831](https://github.com/vitejs/vite/issues/15831) * fix(deps): update all non-major dependencies (#15803) ([e0a6ef2](https://github.com/vitejs/vite/commit/e0a6ef2)), closes [#15803](https://github.com/vitejs/vite/issues/15803) @@ -21,45 +24,6 @@ ## 5.1.0-beta.6 (2024-02-01) -### Vite Runtime API - -Vite 5.1 adds experimental support for a new Vite Runtime API. It allows running any code by processing it with Vite plugins first. It is different from `server.ssrLoadModule` because the runtime implementation is decoupled from the server. This lets library and framework authors to implement their own layer of communication between the server and the runtime. This new API is intended to replace Vite's current SSR primitives once it is stable. Apart from this flexibility, Vite will finally support HMR for SSR. Read more in the [Vite Runtime API guide](https://main.vitejs.dev/guide/api-vite-runtime) and [give us feedback](https://github.com/vitejs/vite/discussions/15774). - -* feat: experimental Vite Runtime API (#12165) ([8b3ab07](https://github.com/vitejs/vite/commit/8b3ab07)), closes [#12165](https://github.com/vitejs/vite/issues/12165) - -### Unlocking downstream projects - -Vite 5.1 will add support for `.css?url`, that was the last remain hurdle in Remix move to Vite. - -* fix(css): `.css?url` support (#15259) ([ed56d96](https://github.com/vitejs/vite/commit/ed56d96)), closes [#15259](https://github.com/vitejs/vite/issues/15259) - -### Vite performance improvements - -Vite keeps getting faster on each release, and Vite 5.1 is packed with performance improvements. Vite now has opt-in support for running CSS preprocessors in threads. For a Vuetify 2 project, dev startup time was reduced by 40%. - -* perf: use thread for preprocessors (#13584) ([acd795f](https://github.com/vitejs/vite/commit/acd795f)), closes [#13584](https://github.com/vitejs/vite/issues/13584) - -There are also new tools to speed up dev server cold start. You can set `optimizeDeps.holdUntilCrawlEnd: false` to switch to a new strategy for deps optimization that may help in big projects. We're considering switching to this strategy by default in the future. - -* feat(optimizer): holdUntilCrawlEnd option (#15244) ([b7c6629](https://github.com/vitejs/vite/commit/b7c6629)), closes [#15244](https://github.com/vitejs/vite/issues/15244) - -The dev server had several perf gains in general too: - -* perf: middleware to short-circuit on 304 (#15586) ([35ae4f8](https://github.com/vitejs/vite/commit/35ae4f8)), closes [#15586](https://github.com/vitejs/vite/issues/15586) -* perf: avoid parseRequest (#15617) ([0cacfad](https://github.com/vitejs/vite/commit/0cacfad)), closes [#15617](https://github.com/vitejs/vite/issues/15617) -* feat(hmr): reload for circular imports only if error (#15118) ([6ace32b](https://github.com/vitejs/vite/commit/6ace32b)), closes [#15118](https://github.com/vitejs/vite/issues/15118) -* feat: enable fs.cachedChecks by default (#15704) ([a05c709](https://github.com/vitejs/vite/commit/a05c709)), closes [#15704](https://github.com/vitejs/vite/issues/15704) - -### Deprecations - -We continue to reduce Vite's API surface where possible to make the project maintainable long term. - -* feat(glob-import): deprecate as option (#14420) ([953e697](https://github.com/vitejs/vite/commit/953e697)), closes [#14420](https://github.com/vitejs/vite/issues/14420) -* refactor: remove build time pre-bundling (#15184) ([757844f](https://github.com/vitejs/vite/commit/757844f)), closes [#15184](https://github.com/vitejs/vite/issues/15184) - - -### Commits in beta.6 - * feat: experimental Vite Runtime API (#12165) ([8b3ab07](https://github.com/vitejs/vite/commit/8b3ab07)), closes [#12165](https://github.com/vitejs/vite/issues/12165) * fix: add ref() and unref() to chokidar.d.ts for typescript build to work (#15706) ([6b45037](https://github.com/vitejs/vite/commit/6b45037)), closes [#15706](https://github.com/vitejs/vite/issues/15706) * perf: simplify explicit import mark in import analysis (#15724) ([2805b2d](https://github.com/vitejs/vite/commit/2805b2d)), closes [#15724](https://github.com/vitejs/vite/issues/15724) From 3d860e7916b9b160da39d080d7d6d72ab8d56ae9 Mon Sep 17 00:00:00 2001 From: Rom Date: Thu, 8 Feb 2024 16:15:03 +0100 Subject: [PATCH 315/656] fix: skip not only .js but also .mjs manifest entries (#15841) Co-authored-by: patak --- packages/vite/src/node/plugins/manifest.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/manifest.ts b/packages/vite/src/node/plugins/manifest.ts index a6e9608ed16c08..a82897ca6adb36 100644 --- a/packages/vite/src/node/plugins/manifest.ts +++ b/packages/vite/src/node/plugins/manifest.ts @@ -11,6 +11,8 @@ import { normalizePath, sortObjectKeys } from '../utils' import { generatedAssets } from './asset' import type { GeneratedAssetMeta } from './asset' +const endsWithJSRE = /\.[cm]?js$/ + export type Manifest = Record export interface ManifestChunk { @@ -134,7 +136,9 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { // If JS chunk and asset chunk are both generated from the same source file, // prioritize JS chunk as it contains more information - if (manifest[src]?.file.endsWith('.js')) continue + const file = manifest[src]?.file + if (file && endsWithJSRE.test(file)) continue + manifest[src] = asset fileNameToAsset.set(chunk.fileName, asset) } From cfdd0c0a890aac911e32816e28fff711b20479a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 9 Feb 2024 00:36:27 +0900 Subject: [PATCH 316/656] fix: `asset-import-meta-url` plugin errored with Maximum call stack size exceeded (#15845) --- pnpm-lock.yaml | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 79b972f25deef0..d618a5768358cc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6840,8 +6840,8 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-tokens@8.0.2: - resolution: {integrity: sha512-Olnt+V7xYdvGze9YTbGFZIfQXuGV4R3nQwwl8BrtgaPE/wq8UFpUHWuTNc05saowhSr1ZO6tx+V6RjE9D5YQog==} + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true /js-yaml@4.1.0: @@ -6956,10 +6956,8 @@ packages: image-size: 0.5.5 make-dir: 2.1.0 mime: 1.6.0 - needle: 3.2.0 + needle: 3.3.1 source-map: 0.6.1 - transitivePeerDependencies: - - supports-color dev: true /levn@0.4.1: @@ -7489,17 +7487,14 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /needle@3.2.0: - resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + /needle@3.3.1: + resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} engines: {node: '>= 4.4.x'} hasBin: true requiresBuild: true dependencies: - debug: 3.2.7 iconv-lite: 0.6.3 sax: 1.3.0 - transitivePeerDependencies: - - supports-color dev: true optional: true @@ -8899,7 +8894,7 @@ packages: /strip-literal@2.0.0: resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: - js-tokens: 8.0.2 + js-tokens: 8.0.3 dev: true /stylus@0.62.0: From b2873ac3936de25ca8784327cb9ef16bd4881805 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 9 Feb 2024 00:54:18 +0900 Subject: [PATCH 317/656] fix: empty CSS file was output when only .css?url is used (#15846) --- packages/vite/src/node/plugins/css.ts | 158 +++++++++++++------------- 1 file changed, 78 insertions(+), 80 deletions(-) diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index a65be349b2d74d..83b8da61a37c45 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -718,92 +718,90 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { } } - if (!chunkCSS && !s) { - return null - } - - if (config.build.cssCodeSplit) { - if (opts.format === 'es' || opts.format === 'cjs') { - if (isPureCssChunk) { - // this is a shared CSS-only chunk that is empty. - pureCssChunks.add(chunk) - } + if (chunkCSS) { + if (config.build.cssCodeSplit) { + if (opts.format === 'es' || opts.format === 'cjs') { + if (isPureCssChunk) { + // this is a shared CSS-only chunk that is empty. + pureCssChunks.add(chunk) + } - const isEntry = chunk.isEntry && isPureCssChunk - const cssFullAssetName = ensureFileExt(chunk.name, '.css') - // if facadeModuleId doesn't exist or doesn't have a CSS extension, - // that means a JS entry file imports a CSS file. - // in this case, only use the filename for the CSS chunk name like JS chunks. - const cssAssetName = - chunk.isEntry && - (!chunk.facadeModuleId || !isCSSRequest(chunk.facadeModuleId)) - ? path.basename(cssFullAssetName) - : cssFullAssetName - const originalFilename = getChunkOriginalFileName( - chunk, - config.root, - opts.format, - ) + const isEntry = chunk.isEntry && isPureCssChunk + const cssFullAssetName = ensureFileExt(chunk.name, '.css') + // if facadeModuleId doesn't exist or doesn't have a CSS extension, + // that means a JS entry file imports a CSS file. + // in this case, only use the filename for the CSS chunk name like JS chunks. + const cssAssetName = + chunk.isEntry && + (!chunk.facadeModuleId || !isCSSRequest(chunk.facadeModuleId)) + ? path.basename(cssFullAssetName) + : cssFullAssetName + const originalFilename = getChunkOriginalFileName( + chunk, + config.root, + opts.format, + ) - chunkCSS = resolveAssetUrlsInCss(chunkCSS, cssAssetName) + chunkCSS = resolveAssetUrlsInCss(chunkCSS, cssAssetName) - // wait for previous tasks as well - chunkCSS = await codeSplitEmitQueue.run(async () => { - return finalizeCss(chunkCSS, true, config) - }) + // wait for previous tasks as well + chunkCSS = await codeSplitEmitQueue.run(async () => { + return finalizeCss(chunkCSS, true, config) + }) - // emit corresponding css file - const referenceId = this.emitFile({ - name: cssAssetName, - type: 'asset', - source: chunkCSS, - }) - generatedAssets - .get(config)! - .set(referenceId, { originalName: originalFilename, isEntry }) - chunk.viteMetadata!.importedCss.add(this.getFileName(referenceId)) - } else if (!config.build.ssr) { - // legacy build and inline css - - // Entry chunk CSS will be collected into `chunk.viteMetadata.importedCss` - // and injected later by the `'vite:build-html'` plugin into the `index.html` - // so it will be duplicated. (https://github.com/vitejs/vite/issues/2062#issuecomment-782388010) - // But because entry chunk can be imported by dynamic import, - // we shouldn't remove the inlined CSS. (#10285) - - chunkCSS = await finalizeCss(chunkCSS, true, config) - let cssString = JSON.stringify(chunkCSS) - cssString = - renderAssetUrlInJS( - this, - config, - chunk, - opts, - cssString, - )?.toString() || cssString - const style = `__vite_style__` - const injectCode = - `var ${style} = document.createElement('style');` + - `${style}.textContent = ${cssString};` + - `document.head.appendChild(${style});` - let injectionPoint - const wrapIdx = code.indexOf('System.register') - if (wrapIdx >= 0) { - const executeFnStart = code.indexOf('execute:', wrapIdx) - injectionPoint = code.indexOf('{', executeFnStart) + 1 - } else { - const insertMark = "'use strict';" - injectionPoint = code.indexOf(insertMark) + insertMark.length + // emit corresponding css file + const referenceId = this.emitFile({ + name: cssAssetName, + type: 'asset', + source: chunkCSS, + }) + generatedAssets + .get(config)! + .set(referenceId, { originalName: originalFilename, isEntry }) + chunk.viteMetadata!.importedCss.add(this.getFileName(referenceId)) + } else if (!config.build.ssr) { + // legacy build and inline css + + // Entry chunk CSS will be collected into `chunk.viteMetadata.importedCss` + // and injected later by the `'vite:build-html'` plugin into the `index.html` + // so it will be duplicated. (https://github.com/vitejs/vite/issues/2062#issuecomment-782388010) + // But because entry chunk can be imported by dynamic import, + // we shouldn't remove the inlined CSS. (#10285) + + chunkCSS = await finalizeCss(chunkCSS, true, config) + let cssString = JSON.stringify(chunkCSS) + cssString = + renderAssetUrlInJS( + this, + config, + chunk, + opts, + cssString, + )?.toString() || cssString + const style = `__vite_style__` + const injectCode = + `var ${style} = document.createElement('style');` + + `${style}.textContent = ${cssString};` + + `document.head.appendChild(${style});` + let injectionPoint + const wrapIdx = code.indexOf('System.register') + if (wrapIdx >= 0) { + const executeFnStart = code.indexOf('execute:', wrapIdx) + injectionPoint = code.indexOf('{', executeFnStart) + 1 + } else { + const insertMark = "'use strict';" + injectionPoint = code.indexOf(insertMark) + insertMark.length + } + s ||= new MagicString(code) + s.appendRight(injectionPoint, injectCode) } - s ||= new MagicString(code) - s.appendRight(injectionPoint, injectCode) - } - } else { - // resolve public URL from CSS paths, we need to use absolute paths - chunkCSS = resolveAssetUrlsInCss(chunkCSS, cssBundleName) - // finalizeCss is called for the aggregated chunk in generateBundle + } else { + // resolve public URL from CSS paths, we need to use absolute paths + chunkCSS = resolveAssetUrlsInCss(chunkCSS, cssBundleName) + // finalizeCss is called for the aggregated chunk in generateBundle - chunkCSSMap.set(chunk.fileName, chunkCSS) + chunkCSSMap.set(chunk.fileName, chunkCSS) + } } if (s) { From 8e946a10096738399cc11d87c911d4c91fadbb45 Mon Sep 17 00:00:00 2001 From: patak Date: Fri, 9 Feb 2024 10:56:11 +0100 Subject: [PATCH 318/656] release: v5.1.1 --- packages/vite/CHANGELOG.md | 8 ++++++++ packages/vite/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 4f09c75c89b687..52579035633026 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,11 @@ +## 5.1.1 (2024-02-09) + +* fix: empty CSS file was output when only .css?url is used (#15846) ([b2873ac](https://github.com/vitejs/vite/commit/b2873ac)), closes [#15846](https://github.com/vitejs/vite/issues/15846) +* fix: skip not only .js but also .mjs manifest entries (#15841) ([3d860e7](https://github.com/vitejs/vite/commit/3d860e7)), closes [#15841](https://github.com/vitejs/vite/issues/15841) +* chore: post 5.1 release edits (#15840) ([9da6502](https://github.com/vitejs/vite/commit/9da6502)), closes [#15840](https://github.com/vitejs/vite/issues/15840) + + + ## 5.1.0 (2024-02-08) Vite 5.1 is out! Read the announcement blog post at https://vitejs.dev/blog/announcing-vite5-1! diff --git a/packages/vite/package.json b/packages/vite/package.json index 0068946fa92063..83ee75fafd120c 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.0", + "version": "5.1.1", "type": "module", "license": "MIT", "author": "Evan You", From 8a6e39982f8d70eadd8c5c844ee4ee72acdad4fb Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Fri, 9 Feb 2024 13:46:35 +0100 Subject: [PATCH 319/656] docs: add not about disabling the cache to the performance guide (#15813) --- docs/guide/performance.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/guide/performance.md b/docs/guide/performance.md index 0a941ddc45aeef..2d56ca2e389f63 100644 --- a/docs/guide/performance.md +++ b/docs/guide/performance.md @@ -6,10 +6,12 @@ While Vite is fast by default, performance issues can creep in as the project's - Slow page loads - Slow builds -## Avoid Browser Extensions +## Review your Browser Setup Some browser extensions may interfere with requests and slow down startup and reload times for large apps, especially when using browser dev tools. We recommend creating a dev-only profile without extensions, or switch to incognito mode, while using Vite's dev server in these cases. Incognito mode should also be faster than a regular profile without extensions. +The Vite dev server does hard caching of pre-bundled dependencies and implements fast 304 responses for source code. Disabling the cache while the Browser Dev Tools are open can have a big impact in startup and full-page reload times. Please check that "Disable Cache" isn't enabled while you work with the Vite server. + ## Audit Configured Vite Plugins Vite's internal and official plugins are optimized to do the least amount of work possible while providing compatibility with the broader ecosystem. For example, code transformations use regex in dev, but do a complete parse in build to ensure correctness. From 76f30ae23b92f9af910ec02d98e2baaefa12141f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 15:47:51 +0100 Subject: [PATCH 320/656] chore(deps): update tj-actions/changed-files action to v42 (#15804) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b25e78b3de0f75..aad0a569108148 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@cbda684547adc8c052d50711417fa61b428a9f88 # v41.1.2 + uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 # v42.0.2 with: files: | docs/** From 570e0f185203ceec02b89ff53c7a13add1309e77 Mon Sep 17 00:00:00 2001 From: Jay Wang Date: Mon, 12 Feb 2024 02:34:51 -0500 Subject: [PATCH 321/656] fix(worker): support UTF-8 encoding in inline workers (fixes #12117) (#15866) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jay Wang Co-authored-by: 翠 / green --- packages/vite/src/node/plugins/worker.ts | 5 +++-- playground/worker/__tests__/es/worker-es.spec.ts | 8 ++++++++ playground/worker/index.html | 6 ++++++ playground/worker/my-worker.ts | 10 ++++++++++ playground/worker/worker/main-module.js | 6 ++++++ 5 files changed, 33 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 62849bb06e7875..522cb7eb16221e 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -289,12 +289,13 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { // Using blob URL for SharedWorker results in multiple instances of a same worker workerConstructor === 'Worker' ? `${encodedJs} + const decodeBase64 = (base64) => Uint8Array.from(atob(base64), c => c.charCodeAt(0)); const blob = typeof window !== "undefined" && window.Blob && new Blob([${ workerType === 'classic' ? '' : // `URL` is always available, in `Worker[type="module"]` - `'URL.revokeObjectURL(import.meta.url);'+` - }atob(encodedJs)], { type: "text/javascript;charset=utf-8" }); + `'URL.revokeObjectURL(import.meta.url);',` + }decodeBase64(encodedJs)], { type: "text/javascript;charset=utf-8" }); export default function WorkerWrapper(options) { let objURL; try { diff --git a/playground/worker/__tests__/es/worker-es.spec.ts b/playground/worker/__tests__/es/worker-es.spec.ts index 0031c432c36b7a..48462ad8bc8077 100644 --- a/playground/worker/__tests__/es/worker-es.spec.ts +++ b/playground/worker/__tests__/es/worker-es.spec.ts @@ -50,6 +50,14 @@ test('import meta url', async () => { ) }) +test('unicode inlined', async () => { + await untilUpdated( + () => page.textContent('.pong-inline-unicode'), + '•pong•', + true, + ) +}) + test('shared worker', async () => { await untilUpdated(() => page.textContent('.tick-count'), 'pong', true) }) diff --git a/playground/worker/index.html b/playground/worker/index.html index 302c8e9dc43132..3080bc7bfb5a1a 100644 --- a/playground/worker/index.html +++ b/playground/worker/index.html @@ -50,6 +50,12 @@

    format iife:

    +

    + import InlineWorker from '../my-worker?worker&inline' + .pong-inline-unicode +

    + +

    import TSOutputWorker from '../possible-ts-output-worker?worker' .pong-ts-output diff --git a/playground/worker/my-worker.ts b/playground/worker/my-worker.ts index cbf730f0173de2..ea49a402325954 100644 --- a/playground/worker/my-worker.ts +++ b/playground/worker/my-worker.ts @@ -8,6 +8,16 @@ self.onmessage = (e) => { if (e.data === 'ping') { self.postMessage({ msg, mode, bundleWithPlugin, viteSvg, metaUrl, name }) } + if (e.data === 'ping-unicode') { + self.postMessage({ + msg: '•pong•', + mode, + bundleWithPlugin, + viteSvg, + metaUrl, + name, + }) + } } self.postMessage({ msg, diff --git a/playground/worker/worker/main-module.js b/playground/worker/worker/main-module.js index 23d8527f300c5c..6a7a9c6f0471ea 100644 --- a/playground/worker/worker/main-module.js +++ b/playground/worker/worker/main-module.js @@ -45,6 +45,12 @@ inlineWorkerUrl.addEventListener('message', (e) => { text('.pong-inline-url', e.data.metaUrl) }) +const unicodeInlineWorker = new InlineWorker() +unicodeInlineWorker.postMessage('ping-unicode') +unicodeInlineWorker.addEventListener('message', (e) => { + text('.pong-inline-unicode', e.data.msg) +}) + const startSharedWorker = () => { const sharedWorker = new mySharedWorker() sharedWorker.port.addEventListener('message', (event) => { From 306df44f6eebd49d2b5ee4216701b447eb65bd1b Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 12 Feb 2024 15:42:34 +0800 Subject: [PATCH 322/656] fix: normalize import file path info (#15772) --- packages/vite/src/node/plugins/importAnalysis.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 8454c4016c7811..57d1d5664c96bc 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -308,9 +308,8 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { // fix#9534, prevent the importerModuleNode being stopped from propagating updates importerModule.isSelfAccepting = false return this.error( - `Failed to resolve import "${url}" from "${path.relative( - process.cwd(), - importerFile, + `Failed to resolve import "${url}" from "${normalizePath( + path.relative(process.cwd(), importerFile), )}". Does the file exist?`, pos, ) From 7dcb0ba4976c3cf30aa34e439d071c158e3ce165 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Mon, 12 Feb 2024 17:29:33 +0900 Subject: [PATCH 323/656] docs(features): clarify sentences about JSX usage (#15799) --- docs/guide/features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index e75e84b08e866b..19e4e3adc22617 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -174,7 +174,7 @@ Vite provides first-class Vue support: Vue users should use the official [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx) plugin, which provides Vue 3 specific features including HMR, global component resolving, directives and slots. -If not using JSX with React or Vue, custom `jsxFactory` and `jsxFragment` can be configured using the [`esbuild` option](/config/shared-options.md#esbuild). For example for Preact: +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 // vite.config.js From ea091853e04b2e53d220e8a4d138177bcd6d8ed9 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Mon, 12 Feb 2024 17:31:28 +0900 Subject: [PATCH 324/656] test: remove unnecessary NODE_ENV override (#15738) --- playground/optimize-deps/vite.config.js | 3 --- 1 file changed, 3 deletions(-) diff --git a/playground/optimize-deps/vite.config.js b/playground/optimize-deps/vite.config.js index 10aabf56651c51..cced96a66e94d5 100644 --- a/playground/optimize-deps/vite.config.js +++ b/playground/optimize-deps/vite.config.js @@ -3,9 +3,6 @@ import module from 'node:module' import { defineConfig } from 'vite' const require = module.createRequire(import.meta.url) -// Overriding the NODE_ENV set by vitest -process.env.NODE_ENV = '' - export default defineConfig({ resolve: { dedupe: ['react'], From 4caeb8491afb7193cb374f4060d487430902f032 Mon Sep 17 00:00:00 2001 From: chenfan <83797583+chenfan0@users.noreply.github.com> Date: Mon, 12 Feb 2024 17:06:01 +0800 Subject: [PATCH 325/656] docs: improve optimizeDeps.esbuildOptions type (#14063) --- docs/config/dep-optimization-options.md | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index 8e494f6f0b986c..6e399c80e6350e 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -47,7 +47,18 @@ export default defineConfig({ ## optimizeDeps.esbuildOptions -- **Type:** [`EsbuildBuildOptions`](https://esbuild.github.io/api/#simple-options) +- **Type:** [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys)`<`[`EsbuildBuildOptions`](https://esbuild.github.io/api/#simple-options)`, + | 'bundle' + | 'entryPoints' + | 'external' + | 'write' + | 'watch' + | 'outdir' + | 'outfile' + | 'outbase' + | 'outExtension' + | 'metafile'>` + Options to pass to esbuild during the dep scanning and optimization. From 38ad229e3f57d10d2b3ee6e1fa49b34de4ed1191 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Mon, 12 Feb 2024 11:21:06 +0100 Subject: [PATCH 326/656] chore: lint (#15882) --- docs/config/dep-optimization-options.md | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index 6e399c80e6350e..d4aa0c4447fa5c 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -48,17 +48,16 @@ export default defineConfig({ ## optimizeDeps.esbuildOptions - **Type:** [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys)`<`[`EsbuildBuildOptions`](https://esbuild.github.io/api/#simple-options)`, - | 'bundle' - | 'entryPoints' - | 'external' - | 'write' - | 'watch' - | 'outdir' - | 'outfile' - | 'outbase' - | 'outExtension' - | 'metafile'>` - + | 'bundle' + | 'entryPoints' + | 'external' + | 'write' + | 'watch' + | 'outdir' + | 'outfile' + | 'outbase' + | 'outExtension' + | 'metafile'>` Options to pass to esbuild during the dep scanning and optimization. From 9b433eab9ec1ff67a68ba778e0040bca5ab9a0eb Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Mon, 12 Feb 2024 11:28:49 +0100 Subject: [PATCH 327/656] chore: prettier dep optimization (#15883) --- docs/config/dep-optimization-options.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index d4aa0c4447fa5c..e8ddddb09ceaf0 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -48,16 +48,16 @@ export default defineConfig({ ## optimizeDeps.esbuildOptions - **Type:** [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys)`<`[`EsbuildBuildOptions`](https://esbuild.github.io/api/#simple-options)`, - | 'bundle' - | 'entryPoints' - | 'external' - | 'write' - | 'watch' - | 'outdir' - | 'outfile' - | 'outbase' - | 'outExtension' - | 'metafile'>` +| 'bundle' +| 'entryPoints' +| 'external' +| 'write' +| 'watch' +| 'outdir' +| 'outfile' +| 'outbase' +| 'outExtension' +| 'metafile'>` Options to pass to esbuild during the dep scanning and optimization. From ee1af5b291bec1a1ddc56e7cb20e43d9927c2309 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Feb 2024 20:18:41 +0800 Subject: [PATCH 328/656] chore(deps): update pnpm/action-setup action to v3 (#15877) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 4 ++-- .github/workflows/publish.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aad0a569108148..09fe9faa8b147a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,7 +69,7 @@ jobs: - name: Install pnpm if: steps.changed-files.outputs.only_changed != 'true' - uses: pnpm/action-setup@v2.4.0 + uses: pnpm/action-setup@v3.0.0 - name: Set node version to ${{ matrix.node_version }} if: steps.changed-files.outputs.only_changed != 'true' @@ -134,7 +134,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2.4.0 + uses: pnpm/action-setup@v3.0.0 - name: Set node version to 18 uses: actions/setup-node@v4 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index e78141ef129140..7b6efbdbed27da 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v2.4.0 + uses: pnpm/action-setup@v3.0.0 - name: Set node version to 18 uses: actions/setup-node@v4 From f24b13ff3e1716b9af94adfac6f421f9370369a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Mon, 12 Feb 2024 21:19:06 +0900 Subject: [PATCH 329/656] docs: remove unneeded zero width space in titles (#15884) --- docs/releases.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/releases.md b/docs/releases.md index ed8d9d6d545753..c8b228a23e82a6 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -4,7 +4,7 @@ Vite releases follow [Semantic Versioning](https://semver.org/). You can see the A full changelog of past releases is [available on GitHub](https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md). -## Release Cycle​ +## Release Cycle Vite does not have a fixed release cycle. @@ -18,7 +18,7 @@ The Vite team partners with the main projects in the ecosystem to test new Vite ## Semantic Versioning Edge Cases -### TypeScript Definitions​ +### TypeScript Definitions We may ship incompatible changes to TypeScript definitions between minor versions. This is because: @@ -34,16 +34,16 @@ We may ship incompatible changes to TypeScript definitions between minor version Non-LTS Node.js versions (odd-numbered) are not tested as part of Vite's CI, but they should still work before their [EOL](https://endoflife.date/nodejs). -## Pre Releases​ +## Pre Releases Minor releases typically go through a non-fixed number of beta releases. Major releases will go through an alpha phase and a beta phase. Pre-releases allow early adopters and maintainers from the Ecosystem to do integration and stability testing, and provide feedback. Do not use pre-releases in production. All pre-releases are considered unstable and may ship breaking changes in between. Always pin to exact versions when using pre-releases. -## Deprecations​ +## 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. -## Experimental Features​ +## Experimental Features Some features are marked as experimental when released in a stable version of Vite. Experimental features allows us to gather real-world experience to influence their final design. The goal is to let users provide feedback by testing them in production. Experimental features themselves are considered unstable, and should only be used in a controlled manner. These features may change between Minors, so users must pin their Vite version when they rely on them. We will create [a GitHub discussion](https://github.com/vitejs/vite/discussions/categories/feedback?discussions_q=is%3Aopen+label%3Aexperimental+category%3AFeedback) for each experimental feature. From d16ce5db2f0c4dd327093bae2cbaab0d20c511e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Feb 2024 20:35:52 +0800 Subject: [PATCH 330/656] chore(deps): update all non-major dependencies (#15874) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 10 +- .../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 | 2 +- .../create-vite/template-qwik/package.json | 2 +- .../template-react-ts/package.json | 2 +- .../create-vite/template-react/package.json | 2 +- .../template-solid-ts/package.json | 2 +- .../create-vite/template-solid/package.json | 2 +- .../template-svelte-ts/package.json | 4 +- .../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/vite/package.json | 2 +- playground/alias/package.json | 4 +- 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/object-hooks/package.json | 2 +- .../optimize-deps-no-discovery/package.json | 2 +- playground/optimize-deps/package.json | 2 +- playground/tailwind/package.json | 2 +- pnpm-lock.yaml | 260 +++++++++--------- 29 files changed, 168 insertions(+), 172 deletions(-) diff --git a/package.json b/package.json index 66de88749b8c97..1f758bec1eaacf 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@babel/types": "^7.23.9", - "@eslint-types/typescript-eslint": "^6.19.1", + "@eslint-types/typescript-eslint": "^6.21.0", "@rollup/plugin-typescript": "^11.1.6", "@types/babel__core": "^7.20.5", "@types/babel__preset-env": "^7.9.6", @@ -53,10 +53,10 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.6", - "@types/node": "^20.11.16", + "@types/node": "^20.11.17", "@types/picomatch": "^2.3.3", "@types/sass": "~1.43.1", - "@types/semver": "^7.5.6", + "@types/semver": "^7.5.7", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", "@typescript-eslint/eslint-plugin": "^6.21.0", @@ -81,13 +81,13 @@ "semver": "^7.6.0", "simple-git-hooks": "^2.9.0", "tslib": "^2.6.2", - "tsx": "^4.7.0", + "tsx": "^4.7.1", "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", "vitepress": "1.0.0-rc.42", "vitest": "^1.2.2", - "vue": "^3.4.15" + "vue": "^3.4.18" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false" diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 07e41243f94420..560c2db5ff83e3 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.2.2", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 0e5eb639c26a48..f0765ff163adce 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.2" }, "devDependencies": { - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 4dc9fc1fd8b80e..bb256b961b84a1 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.19.3" + "preact": "^10.19.4" }, "devDependencies": { "@preact/preset-vite": "^2.8.1", "typescript": "^5.2.2", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index b4c847c91da1bf..307ea66d1dcb0c 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.19.3" + "preact": "^10.19.4" }, "devDependencies": { "@preact/preset-vite": "^2.8.1", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 5a216bb831e233..27b0f5b3752eb8 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.1.0" + "vite": "^5.1.1" }, "dependencies": { "@builder.io/qwik": "^1.4.4" diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 5a216bb831e233..27b0f5b3752eb8 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.1.0" + "vite": "^5.1.1" }, "dependencies": { "@builder.io/qwik": "^1.4.4" diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index c0a43346aaab52..3876930e973f74 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -23,6 +23,6 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", "typescript": "^5.2.2", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index bd4b310213f358..98c3dc6e644694 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -21,6 +21,6 @@ "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 699b0c71fbb16c..ca992eee8c3ac2 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.1.0", + "vite": "^5.1.1", "vite-plugin-solid": "^2.9.1" } } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index c0d7374f4f640c..6213b4e4d0a3f1 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -12,7 +12,7 @@ "solid-js": "^1.8.14" }, "devDependencies": { - "vite": "^5.1.0", + "vite": "^5.1.1", "vite-plugin-solid": "^2.9.1" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 7317f572dcd83b..0bcd6cd4a174a3 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -13,9 +13,9 @@ "@sveltejs/vite-plugin-svelte": "^3.0.2", "@tsconfig/svelte": "^5.0.2", "svelte": "^4.2.10", - "svelte-check": "^3.6.3", + "svelte-check": "^3.6.4", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index eb0cfceed06a6f..fc78426c45d6f6 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.0.2", "svelte": "^4.2.10", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 5c230244b329d2..fec8a65a6c8b05 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.2.2", - "vite": "^5.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index 2d02454e475a91..5082a9a020739d 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.1.0" + "vite": "^5.1.1" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index a8dd548e4ab08a..57fc78e0d8a2fe 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.4.15" + "vue": "^3.4.18" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.0.3", + "@vitejs/plugin-vue": "^5.0.4", "typescript": "^5.2.2", - "vite": "^5.1.0", + "vite": "^5.1.1", "vue-tsc": "^1.8.27" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 8e04a5d6a18963..781aece726ea7f 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.4.15" + "vue": "^3.4.18" }, "devDependencies": { - "@vitejs/plugin-vue": "^5.0.3", - "vite": "^5.1.0" + "@vitejs/plugin-vue": "^5.0.4", + "vite": "^5.1.1" } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 83ee75fafd120c..eb82d124945117 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -116,7 +116,7 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "dep-types": "link:./src/types", - "dotenv": "^16.4.1", + "dotenv": "^16.4.2", "dotenv-expand": "^10.0.0", "es-module-lexer": "^1.4.1", "escape-html": "^1.0.3", diff --git a/playground/alias/package.json b/playground/alias/package.json index 90ebfb75d55fa4..e11d77016cb876 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.4.15", - "@vue/shared": "^3.4.16" + "vue": "^3.4.18", + "@vue/shared": "^3.4.18" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/extensions/package.json b/playground/extensions/package.json index 44fc4e6cef6e67..7be041734b174d 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.15" + "vue": "^3.4.18" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index b77b44b25b00a5..8fb5f673643070 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.4.15" + "vue": "^3.4.18" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index 2576112c03f30d..2e85dc8c095c25 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.4.15" + "vue": "^3.4.18" } } diff --git a/playground/external/package.json b/playground/external/package.json index e26ac74adc5d12..bbd1ead77b2aef 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.4.15", + "vue": "^3.4.18", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index 8361d8deea98b9..bb0c4c923c0bb0 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.18.2", - "vue": "^3.4.15" + "vue": "^3.4.18" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index 5b5749fb5ab76b..cba9884cdf49c9 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.15" + "vue": "^3.4.18" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index 84a49b29d9610c..637cddcfcafadf 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.4.15", + "vue": "^3.4.18", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index f012dba12f3d0e..a376eb0f40b461 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -41,7 +41,7 @@ "react-dom": "^18.2.0", "@vitejs/test-resolve-linked": "workspace:0.0.0", "url": "^0.11.3", - "vue": "^3.4.15", + "vue": "^3.4.18", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index 0934b4990ab241..e6c21d13310001 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,7 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.17", "tailwindcss": "^3.4.1", - "vue": "^3.4.15", + "vue": "^3.4.18", "vue-router": "^4.2.5" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d618a5768358cc..b11b2a263ce6d0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,8 +28,8 @@ importers: specifier: ^7.23.9 version: 7.23.9 '@eslint-types/typescript-eslint': - specifier: ^6.19.1 - version: 6.19.1 + specifier: ^6.21.0 + version: 6.21.0 '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(rollup@4.2.0)(tslib@2.6.2)(typescript@5.2.2) @@ -64,8 +64,8 @@ importers: specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.11.16 - version: 20.11.16 + specifier: ^20.11.17 + version: 20.11.17 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -73,8 +73,8 @@ importers: specifier: ~1.43.1 version: 1.43.1 '@types/semver': - specifier: ^7.5.6 - version: 7.5.6 + specifier: ^7.5.7 + version: 7.5.7 '@types/stylus': specifier: ^0.48.42 version: 0.48.42 @@ -148,8 +148,8 @@ importers: specifier: ^2.6.2 version: 2.6.2 tsx: - specifier: ^4.7.0 - version: 4.7.0 + specifier: ^4.7.1 + version: 4.7.1 typescript: specifier: ^5.2.2 version: 5.2.2 @@ -164,10 +164,10 @@ importers: version: 1.0.0-rc.42(typescript@5.2.2) vitest: specifier: ^1.2.2 - version: 1.2.2(@types/node@20.11.16) + version: 1.2.2(@types/node@20.11.17) vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) packages/create-vite: devDependencies: @@ -316,8 +316,8 @@ importers: specifier: link:./src/types version: link:src/types dotenv: - specifier: ^16.4.1 - version: 16.4.1 + specifier: ^16.4.2 + version: 16.4.2 dotenv-expand: specifier: ^10.0.0 version: 10.0.0(patch_hash=weuqf2vlv5b5g6cikeo4slurbm) @@ -478,14 +478,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.4.16 - version: 3.4.16 + specifier: ^3.4.18 + version: 3.4.18 aliased-module: specifier: file:./dir/module version: file:playground/alias/dir/module vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -666,8 +666,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) playground/external: dependencies: @@ -688,8 +688,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) vue32: specifier: npm:vue@~3.2.0 version: /vue@3.2.0 @@ -703,8 +703,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) playground/external/dep-that-requires: dependencies: @@ -715,8 +715,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) playground/fs-serve: {} @@ -764,8 +764,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) playground/json/json-module: {} @@ -860,8 +860,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) playground/optimize-deps: dependencies: @@ -965,11 +965,11 @@ importers: specifier: ^0.11.3 version: 0.11.3 vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.15) + version: 4.1.0(vue@3.4.18) playground/optimize-deps-no-discovery: dependencies: @@ -977,11 +977,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.15) + version: 4.1.0(vue@3.4.18) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1497,15 +1497,15 @@ importers: specifier: ^3.4.1 version: 3.4.1(ts-node@10.9.2) vue: - specifier: ^3.4.15 - version: 3.4.15(typescript@5.2.2) + specifier: ^3.4.18 + version: 3.4.18(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.4.15) + version: 4.2.5(vue@3.4.18) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.16)(typescript@5.2.2) + version: 10.9.2(@types/node@20.11.17)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -3539,8 +3539,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint-types/typescript-eslint@6.19.1: - resolution: {integrity: sha512-X0farz1+psE6Qfx6+ISQQ/J3ZetKlUeuTIN9Zt/agx4UXrgK6daH/n9ba776JxysK6YJCRaEHng/bcQQUm+BsA==} + /@eslint-types/typescript-eslint@6.21.0: + resolution: {integrity: sha512-ao4TdMLw+zFdAJ9q6iBBxC5GSrJ14Hpv0VKaergr++jRTDaGgoYiAq84tx1FYqUJzQgzJC7dm6s52IAQP7EiHA==} dev: true /@eslint/eslintrc@2.1.4: @@ -4081,7 +4081,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@types/debug@4.1.12: @@ -4109,14 +4109,14 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@types/fs-extra@11.0.4: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@types/json-schema@7.0.12: @@ -4126,7 +4126,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@types/less@3.0.6: @@ -4172,8 +4172,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.16: - resolution: {integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==} + /@types/node@20.11.17: + resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} dependencies: undici-types: 5.26.5 @@ -4203,17 +4203,17 @@ packages: /@types/sass@1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true - /@types/semver@7.5.6: - resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + /@types/semver@7.5.7: + resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} dev: true /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@types/web-bluetooth@0.0.20: @@ -4223,7 +4223,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.2.2): @@ -4339,7 +4339,7 @@ packages: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.12 - '@types/semver': 7.5.6 + '@types/semver': 7.5.7 '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) @@ -4362,7 +4362,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.3(vite@packages+vite)(vue@3.4.15): + /@vitejs/plugin-vue@5.0.3(vite@packages+vite)(vue@3.4.18): resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: @@ -4370,7 +4370,7 @@ packages: vue: ^3.2.25 dependencies: vite: link:packages/vite - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.18(typescript@5.2.2) dev: true /@vitejs/release-scripts@1.3.1: @@ -4433,11 +4433,11 @@ packages: source-map: 0.6.1 dev: true - /@vue/compiler-core@3.4.15: - resolution: {integrity: sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==} + /@vue/compiler-core@3.4.18: + resolution: {integrity: sha512-F7YK8lMK0iv6b9/Gdk15A67wM0KKZvxDxed0RR60C1z9tIJTKta+urs4j0RTN5XqHISzI3etN3mX0uHhjmoqjQ==} dependencies: '@babel/parser': 7.23.9 - '@vue/shared': 3.4.15 + '@vue/shared': 3.4.18 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -4449,30 +4449,30 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/compiler-dom@3.4.15: - resolution: {integrity: sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==} + /@vue/compiler-dom@3.4.18: + resolution: {integrity: sha512-24Eb8lcMfInefvQ6YlEVS18w5Q66f4+uXWVA+yb7praKbyjHRNuKVWGuinfSSjM0ZIiPi++QWukhkgznBaqpEA==} dependencies: - '@vue/compiler-core': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-core': 3.4.18 + '@vue/shared': 3.4.18 - /@vue/compiler-sfc@3.4.15: - resolution: {integrity: sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==} + /@vue/compiler-sfc@3.4.18: + resolution: {integrity: sha512-rG5tqtnzwrVpMqAQ7FHtvHaV70G6LLfJIWLYZB/jZ9m/hrnZmIQh+H3ewnC5onwe/ibljm9+ZupxeElzqCkTAw==} dependencies: '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.15 - '@vue/compiler-dom': 3.4.15 - '@vue/compiler-ssr': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-core': 3.4.18 + '@vue/compiler-dom': 3.4.18 + '@vue/compiler-ssr': 3.4.18 + '@vue/shared': 3.4.18 estree-walker: 2.0.2 magic-string: 0.30.7 postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.15: - resolution: {integrity: sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==} + /@vue/compiler-ssr@3.4.18: + resolution: {integrity: sha512-hSlv20oUhPxo2UYUacHgGaxtqP0tvFo6ixxxD6JlXIkwzwoZ9eKK6PFQN4hNK/R13JlNyldwWt/fqGBKgWJ6nQ==} dependencies: - '@vue/compiler-dom': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/compiler-dom': 3.4.18 + '@vue/shared': 3.4.18 /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4511,10 +4511,10 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/reactivity@3.4.15: - resolution: {integrity: sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==} + /@vue/reactivity@3.4.18: + resolution: {integrity: sha512-7uda2/I0jpLiRygprDo5Jxs2HJkOVXcOMlyVlY54yRLxoycBpwGJRwJT9EdGB4adnoqJDXVT2BilUAYwI7qvmg==} dependencies: - '@vue/shared': 3.4.15 + '@vue/shared': 3.4.18 /@vue/runtime-core@3.2.0: resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} @@ -4523,11 +4523,11 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/runtime-core@3.4.15: - resolution: {integrity: sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==} + /@vue/runtime-core@3.4.18: + resolution: {integrity: sha512-7mU9diCa+4e+8/wZ7Udw5pwTH10A11sZ1nldmHOUKJnzCwvZxfJqAtw31mIf4T5H2FsLCSBQT3xgioA9vIjyDQ==} dependencies: - '@vue/reactivity': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/reactivity': 3.4.18 + '@vue/shared': 3.4.18 /@vue/runtime-dom@3.2.0: resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} @@ -4537,46 +4537,42 @@ packages: csstype: 2.6.21 dev: true - /@vue/runtime-dom@3.4.15: - resolution: {integrity: sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==} + /@vue/runtime-dom@3.4.18: + resolution: {integrity: sha512-2y1Mkzcw1niSfG7z3Qx+2ir9Gb4hdTkZe5p/I8x1aTIKQE0vY0tPAEUPhZm5tx6183gG3D/KwHG728UR0sIufA==} dependencies: - '@vue/runtime-core': 3.4.15 - '@vue/shared': 3.4.15 + '@vue/runtime-core': 3.4.18 + '@vue/shared': 3.4.18 csstype: 3.1.3 - /@vue/server-renderer@3.4.15(vue@3.4.15): - resolution: {integrity: sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==} + /@vue/server-renderer@3.4.18(vue@3.4.18): + resolution: {integrity: sha512-YJd1wa7mzUN3NRqLEsrwEYWyO+PUBSROIGlCc3J/cvn7Zu6CxhNLgXa8Z4zZ5ja5/nviYO79J1InoPeXgwBTZA==} peerDependencies: - vue: 3.4.15 + vue: 3.4.18 dependencies: - '@vue/compiler-ssr': 3.4.15 - '@vue/shared': 3.4.15 - vue: 3.4.15(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.18 + '@vue/shared': 3.4.18 + vue: 3.4.18(typescript@5.2.2) /@vue/shared@3.2.0: resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} dev: true - /@vue/shared@3.4.15: - resolution: {integrity: sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==} - - /@vue/shared@3.4.16: - resolution: {integrity: sha512-HKCjeaxR+R95dCw1BDaytcHdlzZj9lxj7RlFnxWtcKq670t8oSeMsbPlkzkNc2V6IUzHaMtUxdBcdREAhb+7NA==} - dev: false + /@vue/shared@3.4.18: + resolution: {integrity: sha512-CxouGFxxaW5r1WbrSmWwck3No58rApXgRSBxrqgnY1K+jk20F6DrXJkHdH9n4HVT+/B6G2CAn213Uq3npWiy8Q==} - /@vueuse/core@10.7.2(vue@3.4.15): + /@vueuse/core@10.7.2(vue@3.4.18): resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.2 - '@vueuse/shared': 10.7.2(vue@3.4.15) - vue-demi: 0.14.6(vue@3.4.15) + '@vueuse/shared': 10.7.2(vue@3.4.18) + vue-demi: 0.14.6(vue@3.4.18) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.15): + /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.18): resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} peerDependencies: async-validator: '*' @@ -4617,10 +4613,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.7.2(vue@3.4.15) - '@vueuse/shared': 10.7.2(vue@3.4.15) + '@vueuse/core': 10.7.2(vue@3.4.18) + '@vueuse/shared': 10.7.2(vue@3.4.18) focus-trap: 7.5.4 - vue-demi: 0.14.6(vue@3.4.15) + vue-demi: 0.14.6(vue@3.4.18) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4630,10 +4626,10 @@ packages: resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} dev: true - /@vueuse/shared@10.7.2(vue@3.4.15): + /@vueuse/shared@10.7.2(vue@3.4.18): resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} dependencies: - vue-demi: 0.14.6(vue@3.4.15) + vue-demi: 0.14.6(vue@3.4.18) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5602,8 +5598,8 @@ packages: dev: true patched: true - /dotenv@16.4.1: - resolution: {integrity: sha512-CjA3y+Dr3FyFDOAMnxZEGtnW9KBR2M0JvvUtXNW+dYJL5ROWxP9DUHCwgFqpMk0OXCc0ljhaNTr2w/kutYIcHQ==} + /dotenv@16.4.2: + resolution: {integrity: sha512-rZSSFxke7d9nYQ5NeMIwp5PP+f8wXgKNljpOb7KtH6SKW1cEqcXAz9VSJYVLKe7Jhup/gUYOkaeSVyK8GJ+nBg==} engines: {node: '>=12'} dev: true @@ -7946,7 +7942,7 @@ packages: dependencies: lilconfig: 3.0.0 postcss: 8.4.35 - ts-node: 10.9.2(@types/node@20.11.16)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.11.17)(typescript@5.2.2) yaml: 2.3.4 /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): @@ -9104,7 +9100,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.11.17)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -9123,7 +9119,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.11.16 + '@types/node': 20.11.17 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -9151,8 +9147,8 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsx@4.7.0: - resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==} + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -9391,16 +9387,16 @@ packages: '@shikijs/core': 1.0.0 '@shikijs/transformers': 1.0.0 '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.3(vite@packages+vite)(vue@3.4.15) + '@vitejs/plugin-vue': 5.0.3(vite@packages+vite)(vue@3.4.18) '@vue/devtools-api': 7.0.14 - '@vueuse/core': 10.7.2(vue@3.4.15) - '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.15) + '@vueuse/core': 10.7.2(vue@3.4.18) + '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.18) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 shiki: 1.0.0 vite: link:packages/vite - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.18(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -9422,7 +9418,7 @@ packages: - universal-cookie dev: true - /vitest@1.2.2(@types/node@20.11.16): + /vitest@1.2.2(@types/node@20.11.17): resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -9447,7 +9443,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.16 + '@types/node': 20.11.17 '@vitest/expect': 1.2.2 '@vitest/runner': 1.2.2 '@vitest/snapshot': 1.2.2 @@ -9479,7 +9475,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /vue-demi@0.14.6(vue@3.4.15): + /vue-demi@0.14.6(vue@3.4.18): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -9491,16 +9487,16 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.18(typescript@5.2.2) dev: true - /vue-router@4.2.5(vue@3.4.15): + /vue-router@4.2.5(vue@3.4.18): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.18(typescript@5.2.2) dev: false /vue@3.2.0: @@ -9511,28 +9507,28 @@ packages: '@vue/shared': 3.2.0 dev: true - /vue@3.4.15(typescript@5.2.2): - resolution: {integrity: sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==} + /vue@3.4.18(typescript@5.2.2): + resolution: {integrity: sha512-0zLRYamFRe0wF4q2L3O24KQzLyLpL64ye1RUToOgOxuWZsb/FhaNRdGmeozdtVYLz6tl94OXLaK7/WQIrVCw1A==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.15 - '@vue/compiler-sfc': 3.4.15 - '@vue/runtime-dom': 3.4.15 - '@vue/server-renderer': 3.4.15(vue@3.4.15) - '@vue/shared': 3.4.15 + '@vue/compiler-dom': 3.4.18 + '@vue/compiler-sfc': 3.4.18 + '@vue/runtime-dom': 3.4.18 + '@vue/server-renderer': 3.4.18(vue@3.4.18) + '@vue/shared': 3.4.18 typescript: 5.2.2 - /vuex@4.1.0(vue@3.4.15): + /vuex@4.1.0(vue@3.4.18): resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.18(typescript@5.2.2) dev: false /web-streams-polyfill@3.2.1: @@ -9739,7 +9735,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.18(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false @@ -9751,7 +9747,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.4.15(typescript@5.2.2) + vue: 3.4.18(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false From 642d528b7b403eb91c67ff809ffa0fb99a1ff56e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Feb 2024 22:00:00 +0900 Subject: [PATCH 331/656] chore(deps): update dependency dotenv-expand to v11 (#15875) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: bluwy --- package.json | 1 - packages/vite/package.json | 2 +- packages/vite/src/node/env.ts | 9 +++++---- patches/dotenv-expand@10.0.0.patch | 18 ------------------ pnpm-lock.yaml | 14 ++++++-------- 5 files changed, 12 insertions(+), 32 deletions(-) delete mode 100644 patches/dotenv-expand@10.0.0.patch diff --git a/package.json b/package.json index 1f758bec1eaacf..7b6d67ee69eb96 100644 --- a/package.json +++ b/package.json @@ -125,7 +125,6 @@ }, "patchedDependencies": { "chokidar@3.6.0": "patches/chokidar@3.6.0.patch", - "dotenv-expand@10.0.0": "patches/dotenv-expand@10.0.0.patch", "sirv@2.0.4": "patches/sirv@2.0.4.patch" }, "peerDependencyRules": { diff --git a/packages/vite/package.json b/packages/vite/package.json index eb82d124945117..bccb4fb885affd 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -117,7 +117,7 @@ "debug": "^4.3.4", "dep-types": "link:./src/types", "dotenv": "^16.4.2", - "dotenv-expand": "^10.0.0", + "dotenv-expand": "^11.0.3", "es-module-lexer": "^1.4.1", "escape-html": "^1.0.3", "estree-walker": "^3.0.3", diff --git a/packages/vite/src/node/env.ts b/packages/vite/src/node/env.ts index 1052f894ec8c2d..897524612f3c7d 100644 --- a/packages/vite/src/node/env.ts +++ b/packages/vite/src/node/env.ts @@ -1,7 +1,7 @@ import fs from 'node:fs' import path from 'node:path' import { parse } from 'dotenv' -import { expand } from 'dotenv-expand' +import { type DotenvPopulateInput, expand } from 'dotenv-expand' import { arraify, normalizePath, tryStatSync } from './utils' import type { UserConfig } from './config' @@ -49,9 +49,10 @@ export function loadEnv( process.env.BROWSER_ARGS = parsed.BROWSER_ARGS } - // let environment variables use each other - // `expand` patched in patches/dotenv-expand@9.0.0.patch - expand({ parsed }) + // let environment variables use each other. make a copy of `process.env` so that `dotenv-expand` + // doesn't re-assign the expanded values to the global `process.env`. + const processEnv = { ...process.env } as DotenvPopulateInput + expand({ parsed, processEnv }) // only keys that start with prefix are exposed to client for (const [key, value] of Object.entries(parsed)) { diff --git a/patches/dotenv-expand@10.0.0.patch b/patches/dotenv-expand@10.0.0.patch deleted file mode 100644 index ae483e0f3d3c7c..00000000000000 --- a/patches/dotenv-expand@10.0.0.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/lib/main.js b/lib/main.js -index 79d973c22f06403bfee45ff122bd384841c30da8..9392de262140f8f336146bef2419794532e4170f 100644 ---- a/lib/main.js -+++ b/lib/main.js -@@ -69,9 +69,10 @@ function expand (config) { - ) - } - -- for (const processKey in config.parsed) { -- environment[processKey] = config.parsed[processKey] -- } -+ // PATCH: don't write to process.env -+ // for (const processKey in config.parsed) { -+ // environment[processKey] = config.parsed[processKey] -+ // } - - return config - } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b11b2a263ce6d0..0bcfb23744d3f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,9 +13,6 @@ patchedDependencies: chokidar@3.6.0: hash: bckcfsslxcffppz65mxcq6naau path: patches/chokidar@3.6.0.patch - dotenv-expand@10.0.0: - hash: weuqf2vlv5b5g6cikeo4slurbm - path: patches/dotenv-expand@10.0.0.patch sirv@2.0.4: hash: amdes53ifqfntejkflpaq5ifce path: patches/sirv@2.0.4.patch @@ -319,8 +316,8 @@ importers: specifier: ^16.4.2 version: 16.4.2 dotenv-expand: - specifier: ^10.0.0 - version: 10.0.0(patch_hash=weuqf2vlv5b5g6cikeo4slurbm) + specifier: ^11.0.3 + version: 11.0.3 es-module-lexer: specifier: ^1.4.1 version: 1.4.1 @@ -5592,11 +5589,12 @@ packages: is-obj: 2.0.0 dev: true - /dotenv-expand@10.0.0(patch_hash=weuqf2vlv5b5g6cikeo4slurbm): - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + /dotenv-expand@11.0.3: + resolution: {integrity: sha512-qkK+MLTvZ86oq4sjMqGpUN/38SQ/J37mny88CsEUFFjb2MBVz06a809ri0QeVDXpxkvZkXzqjGUb0M1R6n3OGw==} engines: {node: '>=12'} + dependencies: + dotenv: 16.4.2 dev: true - patched: true /dotenv@16.4.2: resolution: {integrity: sha512-rZSSFxke7d9nYQ5NeMIwp5PP+f8wXgKNljpOb7KtH6SKW1cEqcXAz9VSJYVLKe7Jhup/gUYOkaeSVyK8GJ+nBg==} From 738ecaeda1ca56e6f06515cf0972dcfb325d1a04 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Mon, 12 Feb 2024 14:12:16 +0100 Subject: [PATCH 332/656] chore: needs reproduction label name (#15878) --- .github/ISSUE_TEMPLATE/bug_report.yml | 2 +- .github/workflows/issue-close-require.yml | 4 ++-- .github/workflows/issue-labeled.yml | 8 ++++---- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 0c4c5be491a3ad..3e60e7c9736596 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -18,7 +18,7 @@ body: id: reproduction attributes: label: Reproduction - description: Please provide a link via [vite.new](https://vite.new/) or a link to a repo that can reproduce the problem you ran into. `npm create vite@latest` and `npm create vite-extra@latest` (for SSR or library repros) can be used as a starter template. A [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) is required ([Why?](https://antfu.me/posts/why-reproductions-are-required)). If a report is vague (e.g. just a generic error message) and has no reproduction, it will receive a "need reproduction" label. If no reproduction is provided after 3 days, it will be auto-closed. + description: Please provide a link via [vite.new](https://vite.new/) or a link to a repo that can reproduce the problem you ran into. `npm create vite@latest` and `npm create vite-extra@latest` (for SSR or library repros) can be used as a starter template. A [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) is required ([Why?](https://antfu.me/posts/why-reproductions-are-required)). If a report is vague (e.g. just a generic error message) and has no reproduction, it will receive a "needs reproduction" label. If no reproduction is provided after 3 days, it will be auto-closed. placeholder: Reproduction URL validations: required: true diff --git a/.github/workflows/issue-close-require.yml b/.github/workflows/issue-close-require.yml index cdf2042060945e..5347951bb52086 100644 --- a/.github/workflows/issue-close-require.yml +++ b/.github/workflows/issue-close-require.yml @@ -9,10 +9,10 @@ jobs: if: github.repository == 'vitejs/vite' runs-on: ubuntu-latest steps: - - name: need reproduction + - name: needs reproduction uses: actions-cool/issues-helper@v3 with: actions: "close-issues" token: ${{ secrets.GITHUB_TOKEN }} - labels: "need reproduction" + labels: "needs reproduction" inactive-day: 3 diff --git a/.github/workflows/issue-labeled.yml b/.github/workflows/issue-labeled.yml index 6c6c77737ceea5..db719cc3d467d9 100644 --- a/.github/workflows/issue-labeled.yml +++ b/.github/workflows/issue-labeled.yml @@ -16,7 +16,7 @@ jobs: actions: "remove-labels" token: ${{ secrets.GITHUB_TOKEN }} issue-number: ${{ github.event.issue.number }} - labels: "pending triage, need reproduction" + labels: "pending triage, needs reproduction" - name: remove pending if: contains(github.event.label.description, '(priority)') && contains(github.event.issue.labels.*.name, 'pending triage') @@ -36,13 +36,13 @@ jobs: issue-number: ${{ github.event.issue.number }} labels: "enhancement: pending triage" - - name: need reproduction - if: github.event.label.name == 'need reproduction' + - name: needs reproduction + if: github.event.label.name == 'needs reproduction' uses: actions-cool/issues-helper@v3 with: actions: "create-comment, remove-labels" token: ${{ secrets.GITHUB_TOKEN }} issue-number: ${{ github.event.issue.number }} body: | - Hello @${{ github.event.issue.user.login }}. Please provide a [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) using a GitHub repository or [StackBlitz](https://vite.new). Issues marked with `need reproduction` will be closed if they have no activity within 3 days. + Hello @${{ github.event.issue.user.login }}. Please provide a [minimal reproduction](https://stackoverflow.com/help/minimal-reproducible-example) using a GitHub repository or [StackBlitz](https://vite.new). Issues marked with `needs reproduction` will be closed if they have no activity within 3 days. labels: "pending triage" From added3ee101522d0cf0c318ac1c2016c10271c47 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 12 Feb 2024 23:17:25 +0800 Subject: [PATCH 333/656] fix(build): do not output build time when build fails (#15711) Co-authored-by: patak <583075+patak-dev@users.noreply.github.com> --- packages/vite/src/node/build.ts | 12 +++++++ packages/vite/src/node/plugins/reporter.ts | 39 +--------------------- packages/vite/src/node/utils.ts | 20 +++++++++++ 3 files changed, 33 insertions(+), 38 deletions(-) diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index ea8ff1f8826af8..f7e3ae94a34da6 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -30,6 +30,7 @@ import { arraify, asyncFlatten, copyDir, + displayTime, emptyDir, joinUrlSegments, normalizePath, @@ -559,6 +560,7 @@ export async function build( } let bundle: RollupBuild | undefined + let startTime: number | undefined try { const buildOutputOptions = (output: OutputOptions = {}): OutputOptions => { // @ts-expect-error See https://github.com/vitejs/vite/issues/5812#issuecomment-984345618 @@ -692,6 +694,7 @@ export async function build( // write or generate files with rollup const { rollup } = await import('rollup') + startTime = Date.now() bundle = await rollup(rollupOptions) if (options.write) { @@ -702,10 +705,19 @@ export async function build( for (const output of normalizedOutputs) { res.push(await bundle[options.write ? 'write' : 'generate'](output)) } + config.logger.info( + `${colors.green(`✓ built in ${displayTime(Date.now() - startTime)}`)}`, + ) return Array.isArray(outputs) ? res : res[0] } catch (e) { e.message = mergeRollupError(e) clearLine() + if (startTime) { + config.logger.error( + `${colors.red('x')} Build failed in ${displayTime(Date.now() - startTime)}`, + ) + startTime = undefined + } throw e } finally { if (bundle) await bundle.close() diff --git a/packages/vite/src/node/plugins/reporter.ts b/packages/vite/src/node/plugins/reporter.ts index 1feae9cbfaa876..d4f39aa5c4b8e4 100644 --- a/packages/vite/src/node/plugins/reporter.ts +++ b/packages/vite/src/node/plugins/reporter.ts @@ -47,8 +47,6 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { let transformedCount = 0 let chunkCount = 0 let compressedCount = 0 - let startTime = Date.now() - let buildFailed = false async function getCompressedSize( code: string | Uint8Array, @@ -101,16 +99,11 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { return null }, - options() { - startTime = Date.now() - }, - buildStart() { transformedCount = 0 }, - buildEnd(error?: Error) { - buildFailed = !!error + buildEnd() { if (shouldLogInfo) { if (tty) { clearLine() @@ -301,16 +294,6 @@ export function buildReporterPlugin(config: ResolvedConfig): Plugin { ) } }, - - closeBundle() { - if (shouldLogInfo && !config.build.watch && !buildFailed) { - config.logger.info( - `${colors.green( - `✓ built in ${displayTime(Date.now() - startTime)}`, - )}`, - ) - } - }, } } @@ -338,23 +321,3 @@ function throttle(fn: Function) { }, 100) } } - -function displayTime(time: number) { - // display: {X}ms - if (time < 1000) { - return `${time}ms` - } - - time = time / 1000 - - // display: {X}s - if (time < 60) { - return `${time.toFixed(2)}s` - } - - const mins = parseInt((time / 60).toString()) - const seconds = time % 60 - - // display: {X}m {Y}s - return `${mins}m${seconds < 1 ? '' : ` ${seconds.toFixed(0)}s`}` -} diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 67c827e7000421..6f8004566cb6f9 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -1426,3 +1426,23 @@ export function sortObjectKeys>(obj: T): T { } return sorted as T } + +export function displayTime(time: number): string { + // display: {X}ms + if (time < 1000) { + return `${time}ms` + } + + time = time / 1000 + + // display: {X}s + if (time < 60) { + return `${time.toFixed(2)}s` + } + + const mins = parseInt((time / 60).toString()) + const seconds = time % 60 + + // display: {X}m {Y}s + return `${mins}m${seconds < 1 ? '' : ` ${seconds.toFixed(0)}s`}` +} From d9adf18e634c1790d9d64c5624a0d0be268711ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 13 Feb 2024 00:32:23 +0900 Subject: [PATCH 334/656] chore: update license file (#15885) --- packages/vite/LICENSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/LICENSE.md b/packages/vite/LICENSE.md index 8914a690d75577..3518027754ee7b 100644 --- a/packages/vite/LICENSE.md +++ b/packages/vite/LICENSE.md @@ -1912,7 +1912,7 @@ Repository: lydell/js-tokens > The MIT License (MIT) > -> Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023 Simon Lydell +> Copyright (c) 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 2023, 2024 Simon Lydell > > 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 65ef38375045935d12ad3f4dd6da90ab5860b5cd Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Mon, 12 Feb 2024 19:16:15 +0100 Subject: [PATCH 335/656] docs: remove vite rollup plugins from resources (#15892) --- docs/.vitepress/config.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 8db949d482cfaa..6222cdbd530af3 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -167,10 +167,6 @@ export default defineConfig({ text: 'DEV Community', link: 'https://dev.to/t/vite', }, - { - text: 'Rollup Plugins Compat', - link: 'https://vite-rollup-plugins.patak.dev/', - }, { text: 'Changelog', link: 'https://github.com/vitejs/vite/blob/main/packages/vite/CHANGELOG.md', From 296ce248857d2431d87850f19192aa2714f56b3e Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Tue, 13 Feb 2024 07:13:37 +0100 Subject: [PATCH 336/656] docs: remove links to vite-rollup-plugins (#15893) --- docs/guide/api-plugin.md | 2 -- docs/guide/using-plugins.md | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index 4dd76122fc4f6f..40b8261d88e740 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -509,8 +509,6 @@ export default defineConfig({ }) ``` -Check out [Vite Rollup Plugins](https://vite-rollup-plugins.patak.dev) for a list of compatible official Rollup plugins with usage instructions. - ## Path Normalization Vite normalizes paths while resolving ids to use POSIX separators ( / ) while preserving the volume in Windows. On the other hand, Rollup keeps resolved paths untouched by default, so resolved ids have win32 separators ( \\ ) in Windows. However, Rollup plugins use a [`normalizePath` utility function](https://github.com/rollup/plugins/tree/master/packages/pluginutils#normalizepath) from `@rollup/pluginutils` internally, which converts separators to POSIX before performing comparisons. This means that when these plugins are used in Vite, the `include` and `exclude` config pattern and other similar paths against resolved ids comparisons work correctly. diff --git a/docs/guide/using-plugins.md b/docs/guide/using-plugins.md index 8f6887594a197a..f8691d28d96eb5 100644 --- a/docs/guide/using-plugins.md +++ b/docs/guide/using-plugins.md @@ -34,7 +34,7 @@ Falsy plugins will be ignored, which can be used to easily activate or deactivat Vite aims to provide out-of-the-box support for common web development patterns. Before searching for a Vite or compatible Rollup plugin, check out the [Features Guide](../guide/features.md). A lot of the cases where a plugin would be needed in a Rollup project are already covered in Vite. ::: -Check out the [Plugins section](../plugins/) for information about official plugins. Community plugins are listed in [awesome-vite](https://github.com/vitejs/awesome-vite#plugins). For compatible Rollup plugins, check out [Vite Rollup Plugins](https://vite-rollup-plugins.patak.dev) for a list of compatible official Rollup plugins with usage instructions or the [Rollup Plugin Compatibility section](../guide/api-plugin#rollup-plugin-compatibility) in case it is not listed there. +Check out the [Plugins section](../plugins/) for information about official plugins. Community plugins are listed in [awesome-vite](https://github.com/vitejs/awesome-vite#plugins). You can also find plugins that follow the [recommended conventions](./api-plugin.md#conventions) using a [npm search for vite-plugin](https://www.npmjs.com/search?q=vite-plugin&ranking=popularity) for Vite plugins or a [npm search for rollup-plugin](https://www.npmjs.com/search?q=rollup-plugin&ranking=popularity) for Rollup plugins. @@ -61,7 +61,7 @@ export default defineConfig({ }) ``` -Check out [Plugins API Guide](./api-plugin.md#plugin-ordering) for detailed information, and look out for the `enforce` label and usage instructions for popular plugins in the [Vite Rollup Plugins](https://vite-rollup-plugins.patak.dev) compatibility listing. +Check out [Plugins API Guide](./api-plugin.md#plugin-ordering) for detailed information. ## Conditional Application From 0ac31a7c469f09e8ebb65be8b361b4afb15f63cb Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Tue, 13 Feb 2024 23:21:22 +0100 Subject: [PATCH 337/656] chore: add Nx to sponsors (#15902) --- docs/.vitepress/theme/composables/sponsor.ts | 5 +++++ docs/public/nx.svg | 8 ++++++++ 2 files changed, 13 insertions(+) create mode 100644 docs/public/nx.svg diff --git a/docs/.vitepress/theme/composables/sponsor.ts b/docs/.vitepress/theme/composables/sponsor.ts index f4d31760cc1e85..ea8a180aa05c35 100644 --- a/docs/.vitepress/theme/composables/sponsor.ts +++ b/docs/.vitepress/theme/composables/sponsor.ts @@ -49,6 +49,11 @@ const viteSponsors: Pick = { url: 'https://remix.run/', img: '/remix.svg', }, + { + name: 'Nx', + url: 'https://nx.dev/', + img: '/nx.svg', + }, { name: 'Transloadit', url: 'https://transloadit.com/?utm_source=vite&utm_medium=referral&utm_campaign=sponsorship&utm_content=website', diff --git a/docs/public/nx.svg b/docs/public/nx.svg new file mode 100644 index 00000000000000..122becb65c59fe --- /dev/null +++ b/docs/public/nx.svg @@ -0,0 +1,8 @@ + + + + + + + + From 7440191715b07a50992fcf8c90d07600dffc375e Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Tue, 13 Feb 2024 23:38:21 +0100 Subject: [PATCH 338/656] chore: fix Nx logo (#15903) --- docs/public/nx.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/public/nx.svg b/docs/public/nx.svg index 122becb65c59fe..b97dfb0e6381ee 100644 --- a/docs/public/nx.svg +++ b/docs/public/nx.svg @@ -1,4 +1,4 @@ - + From 7b1560765e474869c2f2096cff6d519ef01afe48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 14 Feb 2024 22:35:40 +0900 Subject: [PATCH 339/656] fix(runtime): pass path instead of fileURL to `isFilePathESM` (#15908) --- packages/vite/src/node/ssr/fetchModule.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/ssr/fetchModule.ts b/packages/vite/src/node/ssr/fetchModule.ts index e62d5b25d1f2d3..855e3c2b467133 100644 --- a/packages/vite/src/node/ssr/fetchModule.ts +++ b/packages/vite/src/node/ssr/fetchModule.ts @@ -77,7 +77,7 @@ export async function fetchModule( throw err } const file = pathToFileURL(resolved.id).toString() - const type = isFilePathESM(file, server.config.packageCache) + const type = isFilePathESM(resolved.id, server.config.packageCache) ? 'module' : 'commonjs' return { externalize: file, type } From 75ddc0e4fdaf6360e3f9563b432fdaab07510d59 Mon Sep 17 00:00:00 2001 From: patak Date: Wed, 14 Feb 2024 15:12:50 +0100 Subject: [PATCH 340/656] release: v5.1.2 --- packages/vite/CHANGELOG.md | 12 ++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 52579035633026..efd6137769c9a8 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,15 @@ +## 5.1.2 (2024-02-14) + +* fix: normalize import file path info (#15772) ([306df44](https://github.com/vitejs/vite/commit/306df44)), closes [#15772](https://github.com/vitejs/vite/issues/15772) +* fix(build): do not output build time when build fails (#15711) ([added3e](https://github.com/vitejs/vite/commit/added3e)), closes [#15711](https://github.com/vitejs/vite/issues/15711) +* fix(runtime): pass path instead of fileURL to `isFilePathESM` (#15908) ([7b15607](https://github.com/vitejs/vite/commit/7b15607)), closes [#15908](https://github.com/vitejs/vite/issues/15908) +* fix(worker): support UTF-8 encoding in inline workers (fixes #12117) (#15866) ([570e0f1](https://github.com/vitejs/vite/commit/570e0f1)), closes [#12117](https://github.com/vitejs/vite/issues/12117) [#15866](https://github.com/vitejs/vite/issues/15866) +* chore: update license file (#15885) ([d9adf18](https://github.com/vitejs/vite/commit/d9adf18)), closes [#15885](https://github.com/vitejs/vite/issues/15885) +* chore(deps): update all non-major dependencies (#15874) ([d16ce5d](https://github.com/vitejs/vite/commit/d16ce5d)), closes [#15874](https://github.com/vitejs/vite/issues/15874) +* chore(deps): update dependency dotenv-expand to v11 (#15875) ([642d528](https://github.com/vitejs/vite/commit/642d528)), closes [#15875](https://github.com/vitejs/vite/issues/15875) + + + ## 5.1.1 (2024-02-09) * fix: empty CSS file was output when only .css?url is used (#15846) ([b2873ac](https://github.com/vitejs/vite/commit/b2873ac)), closes [#15846](https://github.com/vitejs/vite/issues/15846) diff --git a/packages/vite/package.json b/packages/vite/package.json index bccb4fb885affd..5735d8219d1290 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.1", + "version": "5.1.2", "type": "module", "license": "MIT", "author": "Evan You", From 63a39c244b08cf1f2299bc2c3cfddcb82070d05b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 15 Feb 2024 00:16:55 +0900 Subject: [PATCH 341/656] refactor(runtime): minor tweaks (#15904) --- docs/guide/ssr.md | 3 +- packages/vite/src/node/ssr/fetchModule.ts | 12 ++++---- .../vite/src/node/ssr/runtime/moduleCache.ts | 4 +-- packages/vite/src/node/ssr/runtime/runtime.ts | 29 +++++++++---------- playground/test-utils.ts | 2 +- 5 files changed, 26 insertions(+), 24 deletions(-) diff --git a/docs/guide/ssr.md b/docs/guide/ssr.md index f989f7cf392704..a5e61a93b1172d 100644 --- a/docs/guide/ssr.md +++ b/docs/guide/ssr.md @@ -129,7 +129,8 @@ app.use('*', async (req, res, next) => { // ESM source code to be usable in Node.js! There is no bundling // required, and provides efficient invalidation similar to HMR. const { render } = await vite.ssrLoadModule('/src/entry-server.js') - // 3b. Since Vite 5.1, you can use createViteRuntime API instead. + // 3b. Since Vite 5.1, you can use the experimental createViteRuntime API + // instead. // It fully supports HMR and works in a simillar way to ssrLoadModule // More advanced use case would be creating a runtime in a separate // thread or even a different machine using ViteRuntime class diff --git a/packages/vite/src/node/ssr/fetchModule.ts b/packages/vite/src/node/ssr/fetchModule.ts index 855e3c2b467133..c8dc57fcb38df1 100644 --- a/packages/vite/src/node/ssr/fetchModule.ts +++ b/packages/vite/src/node/ssr/fetchModule.ts @@ -123,6 +123,11 @@ SOURCEMAPPING_URL += 'ppingURL' const VITE_RUNTIME_SOURCEMAPPING_SOURCE = '//# sourceMappingSource=vite-runtime' const VITE_RUNTIME_SOURCEMAPPING_URL = `${SOURCEMAPPING_URL}=data:application/json;charset=utf-8` +const OTHER_SOURCE_MAP_REGEXP = new RegExp( + `//# ${SOURCEMAPPING_URL}=data:application/json[^,]+base64,([A-Za-z0-9+/=]+)$`, + 'gm', +) + function inlineSourceMap( mod: ModuleNode, result: TransformResult, @@ -139,11 +144,8 @@ function inlineSourceMap( return result // to reduce the payload size, we only inline vite node source map, because it's also the only one we use - const OTHER_SOURCE_MAP_REGEXP = new RegExp( - `//# ${SOURCEMAPPING_URL}=data:application/json[^,]+base64,([A-Za-z0-9+/=]+)$`, - 'gm', - ) - while (OTHER_SOURCE_MAP_REGEXP.test(code)) + OTHER_SOURCE_MAP_REGEXP.lastIndex = 0 + if (OTHER_SOURCE_MAP_REGEXP.test(code)) code = code.replace(OTHER_SOURCE_MAP_REGEXP, '') const sourceMap = Buffer.from( diff --git a/packages/vite/src/node/ssr/runtime/moduleCache.ts b/packages/vite/src/node/ssr/runtime/moduleCache.ts index e40d1dd7316960..d02f11b948a698 100644 --- a/packages/vite/src/node/ssr/runtime/moduleCache.ts +++ b/packages/vite/src/node/ssr/runtime/moduleCache.ts @@ -28,7 +28,7 @@ export class ModuleCacheMap extends 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) as ModuleCache, mod) + else Object.assign(super.get(fsPath)!, mod) return this } @@ -50,7 +50,7 @@ export class ModuleCacheMap extends Map { importers: new Set(), }) } - return mod as ModuleCache + return mod } override get(fsPath: string): ModuleCache { diff --git a/packages/vite/src/node/ssr/runtime/runtime.ts b/packages/vite/src/node/ssr/runtime/runtime.ts index 1c43eb713eea4f..bfde7ce1fe9f77 100644 --- a/packages/vite/src/node/ssr/runtime/runtime.ts +++ b/packages/vite/src/node/ssr/runtime/runtime.ts @@ -218,21 +218,20 @@ export class ViteRuntime { return this.processImport(mod.exports, fetchedModule, metadata) } - const getStack = () => - `stack:\n${[...callstack, moduleId] - .reverse() - .map((p) => ` - ${p}`) - .join('\n')}` - let debugTimer: any - if (this.debug) - debugTimer = setTimeout( - () => - this.debug!( - `[vite-runtime] module ${moduleId} takes over 2s to load.\n${getStack()}`, - ), - 2000, - ) + if (this.debug) { + debugTimer = setTimeout(() => { + const getStack = () => + `stack:\n${[...callstack, moduleId] + .reverse() + .map((p) => ` - ${p}`) + .join('\n')}` + + this.debug!( + `[vite-runtime] module ${moduleId} takes over 2s to load.\n${getStack()}`, + ) + }, 2000) + } try { // cached module @@ -266,7 +265,7 @@ export class ViteRuntime { this.debug?.('[vite-runtime] fetching', id) // fast return for established externalized patterns const fetchedModule = id.startsWith('data:') - ? ({ externalize: id, type: 'builtin' } as FetchResult) + ? ({ externalize: id, type: 'builtin' } satisfies FetchResult) : await this.options.fetchModule(id, importer) // 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 diff --git a/playground/test-utils.ts b/playground/test-utils.ts index 92123f08900896..b5fe29d2a24ae8 100644 --- a/playground/test-utils.ts +++ b/playground/test-utils.ts @@ -32,12 +32,12 @@ export const ports = { ssr: 9600, 'ssr-deps': 9601, 'ssr-html': 9602, - 'ssr-hmr': 9609, // not imported but used in `ssr-hmr/vite.config.js` 'ssr-noexternal': 9603, 'ssr-pug': 9604, 'ssr-webworker': 9605, 'proxy-bypass': 9606, // not imported but used in `proxy-hmr/vite.config.js` 'proxy-bypass/non-existent-app': 9607, // not imported but used in `proxy-hmr/other-app/vite.config.js` + 'ssr-hmr': 9609, // not imported but used in `hmr-ssr/__tests__/hmr.spec.ts` 'proxy-hmr': 9616, // not imported but used in `proxy-hmr/vite.config.js` 'proxy-hmr/other-app': 9617, // not imported but used in `proxy-hmr/other-app/vite.config.js` 'ssr-conditions': 9620, From 4172f02b70a8ae44bb8f3bc22d5fd5cffe458274 Mon Sep 17 00:00:00 2001 From: Vladimir Date: Wed, 14 Feb 2024 20:19:06 +0100 Subject: [PATCH 342/656] refactor(runtime): seal ES module namespace object instead of feezing (#15914) --- .../node/ssr/runtime/__tests__/server-runtime.spec.ts | 11 +++++++++++ packages/vite/src/node/ssr/runtime/esmRunner.ts | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts b/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts index 5dd45fba53fbcc..a27ee8034523e6 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts +++ b/packages/vite/src/node/ssr/runtime/__tests__/server-runtime.spec.ts @@ -87,11 +87,22 @@ describe('vite-runtime initialization', async () => { it('exports is not modifiable', async ({ runtime }) => { const mod = await runtime.executeUrl('/fixtures/simple.js') + expect(Object.isSealed(mod)).toBe(true) expect(() => { mod.test = 'I am modified' }).toThrowErrorMatchingInlineSnapshot( `[TypeError: Cannot set property test of [object Module] which has only a getter]`, ) + expect(() => { + delete mod.test + }).toThrowErrorMatchingInlineSnapshot( + `[TypeError: Cannot delete property 'test' of [object Module]]`, + ) + expect(() => { + Object.defineProperty(mod, 'test', { value: 'I am modified' }) + }).toThrowErrorMatchingInlineSnapshot( + `[TypeError: Cannot redefine property: test]`, + ) expect(() => { mod.other = 'I am added' }).toThrowErrorMatchingInlineSnapshot( diff --git a/packages/vite/src/node/ssr/runtime/esmRunner.ts b/packages/vite/src/node/ssr/runtime/esmRunner.ts index a9aacd8fbea13f..47078c370fb852 100644 --- a/packages/vite/src/node/ssr/runtime/esmRunner.ts +++ b/packages/vite/src/node/ssr/runtime/esmRunner.ts @@ -34,7 +34,7 @@ export class ESModulesRunner implements ViteModuleRunner { context[ssrExportAllKey], ) - Object.freeze(context[ssrModuleExportsKey]) + Object.seal(context[ssrModuleExportsKey]) } runExternalModule(filepath: string): Promise { From 509902807c841742e0d64ca7ea12c0b44ab54489 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Thu, 15 Feb 2024 14:54:52 +0100 Subject: [PATCH 343/656] fix: cachedTransformMiddleware for direct css requests (#15919) --- .../src/node/server/middlewares/transform.ts | 38 ++++++++++++------- 1 file changed, 25 insertions(+), 13 deletions(-) diff --git a/packages/vite/src/node/server/middlewares/transform.ts b/packages/vite/src/node/server/middlewares/transform.ts index d335e598a6f358..9cdbaf6ce1b44b 100644 --- a/packages/vite/src/node/server/middlewares/transform.ts +++ b/packages/vite/src/node/server/middlewares/transform.ts @@ -57,13 +57,11 @@ export function cachedTransformMiddleware( if (ifNoneMatch) { const moduleByEtag = server.moduleGraph.getModuleByEtag(ifNoneMatch) if (moduleByEtag?.transformResult?.etag === ifNoneMatch) { - // For direct CSS requests, if the same CSS file is imported in a module, + // For CSS requests, if the same CSS file is imported in a module, // the browser sends the request for the direct CSS request with the etag // from the imported CSS module. We ignore the etag in this case. - const mixedEtag = - !req.headers.accept?.includes('text/css') && - isDirectRequest(moduleByEtag.url) - if (!mixedEtag) { + const maybeMixedEtag = isCSSRequest(req.url!) + if (!maybeMixedEtag) { debugCache?.(`[304] ${prettifyUrl(req.url!, server.config.root)}`) res.statusCode = 304 return res.end() @@ -176,14 +174,28 @@ export function transformMiddleware( // not valid browser import specifiers by the importAnalysis plugin. url = unwrapId(url) - // for CSS, we need to differentiate between normal CSS requests and - // imports - if ( - isCSSRequest(url) && - !isDirectRequest(url) && - req.headers.accept?.includes('text/css') - ) { - url = injectQuery(url, 'direct') + // for CSS, we differentiate between normal CSS requests and imports + if (isCSSRequest(url)) { + if ( + req.headers.accept?.includes('text/css') && + !isDirectRequest(url) + ) { + url = injectQuery(url, 'direct') + } + + // check if we can return 304 early for CSS requests. These aren't handled + // by the cachedTransformMiddleware due to the browser possibly mixing the + // etags of direct and imported CSS + const ifNoneMatch = req.headers['if-none-match'] + if ( + ifNoneMatch && + (await server.moduleGraph.getModuleByUrl(url, false)) + ?.transformResult?.etag === ifNoneMatch + ) { + debugCache?.(`[304] ${prettifyUrl(url, server.config.root)}`) + res.statusCode = 304 + return res.end() + } } // resolve, load and transform using the plugin container From bf3952790495122fd2e4b8584fd892ae838a0cb5 Mon Sep 17 00:00:00 2001 From: patak Date: Thu, 15 Feb 2024 14:57:06 +0100 Subject: [PATCH 344/656] release: v5.1.3 --- packages/vite/CHANGELOG.md | 8 ++++++++ packages/vite/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index efd6137769c9a8..e626677674f047 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,11 @@ +## 5.1.3 (2024-02-15) + +* fix: cachedTransformMiddleware for direct css requests (#15919) ([5099028](https://github.com/vitejs/vite/commit/5099028)), closes [#15919](https://github.com/vitejs/vite/issues/15919) +* refactor(runtime): minor tweaks (#15904) ([63a39c2](https://github.com/vitejs/vite/commit/63a39c2)), closes [#15904](https://github.com/vitejs/vite/issues/15904) +* refactor(runtime): seal ES module namespace object instead of feezing (#15914) ([4172f02](https://github.com/vitejs/vite/commit/4172f02)), closes [#15914](https://github.com/vitejs/vite/issues/15914) + + + ## 5.1.2 (2024-02-14) * fix: normalize import file path info (#15772) ([306df44](https://github.com/vitejs/vite/commit/306df44)), closes [#15772](https://github.com/vitejs/vite/issues/15772) diff --git a/packages/vite/package.json b/packages/vite/package.json index 5735d8219d1290..51f3dd12b0cb66 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.2", + "version": "5.1.3", "type": "module", "license": "MIT", "author": "Evan You", From b3f557deee57625fcaf5049b3ddad061946071b9 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Thu, 15 Feb 2024 15:49:39 +0100 Subject: [PATCH 345/656] docs: complete team social links (#15922) --- docs/_data/team.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/_data/team.js b/docs/_data/team.js index 07b0737600a9c3..d62b5e552a8c2a 100644 --- a/docs/_data/team.js +++ b/docs/_data/team.js @@ -22,6 +22,7 @@ export const core = [ links: [ { icon: 'github', link: 'https://github.com/patak-dev' }, { icon: 'twitter', link: 'https://twitter.com/patak_dev' }, + { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@patak' }, ], sponsor: 'https://github.com/sponsors/patak-dev', }, @@ -35,6 +36,7 @@ export const core = [ links: [ { icon: 'github', link: 'https://github.com/antfu' }, { icon: 'twitter', link: 'https://twitter.com/antfu7' }, + { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@antfu' }, ], sponsor: 'https://github.com/sponsors/antfu', }, @@ -46,6 +48,7 @@ export const core = [ links: [ { icon: 'github', link: 'https://github.com/bluwy' }, { icon: 'twitter', link: 'https://twitter.com/bluwyoo' }, + { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@bluwy' }, ], sponsor: 'https://bjornlu.com/sponsor', }, @@ -71,6 +74,7 @@ export const core = [ links: [ { icon: 'github', link: 'https://github.com/sodatea' }, { icon: 'twitter', link: 'https://twitter.com/haoqunjiang' }, + { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@haoqun' }, ], sponsor: 'https://github.com/sponsors/sodatea', }, @@ -113,7 +117,11 @@ export const core = [ name: 'Arnaud Barré', title: 'Frontend Developer', desc: 'Passionate by tooling around TypeScript and React.', - links: [{ icon: 'github', link: 'https://github.com/ArnaudBarre' }], + links: [ + { icon: 'github', link: 'https://github.com/ArnaudBarre' }, + { icon: 'twitter', link: 'https://twitter.com/_ArnaudBarre' }, + { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@ArnaudBarre' }, + ], sponsor: 'https://github.com/sponsors/ArnaudBarre', }, { From 8b11fea91560c5f084c31aa9b19e64832ac6c3b5 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Fri, 16 Feb 2024 05:38:18 +0100 Subject: [PATCH 346/656] fix: fs cached checks disabled by default for yarn pnp (#15920) --- packages/vite/src/node/fsUtils.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/fsUtils.ts b/packages/vite/src/node/fsUtils.ts index 5b4ea371af48ec..ae1892e989677c 100644 --- a/packages/vite/src/node/fsUtils.ts +++ b/packages/vite/src/node/fsUtils.ts @@ -48,10 +48,12 @@ export function getFsUtils(config: ResolvedConfig): FsUtils { if ( config.command !== 'serve' || config.server.fs.cachedChecks === false || - config.server.watch?.ignored + config.server.watch?.ignored || + process.versions.pnp ) { // cached fsUtils is only used in the dev server for now // it is enabled by default only when there aren't custom watcher ignored patterns configured + // and if yarn pnp isn't used fsUtils = commonFsUtils } else if ( !config.resolve.preserveSymlinks && From 71dc6a6b7d41c27133f04b92256bead74b8f2127 Mon Sep 17 00:00:00 2001 From: Haroen Viaene Date: Fri, 16 Feb 2024 11:04:56 +0100 Subject: [PATCH 347/656] docs(contributing): convert diagrams to mermaid (#15927) --- .github/issue-workflow-dark.png | Bin 275185 -> 0 bytes .github/issue-workflow.excalidraw | 2738 ----------------------------- .github/issue-workflow.png | Bin 267800 -> 0 bytes .github/pr-workflow-dark.png | Bin 230296 -> 0 bytes .github/pr-workflow.excalidraw | 1954 -------------------- .github/pr-workflow.png | Bin 231797 -> 0 bytes CONTRIBUTING.md | 44 +- 7 files changed, 36 insertions(+), 4700 deletions(-) delete mode 100644 .github/issue-workflow-dark.png delete mode 100644 .github/issue-workflow.excalidraw delete mode 100644 .github/issue-workflow.png delete mode 100644 .github/pr-workflow-dark.png delete mode 100644 .github/pr-workflow.excalidraw delete mode 100644 .github/pr-workflow.png diff --git a/.github/issue-workflow-dark.png b/.github/issue-workflow-dark.png deleted file mode 100644 index fe32a6dc507b0c7c30f7055b6604536623e03621..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 275185 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

    LPu+~=}q)V2} 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�-@j~H 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 diff --git a/.github/issue-workflow.excalidraw b/.github/issue-workflow.excalidraw deleted file mode 100644 index fc12540b41969d..00000000000000 --- a/.github/issue-workflow.excalidraw +++ /dev/null @@ -1,2738 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "type": "diamond", - "version": 265, - "versionNonce": 192248478, - "isDeleted": false, - "id": "sQbLVqjpgdZXg0DrdESrv", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 735.9493670886075, - "y": 178.5833246155455, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 177114754, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776 - }, - { - "type": "text", - "version": 206, - "versionNonce": 749438530, - "isDeleted": false, - "id": "Zo2OUf2C5ZeVhoM2q7Uni", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 799, - "y": 235.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 164, - "height": 48, - "seed": 478396126, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 20, - "fontFamily": 3, - "text": "Followed issue\ntemplate?", - "baseline": 43, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Followed issue\ntemplate?" - }, - { - "type": "line", - "version": 216, - "versionNonce": 1785231070, - "isDeleted": false, - "id": "alQgWzqeIA8Wd_epahTcc", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 883, - "y": 336, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 100.47284166624985, - "seed": 1247524446, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 100.47284166624985 - ] - ] - }, - { - "type": "line", - "version": 377, - "versionNonce": 665153026, - "isDeleted": false, - "id": "fDfDOoQv4l7fM9iicquNl", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1161.8952582689835, - "y": 369.56739811912234, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 279.04014344843074, - "height": 0, - "seed": 109974722, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -279.04014344843074, - 0 - ] - ] - }, - { - "type": "text", - "version": 304, - "versionNonce": 573696798, - "isDeleted": false, - "id": "zMMCi3Zo6KpPyyx8G8eYr", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 835.3743472748146, - "y": 397.6001419449459, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 666855710, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "text", - "version": 589, - "versionNonce": 1116495298, - "isDeleted": false, - "id": "Ztoo5I5eH0mNv9l39lH11", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1186.2924959296251, - "y": 397.47863964423703, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 1575246878, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "line", - "version": 357, - "versionNonce": 1094899550, - "isDeleted": false, - "id": "ESEzIw1uAeGDtzFQxjoUn", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1161.6266683902663, - "y": 370.5206504984035, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 102.02490458900218, - "seed": 820054494, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 102.02490458900218 - ] - ] - }, - { - "type": "rectangle", - "version": 503, - "versionNonce": 176117122, - "isDeleted": false, - "id": "VAqo6Z6jbCX7jifpnRFcL", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1056.276152926349, - "y": 473.85054740562003, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 275.3695193143709, - "height": 82.49906843870326, - "seed": 1100774814, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776 - }, - { - "type": "text", - "version": 591, - "versionNonce": 1609317278, - "isDeleted": false, - "id": "LhHi_nLcEjXVWTrzIj_Aw", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1099.9609125835343, - "y": 491.10008162497166, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 188, - "height": 48, - "seed": 1527850654, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 20, - "fontFamily": 3, - "text": "Close and ask to\nfollow template", - "baseline": 43, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Close and ask to\nfollow template" - }, - { - "type": "text", - "version": 551, - "versionNonce": 300687710, - "isDeleted": false, - "id": "-w-lI8s8rNBbK0EDBgrjg", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 806.60554399834, - "y": 506.67439364859297, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 24, - "seed": 1427727810, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948632442, - "fontSize": 20, - "fontFamily": 3, - "text": "Is duplicate?", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Is duplicate?" - }, - { - "type": "line", - "version": 437, - "versionNonce": 1683953630, - "isDeleted": false, - "id": "Kkfv8iJRmQOZXVmxjq4VB", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 883.8589168277284, - "y": 599.9686255820234, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 100.47284166624985, - "seed": 377873922, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 100.47284166624985 - ] - ] - }, - { - "type": "text", - "version": 558, - "versionNonce": 1722113282, - "isDeleted": false, - "id": "XlHx-HWp0TSFlM-imDtj5", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 845.3844268932406, - "y": 671.5687675269694, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 1855837634, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "text", - "version": 735, - "versionNonce": 1185704990, - "isDeleted": false, - "id": "KyQkN5f-OgFpz5uedfqMK", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1104.9975246719962, - "y": 756.829751760595, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 176, - "height": 48, - "seed": 282119490, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 20, - "fontFamily": 3, - "text": "Close and point\nto duplicate", - "baseline": 43, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Close and point\nto duplicate" - }, - { - "type": "text", - "version": 591, - "versionNonce": 431385794, - "isDeleted": false, - "id": "Iegl-yl9ijRqFOpeSBldb", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 805.8181494893245, - "y": 758.0208016745363, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 48, - "seed": 92919042, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 20, - "fontFamily": 3, - "text": "Has proper\nreproduction?", - "baseline": 43, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Has proper\nreproduction?" - }, - { - "type": "line", - "version": 546, - "versionNonce": 1422211166, - "isDeleted": false, - "id": "bJ3UV8aCWRq1vt_Tkw0jp", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 882.0773648501048, - "y": 862.5450610034595, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 100.47284166624985, - "seed": 326628510, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 100.47284166624985 - ] - ] - }, - { - "type": "line", - "version": 680, - "versionNonce": 797934722, - "isDeleted": false, - "id": "iXnyiAlfBjFRTxHo7LXqG", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1160.972623119087, - "y": 894.1124591225819, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 279.04014344843074, - "height": 0, - "seed": 2007346242, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -279.04014344843074, - 0 - ] - ] - }, - { - "type": "text", - "version": 679, - "versionNonce": 1987738782, - "isDeleted": false, - "id": "-V8am98wE-u1ZwjM5-_Dg", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 833.102874915617, - "y": 934.1452029484055, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 766174, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "text", - "version": 934, - "versionNonce": 569353282, - "isDeleted": false, - "id": "pCFWl38d536W9NeeiBAFj", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1185.2789516888201, - "y": 934.1146097386056, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 476763138, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "line", - "version": 627, - "versionNonce": 1904031966, - "isDeleted": false, - "id": "OAYqmOtcU81wORAuzxSWw", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1160.7040332403699, - "y": 895.065711501863, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 84.25681865453203, - "seed": 1398662430, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 84.25681865453203 - ] - ] - }, - { - "type": "text", - "version": 878, - "versionNonce": 1521863682, - "isDeleted": false, - "id": "sc6Al_aPs279jhxFkrLtM", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1091.446447122361, - "y": 1002.3719204352936, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 317, - "height": 24, - "seed": 517968222, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 20, - "fontFamily": 3, - "text": "Label: \"needs reproduction\"", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Label: \"needs reproduction\"" - }, - { - "type": "text", - "version": 720, - "versionNonce": 761163038, - "isDeleted": false, - "id": "K0mUQrR_xWSMwnC7n3pLQ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 816.9313570364943, - "y": 1018.9264620518948, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 129, - "height": 48, - "seed": 501331358, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 20, - "fontFamily": 3, - "text": "Is actually\na bug?", - "baseline": 43, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Is actually\na bug?" - }, - { - "type": "text", - "version": 1046, - "versionNonce": 803273666, - "isDeleted": false, - "id": "kWwkE1CtF3bPL1IrH3nsI", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1099.946447122361, - "y": 1039.3719204352938, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 300, - "height": 38, - "seed": 1254767518, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776, - "fontSize": 16, - "fontFamily": 3, - "text": "bot will auto close if no update\nhas been made in 3 days", - "baseline": 34, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "bot will auto close if no update\nhas been made in 3 days" - }, - { - "type": "diamond", - "version": 609, - "versionNonce": 2005866846, - "isDeleted": false, - "id": "EjTMjKTsLZaR41AMwsmNy", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 738.0549110869475, - "y": 437.7577182641384, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 1803796226, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776 - }, - { - "type": "diamond", - "version": 511, - "versionNonce": 1603285890, - "isDeleted": false, - "id": "VfIJSVxD9gou9yN2KDONV", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 737.267516577932, - "y": 701.1041262900818, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 1344307614, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776 - }, - { - "type": "diamond", - "version": 544, - "versionNonce": 1197489566, - "isDeleted": false, - "id": "HSSomUo5enDAFinc7SLgD", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 736.3807241251018, - "y": 962.0097866674403, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 1448404318, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776 - }, - { - "type": "rectangle", - "version": 570, - "versionNonce": 201487170, - "isDeleted": false, - "id": "ngwqQYNo3Yjj_Nkg3D99a", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1055.3127650148108, - "y": 739.5802175412433, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 275.3695193143709, - "height": 82.49906843870326, - "seed": 1214881218, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776 - }, - { - "type": "rectangle", - "version": 682, - "versionNonce": 33741278, - "isDeleted": false, - "id": "nnx4AoKQIT9eP622eJ9AD", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1055.3127650148108, - "y": 981.0741934448577, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 389.2673642151006, - "height": 117.43882747484807, - "seed": 177151390, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455776 - }, - { - "type": "line", - "version": 618, - "versionNonce": 932625154, - "isDeleted": false, - "id": "UbhoavCtdEmARfulbxS6B", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 881.5581485734253, - "y": 1123.5920490269261, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 100.47284166624985, - "seed": 2065819586, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455776, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 100.47284166624985 - ] - ] - }, - { - "type": "line", - "version": 914, - "versionNonce": 1049095710, - "isDeleted": false, - "id": "UL7ZiIflZEl47HrMlp-IL", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1638.7841025144658, - "y": 1155.1594471460483, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 757.3708391204892, - "height": 0, - "seed": 774040926, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -757.3708391204892, - 0 - ] - ] - }, - { - "type": "text", - "version": 751, - "versionNonce": 1087113922, - "isDeleted": false, - "id": "74qsx9VEJNHwAn5Hw1_WD", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 832.5836586389375, - "y": 1195.192190971872, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 1809031042, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "text", - "version": 976, - "versionNonce": 165706334, - "isDeleted": false, - "id": "-1ioc8tEbSPtI5ozdVi75", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1663.7900384424438, - "y": 1195.1312947317692, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 609849758, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "line", - "version": 872, - "versionNonce": 1581343362, - "isDeleted": false, - "id": "mspcCj6jasZd4jMwqcYrg", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1639.18481696369, - "y": 1156.1126995253296, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 74.0498029861119, - "seed": 351821634, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 74.0498029861119 - ] - ] - }, - { - "type": "text", - "version": 1111, - "versionNonce": 719158942, - "isDeleted": false, - "id": "f267tX8JXETN_7f-dFfC7", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 769.9139104197111, - "y": 1245.010365053955, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 376, - "height": 24, - "seed": 1304375902, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "1. Remove \"pending triage\" label", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "1. Remove \"pending triage\" label" - }, - { - "type": "rectangle", - "version": 988, - "versionNonce": 448119362, - "isDeleted": false, - "id": "vcDVvtyx6f0Wn0KbHWHvM", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 735.280228312161, - "y": 1225.2999396508208, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 460.69593564367204, - "height": 252.52898004072858, - "seed": 1915041438, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777 - }, - { - "type": "text", - "version": 1193, - "versionNonce": 1714420446, - "isDeleted": false, - "id": "kCXoBQ8uydHh5UHMAVmsY", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 769.9139104197111, - "y": 1289.5272898961812, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 212, - "height": 24, - "seed": 685064322, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "2. Add \"bug\" label", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "2. Add \"bug\" label" - }, - { - "type": "text", - "version": 1326, - "versionNonce": 1359489538, - "isDeleted": false, - "id": "ISJ9XbIqLfUQiNlZWuJlb", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 768.3266088324094, - "y": 1333.1721497092653, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 363, - "height": 72, - "seed": 875452290, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "3. Add related feature label if\n applicable (e.g. \"bug: ssr\"\n or \"plugin: vue\")", - "baseline": 67, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "3. Add related feature label if\n applicable (e.g. \"bug: ssr\"\n or \"plugin: vue\")" - }, - { - "type": "text", - "version": 1425, - "versionNonce": 1114173214, - "isDeleted": false, - "id": "o5xZIQge3zU5dqWbKuNe4", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 768.3266088324094, - "y": 1427.2991338362494, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 388, - "height": 24, - "seed": 1678453826, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "4. Add priority label (see below)", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "4. Add priority label (see below)" - }, - { - "type": "text", - "version": 903, - "versionNonce": 674732482, - "isDeleted": false, - "id": "VzxxMS2qarD3kj7kwWJeo", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1551.664548833127, - "y": 1289.5705520867325, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 176, - "height": 48, - "seed": 478062082, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "Is the behavior\nintended?", - "baseline": 43, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Is the behavior\nintended?" - }, - { - "type": "diamond", - "version": 699, - "versionNonce": 1274633054, - "isDeleted": false, - "id": "5K7ULA43_7XI_Lbw38zmI", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1494.6139159217344, - "y": 1232.653876702278, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 1822962462, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777 - }, - { - "type": "text", - "version": 928, - "versionNonce": 258150786, - "isDeleted": false, - "id": "eyAyR-XwXjgrYdlkC6Og3", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 805.3540409843638, - "y": 1555.4084520993458, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 152, - "height": 72, - "seed": 1243657054, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "Does the\nbug make Vite\nunusable?", - "baseline": 67, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Does the\nbug make Vite\nunusable?" - }, - { - "type": "diamond", - "version": 705, - "versionNonce": 1496465310, - "isDeleted": false, - "id": "zS7O1N2taRTf739KkKDb0", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 736.3034080729711, - "y": 1510.4917767148913, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 1811757442, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777 - }, - { - "type": "line", - "version": 742, - "versionNonce": 969511234, - "isDeleted": false, - "id": "US-PSZA6_UT_z_spAryVq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 881.0553396856625, - "y": 1477.9512520454418, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 34.31975968008919, - "seed": 717559134, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 34.31975968008919 - ] - ] - }, - { - "type": "line", - "version": 814, - "versionNonce": 1313119198, - "isDeleted": false, - "id": "h3nfhOKNfGpCZMs8_nP8b", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1642.5139379373118, - "y": 1392.7900933483634, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 30.545426859719328, - "seed": 1953011010, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 30.545426859719328 - ] - ] - }, - { - "type": "line", - "version": 1118, - "versionNonce": 449452290, - "isDeleted": false, - "id": "QjjbF35QLBSjRh2Uhiq4e", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1847.409196206294, - "y": 1424.357491467486, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 409.7726291513309, - "height": 0, - "seed": 1409800158, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -409.7726291513309, - 0 - ] - ] - }, - { - "type": "text", - "version": 915, - "versionNonce": 1631678494, - "isDeleted": false, - "id": "FRAEyymDWFym3AmT-mQdc", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1802.1397672002695, - "y": 1394.857175557787, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 1128082462, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "line", - "version": 838, - "versionNonce": 1642309826, - "isDeleted": false, - "id": "CDq3V6c7Pmbpwxe4acXk5", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1846.1406063275767, - "y": 1425.3107438467669, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 42.26804123711344, - "seed": 2073144514, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 42.26804123711344 - ] - ] - }, - { - "type": "text", - "version": 1149, - "versionNonce": 1578744926, - "isDeleted": false, - "id": "hM1wTAvGc1wtJsLf0i7Kf", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1705.3908622494707, - "y": 1489.6169527801976, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 282, - "height": 24, - "seed": 20838494, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "Keep open for discussion", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Keep open for discussion" - }, - { - "type": "text", - "version": 1326, - "versionNonce": 1991590018, - "isDeleted": false, - "id": "fbQ5BH5Mm4CFml4NHSw9n", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1709.8908622494707, - "y": 1526.6169527801976, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 273, - "height": 19, - "seed": 366689438, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 16, - "fontFamily": 3, - "text": "Remove \"pending triage\" label", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Remove \"pending triage\" label" - }, - { - "type": "line", - "version": 991, - "versionNonce": 1788772510, - "isDeleted": false, - "id": "MS1ddNWaIQ5MEW6BHgdIo", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1437.4406369309029, - "y": 1426.8510831378217, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 42.26804123711344, - "seed": 1072557086, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 42.26804123711344 - ] - ] - }, - { - "type": "text", - "version": 1185, - "versionNonce": 1962795074, - "isDeleted": false, - "id": "0qyN9aJ3ZVkpqPkKuy_fS", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1337.2462614139467, - "y": 1489.5018785478514, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 200, - "height": 24, - "seed": 552182530, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 20, - "fontFamily": 3, - "text": "Explain and close", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Explain and close" - }, - { - "type": "text", - "version": 1359, - "versionNonce": 1249950942, - "isDeleted": false, - "id": "_RMV2vqzS5jLLOkBklyf3", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1328.7462614139467, - "y": 1526.5018785478514, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 217, - "height": 19, - "seed": 1983350302, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 16, - "fontFamily": 3, - "text": "point to docs if needed", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "point to docs if needed" - }, - { - "type": "rectangle", - "version": 1033, - "versionNonce": 681347074, - "isDeleted": false, - "id": "tO_0BspEaH0efc-UgMWhM", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1281.8598911343533, - "y": 1468.2041515574156, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 310.7727405591866, - "height": 101.30979521678366, - "seed": 1333916354, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777 - }, - { - "type": "text", - "version": 986, - "versionNonce": 592539934, - "isDeleted": false, - "id": "ggYg6ky4YdpuaDP4UQ-GM", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1459.1969387686004, - "y": 1396.3068525502197, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 1126673054, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "rectangle", - "version": 1213, - "versionNonce": 160446402, - "isDeleted": false, - "id": "Si230clokwDoUey4FowxX", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1668.961481217189, - "y": 1469.4055183326752, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 354.8587620645635, - "height": 101.30979521678366, - "seed": 345483230, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777 - }, - { - "type": "line", - "version": 675, - "versionNonce": 1082236254, - "isDeleted": false, - "id": "Wg6zEEc2hZHw309saLOjA", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 882.6534155876153, - "y": 1671.162110835381, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 100.47284166624985, - "seed": 775120350, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 100.47284166624985 - ] - ] - }, - { - "type": "line", - "version": 886, - "versionNonce": 938995586, - "isDeleted": false, - "id": "KwcnA5g6GzWSfwNGWT2zQ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1452.906386425121, - "y": 1702.7295089545037, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 570.3978560169538, - "height": 0, - "seed": 226815746, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455777, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -570.3978560169538, - 0 - ] - ] - }, - { - "type": "text", - "version": 807, - "versionNonce": 1466057118, - "isDeleted": false, - "id": "VX-xsCbPecgdaJ41sJs5G", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 838.6789256531275, - "y": 1742.7622527803273, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 751237662, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "text", - "version": 898, - "versionNonce": 1576022786, - "isDeleted": false, - "id": "yHflVaBJQqmGQRkR9GXOe", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 765.0074077740048, - "y": 1815.543511883816, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 234, - "height": 72, - "seed": 97094302, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948755258, - "fontSize": 20, - "fontFamily": 3, - "text": "Does the bug\naffects the majority\nof users?", - "baseline": 67, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Does the bug\naffects the majority\nof users?" - }, - { - "type": "diamond", - "version": 673, - "versionNonce": 1260674526, - "isDeleted": false, - "id": "RfN8aFfNbf6juWW5DWt6M", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 736.9567748626122, - "y": 1770.6268364993616, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 532317918, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455777 - }, - { - "type": "line", - "version": 823, - "versionNonce": 775911170, - "isDeleted": false, - "id": "muvErataGmDyY0E5WCO-1", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 882.9166281024866, - "y": 1933.6215702948407, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 100.47284166624985, - "seed": 1826686366, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 100.47284166624985 - ] - ] - }, - { - "type": "line", - "version": 981, - "versionNonce": 1893265950, - "isDeleted": false, - "id": "HsO3NfLz8GC4Dz7iQIKkD", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1089.8528549664418, - "y": 1965.1889684139633, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 207.08111204340355, - "height": 0, - "seed": 298986306, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -207.08111204340355, - 0 - ] - ] - }, - { - "type": "text", - "version": 961, - "versionNonce": 1526548162, - "isDeleted": false, - "id": "kgPR6NfHGPY3o5ftAF847", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 832.9421381679988, - "y": 2005.221712239787, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 1277862366, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "text", - "version": 1100, - "versionNonce": 1399914078, - "isDeleted": false, - "id": "MafZIHtvFdt6Znj_rF3o4", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1113.6939725169598, - "y": 2003.1608159996838, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 1521447682, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "line", - "version": 951, - "versionNonce": 384507522, - "isDeleted": false, - "id": "CKWqmxPG_A6nwwP-Qmfce", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1090.5432964927518, - "y": 1964.6270692780927, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 68.9389053628438, - "seed": 7779870, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 68.9389053628438 - ] - ] - }, - { - "type": "text", - "version": 1290, - "versionNonce": 2008908446, - "isDeleted": false, - "id": "jFG-MF9igR98DJ-5OzIso", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 786.7396231515502, - "y": 2056.7331392238157, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 118, - "height": 24, - "seed": 981243074, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 20, - "fontFamily": 3, - "text": "p5: urgent", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "p5: urgent" - }, - { - "type": "rectangle", - "version": 1160, - "versionNonce": 247987778, - "isDeleted": false, - "id": "eHAFrOXDQ9bl6njKEHOO3", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 741.1108286295326, - "y": 2033.9873325245144, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 209.257589044035, - "height": 69.49161339860213, - "seed": 626044034, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778 - }, - { - "type": "text", - "version": 1405, - "versionNonce": 544177886, - "isDeleted": false, - "id": "QfpGXu6cKkYc0l3P3kSbI", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1053.0691719277108, - "y": 2056.9149574056346, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 24, - "seed": 1774456990, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 20, - "fontFamily": 3, - "text": "p4: important", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "p4: important" - }, - { - "type": "rectangle", - "version": 1277, - "versionNonce": 2138236418, - "isDeleted": false, - "id": "IKZeMSoWRnegv9VYaXQ46", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1012.8191652844812, - "y": 2034.1691507063333, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 233.5000132864592, - "height": 69.49161339860213, - "seed": 280580162, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778 - }, - { - "type": "line", - "version": 649, - "versionNonce": 303559454, - "isDeleted": false, - "id": "nU4yBZdIQUUj3iFUrAKSS", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1163.7694127003945, - "y": 634.5772159715862, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 279.04014344843074, - "height": 0, - "seed": 476863362, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -279.04014344843074, - 0 - ] - ] - }, - { - "type": "text", - "version": 915, - "versionNonce": 837473730, - "isDeleted": false, - "id": "dPbyUUnJ74BiBtR08NNNr", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1184.666650361036, - "y": 660.9733059815493, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 1941607838, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "line", - "version": 628, - "versionNonce": 1462230878, - "isDeleted": false, - "id": "CBYnQSD2RkkXY-KjUY9XS", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1163.5008228216768, - "y": 635.5304683508673, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 102.89551452317858, - "seed": 723098434, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 102.89551452317858 - ] - ] - }, - { - "type": "line", - "version": 1021, - "versionNonce": 2001653122, - "isDeleted": false, - "id": "l8yR5sBqXptSOVbigUPqh", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1454.4330956470337, - "y": 1700.4575046257976, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 71.34763447797354, - "seed": 1398920734, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 71.34763447797354 - ] - ] - }, - { - "type": "text", - "version": 1146, - "versionNonce": 66077598, - "isDeleted": false, - "id": "oQa8WA77NVi3AEKLqB4nT", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1411.958605712546, - "y": 1742.932439382468, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 1826923202, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "text", - "version": 1254, - "versionNonce": 618515778, - "isDeleted": false, - "id": "nPokHFX6K-pxacGCTVYh7", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1365.787087833423, - "y": 1815.7136984859567, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 176, - "height": 72, - "seed": 993878622, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 20, - "fontFamily": 3, - "text": "Are there\nworkarounds for\nthe bug?", - "baseline": 67, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Are there\nworkarounds for\nthe bug?" - }, - { - "type": "diamond", - "version": 1004, - "versionNonce": 2057445342, - "isDeleted": false, - "id": "lsD6TTbP-wED13SQGEYfA", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1308.7364549220304, - "y": 1770.7970231015022, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 730266242, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778 - }, - { - "type": "line", - "version": 1154, - "versionNonce": 267834626, - "isDeleted": false, - "id": "Un2yWLkc5__AjClolDNQC", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1454.6963081619049, - "y": 1933.7917568969813, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 100.47284166624985, - "seed": 1885169310, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 100.47284166624985 - ] - ] - }, - { - "type": "line", - "version": 1336, - "versionNonce": 793670686, - "isDeleted": false, - "id": "3wTe3JwvBpm607Y1XB2m3", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1726.916387113522, - "y": 1965.3591550161034, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 272.36496413106465, - "height": 0, - "seed": 1535662658, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -272.36496413106465, - 0 - ] - ] - }, - { - "type": "text", - "version": 1292, - "versionNonce": 169403586, - "isDeleted": false, - "id": "pMnpI2Mh04kP31FrMqvFa", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1404.721818227417, - "y": 2005.391898841927, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 1131602654, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "text", - "version": 1450, - "versionNonce": 1810251870, - "isDeleted": false, - "id": "OcbZ7xCL2DhsyqpBsDsC1", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1748.4736525763788, - "y": 2003.3310026018241, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 197640706, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "line", - "version": 1301, - "versionNonce": 1558379650, - "isDeleted": false, - "id": "VShYhytzLb0pAjVSz_nlX", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1725.322976552171, - "y": 1964.7972558802328, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 68.9389053628438, - "seed": 1192154910, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641948455778, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 68.9389053628438 - ] - ] - }, - { - "type": "text", - "version": 1642, - "versionNonce": 339379358, - "isDeleted": false, - "id": "x9tibphUwKZc-RUn7QLZL", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1350.9132426049077, - "y": 2056.903325825955, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 212, - "height": 24, - "seed": 390345154, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 20, - "fontFamily": 3, - "text": "p2: has workaround", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "p2: has workaround" - }, - { - "type": "rectangle", - "version": 1536, - "versionNonce": 1175723074, - "isDeleted": false, - "id": "yQ1aFpIR9EQqb7VNHXXf8", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1311.3753571737996, - "y": 2034.1575191266538, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 291.0757708622167, - "height": 69.49161339860213, - "seed": 329401182, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778 - }, - { - "type": "text", - "version": 1777, - "versionNonce": 1778139358, - "isDeleted": false, - "id": "_SRs00rbZEDk1zn6_Vvzg", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1699.84885198713, - "y": 2057.085144007774, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 153, - "height": 24, - "seed": 555526530, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778, - "fontSize": 20, - "fontFamily": 3, - "text": "p3: minor bug", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "p3: minor bug" - }, - { - "type": "rectangle", - "version": 1623, - "versionNonce": 1938506754, - "isDeleted": false, - "id": "6dcJQjVFo_xqCMRkmOoSZ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1659.5988453439004, - "y": 2034.3393373084728, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 233.5000132864592, - "height": 69.49161339860213, - "seed": 192817054, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641948455778 - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file diff --git a/.github/issue-workflow.png b/.github/issue-workflow.png deleted file mode 100644 index 92b1de0633c2292c36d18ab5c7ac518231821f9e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 267800 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ડP&+Ps^u23 z6yv(QfkrXI?|XYntp!+FVhg*rkJtyP=$CjBjTr3OMx_X-}m6tj^pRv|cA~s-2e(~m=@!*O&6rZs_=`0*q z^I`LQjTK&06!-YhP}k(?l4!&2!L`hLaZ6@?w2s>l&(MzebDqO;^1UMz7rzYDTj!nF zJ9G8^`ibqflh*wkFvrtB^yRs1Sd>W}^ZQzUX4?jCCyL`mBVF}lXAcv_`JSLeC$7rk zdpTIiqI9u8Ps$NvpuDsd((su2_PT&3%SP zGhQ-afY4C`%zR!MyaiD?y@B=DOEj(~#oNH?B}=vNYRf(AHXmXmRZ_k~f+l0~ z3A@Zxzy9y*m>4gwOt2_^r4va9EK5#5P)+^)*5=TweMrb+&{QH{XS<|fR3lA%WS-)^wK-XQY}wfTn>R|Wcg}>_1>C;s46wv+yPj; zpMMg#J^ne}P>#_dxm_!GYkUN6QnQh-uyT|x)O87)$-(%1j>4RZ4z)ziwD_?g@b9+P zMhq9MUX)w7Tyyr48VM5J|olHxLz#{5q0znKhRde3|cCoJ)2xia}wY{fj}2vn3d zEn6VG=43Sj*Mb-+(!EaScYr~g(eut+&?TS2et}rsivgucDLjtcV4t0DGu~)8o7(pN zz;O0$r!c*70NG>H&14n2ZAqsjoIH`XusG$6Y>5dF%k|UMD2f|o-(EuT-4T`6kA9rN ze?a)xTdqOLN^PR|hUO*kXv!b|KBz8fUj|f`?FoJ047Z2d!ef1ZF;obZ54z5`ytiFq zdUgMY|0AcMT&!EGRYh)}WR~)Ueh~;dZa%zd`8>2e4X5FLE&mF{j^^QESWW*Sr7}di z2+FDTueg|*HeXRMy%c5fV9Yu?dpdx{vYh*;e#K0Y*eLq&50;2YICdK85laXE&(Zl2 z)P^Db#(~gydFS#|GKy~gXSGJ;{RW*#!O6k$i@nP6O+WO4!8RTjN0JH0Ltg>oo?VHQ z%*}$8IbF@5+@o8y=&+D#Q7;cZ>t=8Z#OJ;wSI@!kS^I{6fIKJia$wf;&4qj#mu_jZ> zOhmGt>E5&?xl<3&+KwNce=%Ra9)Y24Flx$3cl$D#;D;s@`m>%rjxiki>0F<9=olq% zd32)Bm9Y-d>Ro8Bf}oqmw?-J70taIwxniriuUCqW+vLuoiV6D)Z@|f;NmRhDRmt() z{o0Km+m@*Ix5z&5zb1?0ndZicJnRF7QYODc>1O08{%%?_xET!Qa28dYd2e|AhDmm| zJj(Z5yr7@B1hIfgB5`!R>Q=x@@rI>8ji|4@{N%D!Tpjn9Puf12F>`ab5IWv#eeWey zF$GT9SkRtpmMNv{wsPUO05stpIV;=qi*n97-I>OY-=W#)0jecxqT*?J(kr?uDy`sJS-ot=WknHI42cD=xu^@GJLzbc zims6CC?vT?i9v)e0ImTihn;jtcEB5Zh0+t%4>IO)HF9FWs#Tpnq?9aV-{V7jkxf8>!u)?m`?Z_39Ia~^`s zAOMs`!WSMJ`NZzBF*vytJ2b)4ol?dr3V%FuO-5BO(F6U74rz1GsY+VFxp&R>iL7E4 zEcy2HIC4CFa>WlD+G`@)pxJlXkf5`S)z-PMCv#JYe-1P3v|uE-oa{G|wP@as*^*x( zv!G_oI6DuSP=hOou3=Rx!3VB;Qx=w-q z*bk~D(oEf&{QeS7%~k-SQjRKUVSj0&de6_pzAvzy*P2)BRU3^WT?1T zp?)-Fuo29fQ;;edOG!MbdNn^s(yRhY2h3GJ*|#JFnrsurvz?d*j|6n|kKTHe#+WI2 z7Te}+TIaiDQ7k!5{Q6_j+2bO8ud}AxjRPhjXCfwwP#@R24P6bv&4d?*tuzyQ zCmiERli;;`G{5mEKcMqXR05G_@O=+cIn|ZKOb67KrQebxf1qUOYXZ4Y^FekpgmAz- z^>k!gZ-n;HT&MqQKj0vooy>0flmF8bQOS^LFesBrX=55~cfDCwu-k;e-fHe|g@+D1 zNk{a+snX94iF$ce6&O%Qx4GUp^3kPaaKGl2O!|%I=MAPtzL?Lk2viK1?SO8^6ets- zws zQ_hY|a4Rp&T8R0%Nh{krwqiJ1YqWQ*hwt%H>yF5{$?Ku&JR}Qvjl%1>QoJ->+nSO34RVnET(y!rwZu z274f~7?&<~69Q=7ss$nt4fzO5x{4^=bSa;dBomsUKIwHb$mvuAWl0D$G?i5Tky7@& zDY(Qp(kH#dRx2by$W5DorBV8a#e0E~qb#Zqk^2(-LE4j2Z-AsHA%7ww>RINVIvJAd zyNg|B@5Dwme0yjXvAoz88qbcMx0Yt@Y z@~AfeoDPz8G8(b)bv-kIxtv@`Qh!QWO74*Ez};DFy_mS713s8f&GP=>CWbMP%Cj8! z3BBFWO|bT00a-dP%lu&}@b@I1Rz>th!8l39hamwQntcx^H}MCEWT$-lnrjiaUEkZ*bxtGAkFeODc0e z#U=-3CFg9~_SWSNa1S5-w${7~)U7`H#V2m@i@1N~Yx;ib^kumB>5v+*RyJz4P`G#l zGHKi(syp(j#3hl5+0#XXP-1<10Q5T>0fb?BDkMoP`->NaxdK#bn45 zuq`lhS6#{L=+(wV@7EmYg6UXEXmO_x=mv{!iB?o+ly7C&96 z`=erl!=1a94$yo^o|Z1gg-A$V8poh&3s)#8BD#S`U9Qt|5H1 z28dHtOEMvR?G*|07ZbsyLr%s|Ww+&}DSj^)ntZXYXnT;@7MW8^wz_^F*A5uU2XXT9 zz!Ahq%WXej*0=5QhPR)-D2-8iWV~U%-RHCPF&|YlyMPzAgA@$%JG@Lc(qn-ttlH&?9y7`>0>&PPadwJbG^NwjreQ>objNFv#|{ zh6Al+$M;fc9hd(b`tLC|3ceV#Na{^BJfWhWq4O(Be#uf2b)sv>ZiUndIlP;K4p^A3 z!C9ajz!%M%Fxp#tES1v{w;hHoR}NkVRC(oJ%`A)2BLzuMV6olwFltL>a^Xzm{x@aw zk9rqi6PB5n$6t{OCfn+0tLDp8TmXS``#tl_s(>YV`n_N0-8Kysb|rHZD4WQqwW*&< z`xs$;!A5Cx^(HT*sU!AB7@y?_lTf_z%mcZp9Q@D7KM&u&Fc-}HoWVRrLEL|KQU4Yz zucC<@M~R$CVwTy_cmRpR8+xQCZ?&qM<0WcPmc?HxO@3cr)5rk1?cAM-TJ;gi?8#z` zF_aESk5Kk8ez9=1Y_6Y4s5S`PI=?fVDUo;ZfawjJ)JK0oVGZP!bqkg%6-U{q_B)S? zi1oA46{(-HDIPZ)&+hjck8`9VJM3EX4C^wPLV{RGFbq{1br{X4S-KK_ZK$P7AoRVd zn!c>#7oh)FO1Utk6m)b=!&ZKNDNCocXvbAGO?lk}i&tRGix;r9F@odY#ZXjdE_ox} zu}5$PR4#WQH!TzSK$9(sy<1=I^KA7V%Q6QhC4XwSYA6hzN67MEu!fxu=hDCN9N!}V; zY7(Dlnd0A6fl;pKLN~$q6rU)h!Enp?oDTQq+vR`<{-n~_q>xG&smRU z5FaeE)O@i7M^ z>OEVag4lv$BY)*A(Ulwwkxqoy3FAS{SoE%;wdipjzah1^%tiP}_~a;*FJ{l~WaRtz z4L)*d^x|;IJUaQr_QxWpsK$m!_KV|MThqo_3z#DkA;)aVxKc1jD7^-U;^x=dK}Z~B zCD3E$C6d{4{E33VEda)GVO$(1ikF0ZjtA%{k+3^V!5>n}M%4aSCY1@%U6S5>b)G78 zY5J(DL|k(JaZ^qdHcE@62pB{cbXobw1fT5VE~Td$Vt)}N`MQO>puv0TxL5dM%q-(OqY&6c4PXiv(f?Q)T=290qu#~}iEAU-m25`giU?EV_WeaeKqf+}^ z4BRsLK%1x1K$~Rn>VXxDtN}FT2hI{CMfIm^C18RR3e=(WTwt>funWoeFkU_w-~GJ) zU)OF3+fUS+DkWWp-iQ(!C!MAGub<7ZyqK!YzWEI;GX zaAv3rxE3t{=%y$Fl!X$2azsF4*pw$A=Cc%CCLXvq806-t4Yq@bWh=7_VAvD^I0>!3 z2!mYq2Y&yFuaWnvjBg}Hh{{3nN*ccG$ z?zuAX&%;X;Ae!BPz!J!1m|hGCvGf2ZC8Gp5b%#3!oK0M_7gO!Z9<1bHE<>_LDL~hm z4aVb%#FTeRhG<)ppxjc?|NHFgE&uP%eocXeh(E;gCIAp}oOlBRAtk`0JM5N@F2gx!qhrV8jtyyW<;$_&u0d%7%B}61s~lgyk?0sW zw*lONHx`Cxb1nI$hba>SKs=uD*ak>&f_@Xfj&kC^e}K;xp7d|6)kHPINLBkQy@A7s zyb$6x5eo^LCE&T^gORrV@$aO1vTFwfa8(QkKHehWwem0|+^`qzS9nto_HZbK)7k-_ zlb{)4fOpy+4 z1Oy3&121G2<#32p*aDTQJP={bW;F?9%(?6?XDKzA^U!cy3@FHQJ_~Dp1J3pRjUO9; zQ((<>wf?^c97L=lJ1)y~^9R*64{{$L6qiHf$0#oGN z%yuvzlykg zlo(U{6vnZni~l6^=w>z*OyGes2%(KY@!5R9rYgetV(l4vTsuH6#fg^AAw&>7W`iMz zZy5Lh5(CKODuC&UBW>yil&QnOSFXCT5u@^N?O26?WjcZOu?N(sr#H~8H*Qh$fV_~| zPm@p)3vz&HF`@&TAvJ(Uv04Hw2NkCQZ9vQ%;!x#e?SeXa1JWcRtn-pNMtb^y?Z?3O zUHNv%8wOJ4YYLKX_FkPeTzxeNXf647IQfQy!jx&6eeKuKn8ncOQ~%$ooP8DR;2QjLvK^1I)woLur`{JkdgAnCW40O#cpt6nd zfqKz;x%UQ2oz|&$T)TdVCXd0!bbhR2bOFj@6!^k1abH1g+<9_MX^|C$n98C9g(g!F zS>zay%V{r!jDW#hP{iTKx9U{i(I6^UNh1c{(~@U}ddiPbAQb_(;p$@Byd8q!kWwfl zf3w^An;H(N3K3z{LEo@WgmF#FRmN0-)8iYghfxAW+!0$vS0jbp#D4o`DX@7RL0yQwX+83}ZHg>8SF1USnV~p{k zGBvcdVfpjR|4OWaY!QFB*$E&jM{N6T`v8bcozmMGO^X(Uwp<@pP!Nwm-Ljz_s6`I8 zVRC`B(2QYe3Vb|9Oq+I&Kt~?3MwwIrtblA_jKp92uX_KFTypDkYSJKJA_@b5b2>7` zAMxl4;QjbV(*Xgh#rH)Ynv#~^GU}HBq}dVx&@0Ql2UBtfF|ffOem4GZs3;53@SWM} zM+`j-#UMBrQWIh36Z8&91D3$aBVCX>)eMMj)6y=fG#0~u@;-+r?P~ZT`8z@Z?(}o^ zz(_UJ*kHVZgvuB=;a~GGWKOy?z*1cMT6`0jV)^pA=d){A#H%H{30ru=c!2L2{)>Mr zx{XNob_5n@aKf-w1Mk*>`PJo4giP!13)L}*!F+1k>vsukRXQY`#zYJlb;41t8AsJ$ zh=aVd0q-rJdwp+qlsw1Aaz^IPgKw9uc$&L%j6 zi-fTf|(VF^4N;+v-7@x!YfV)f||fzij7z`M|%VaKh6H2)j^+qLuXAR!_K1+Y- z?7Rb_P^=+&Ye_ik0`bnl&*_VzTyN#_en=-UDs{E)epiKZljzH+8%EC@QwTVqCKyMbbCbMAIi%4i1lheQ(I+# zB2Qzc+0G`dN}3pe_a$u~_*b>=)mwISbDUmcO>l^^3{Q5Kei zj~7-A=M3>K43K^~dgeTE#{5vpt{-AZV5@!_lH(#+fmqRKM;s*Nxd2~E3^%`}QjOcE zs;~3QVAK;(7gV_G0S!Z`xt#@(7)#DZhi^q-lA%bS4&48wrSYGW4Kn{L+?1xUuqf!+KmpuXJdF+V}u-F;Jt0{4r^RWJYOp|*&l1pob9 zz8#{mm5hJ7L$l13)R^N%{Jc zQ&G?w%=BYEFu`SxJu?6S`$nqbZkaS_ut#S6fOXf))Q1VX_Xzk!(n-e2-r+1mzA!T$ zQS{!mXD_0zMj_V{kWF-0ZADNCQfHosJd#po3i+XWZ{|Dr3Cg`acI{H;3YP-w-Ic~+ z^HOxS+AAIRcXgE(akuKK6=x(j0X52&OgiTiIF~3yLkp)|eo^GGO>#JXwI!f-NEDl_ z@tqv~**`j%BAlAvE9K>DTA(NSartux#nDdkWc>J_4nb=nHc5}Q3Etlgr)3Aro2T0+ z&lgcAP0~Ia7Aii|(H_g(8nk`Szt@4_SokzB(jQ+DnK^=FK`}fvR_|V;(5S&sicH8X zM-cP}qHNh8mEl>!jhJX!u20jvaP1BS`U`4*|99~JgvSm)^46;})5N3e=7K>7AbLYL zcvu=_cBYotrk_iY0zEL_eLv9W%>uK`xaM!rVFW2m*g3xqGi{h&fx;9D?ZZ`JnVmyO zBoX+5rkUTDx{Mw-J2^tR!S>)~-vdrY{H_m$#XswLkRedpbG&ILZ@%2I-_fa z_LGf+X0rt%l>nj)80?4pv!N;?+FC$AN_oL#RuoIL3s?-1=w3VPSPWc^yduH6f2$}P zK*pEUjY+_8`oj3FBTSu6q5VC--GXTBLq7-n<@9*zfp%!5j=8qu97Ru>IgAu%MUHv~ zypZk%R$;SX?hv=F1e1#CgOUisu6aC`8AZU>kcz26Qk{+6uTqG8&fO8bHI;IpU6@xw|k#eU6uk|>)H1igt z*KK2Z+ba5zn_r>s?l1)H`LT#{%)7HY!~SDFcRD_1e`~4UNwZU2Kab*Jp zg_HOnmS+n48tu|pWXF4uk{1$HxZLE`>lQ3NZ}>IYMf-A{9pxE>MIPyb#|e3WFZiIUAO}85AY6*0ZbmBX@Z7Fc$&8Nd z)~1?cseQaD=}*nP(G-`xzh;jouP+qX_~;pKc?7zvMyXC5($6YEU{b5JyP2`-TmHOc zay=>0CUvQ*r0G_eL6o&5i=_kgAW~!g^`#c!DB}5RhLPI3!pdnX)?>4e2}0URTFwAn#QG+Q5O-aOqJI?Z1gn~BF$ofZDF z`0dH%Ctg4H(u5SxDHy?ST7~lb<|5T5@DLo;#j#N9r#unu9R|_L1fs2sOI2L_3|47O zmPHhUs&$k_EiDLZ1JpAcC)qR+xLw8w5qej$vB)kCQ$DFp@D8@SP zRytybi#GMK0RQHkrybP}eD~<4lnNLj{mX@~tS&D2Bg{o=gJ+@TR+ zaJ3r=o#TFO?biiMiqg{->TUH+11hlJUg~t*^uWJt`Mpenm#7KXdWX2d?Gg$@QpZ;Pn@(v0f1xKyhf_VNw^7xUiQ1Uu+CT!4TS04t|EM0z#K8mJdW{r;8NUj3ln#fUgofV(Y{Zb#Eh6x zIas^`u<@|F=e@DyF);+P^@qq5V~UN+87$dWakw7|J?XCxayn@if1bbXgIJzWF&}bR zq?Fep&M~(76U-o8I8ghsZ=bIBmMEdZ1eOuv**+c0C9|V8LEfu9+}C1Q$xl01YRO7_ zT}$-D&1KS|Qqz6vJYSWba!O=($};%fC~QlJUg*Y20N8&v=pIxoX)*dybpFSt71hzn zmuDe5O#0nK`j-9;s55c>=yQ#M98pt?YS5JBxKmPf4&m+E&DO^pCX-G}R=;aZ;ws{y zujuz$YUcILW=UDHX=#v!C>H0 zbjA%bBA&}gxGn9VN5mno*HnJgS23JBCUqo25p6lqC0UHfMc)1!HuK(mZHs)DX5lK( zmV*4HHK{0v)OLBR;B?qxwf1ZPvOE?`lFjj|%uQ#vI_Uj4PBz``5&F8Zj|bxV1fbzjm-rXb7^#=JQZ?8OJRS_woWqmh5`Mx)=;rcc7z`i&MO=b!=I6_d~%zYW9w=}uAl zaX&BIY@ADilT1dqv%JYXm0QMP`nE4CkA7BXuq;Us(-HRheffGyw7w$KO^dO!W_gjq zZ}S^wPcMQEh`$*K-l;cuycxq;Uy^iD$wFt(^kVIuKKIt5Ug&DYl>1`IkPG7$=5u0s zYFA)ZNL5CUxYaJ)TtPcMkOr(=Vl0{D6|3x!ON$p6YPzgT+K1xNCU33?Q!?wuWtQuZ zb!TA*XS!c&z(h1mozP%D>?W=ZhDs#G^QW`rq;)u>G?e82r-PZ;$XiZ`o;4(xwv?uFO8aVG;@znFLdGm)la*c=Q&IEGgf=yz5 zcrVJACjPWV@cA{%ha{LY(&QF)L=+m^>Uj7`AcC0b26;B-r5+i*{CU`qmVL#=wl}a! zS1?v{jv#ar3L52WQ2v=9Ek>A8Y~v&S@HPPNi2M;9-!}!{fYQ@ePmYiObspKW`Om1=;BYrb? z@d$;7?o;RHp<4_$FjP>p6v87Pbj_lyY940P#-JM+C!cMII$Q*&9kCPYjCrq}ps=Jv z74>YiSyGF~oWJgQk(;Lcnc%qBC(nS&(UR|sDM>tm(t%nXjWVXJ)-AjE-I|z2)^;g- zy|83@|1#iG#*`2r@zka|XO2PBPj{KcGDW&F#Th}kD67)h@-cnEe?GgzfyP6%Q4))U zY)I>!4o#UZYBKF7NyIZ))TkT^Bpn_LiSNf9qL*&1j+KU%a(}L8;MgQVmb@|Am@UE8 zFqc|7KX1Lp_+z^cGQ2rvT2e!pF5K61w@rhH_iXETNZWm(P5J=M#at8MEzM7`d5gS# zkA%fSsxQ(ej+2;?fByLmHJM{}`OURvUS>;&<6%askK%oVkQ~A;xbw9Ve2@V0!NU&+AXh%d4(H6OnLqYfnqQs(exqo;8+rqwmH#l3|cvgA;fFPs_lOjT9(2s zj4vcEm$hLrW%s56xcadAf8?)cy7(2b#Mq33Y#WGfej2+Q#2P<^91JFJ83 zpL!va>QS+DYxpMo;VK@>r5@uKA*##EbNR?rm7kPN(kx4p9exhvt8|xi3@_l?Oe4^> zp!}AFW&(qWzAOJ)f?92>{2$i5qDga_=yWcOL+7{gNq!6OseTAd#K&JBZXvN~eTq5! zI>}ORKH*mVX8VxGorGxFO>rQ;Jt}>3@MVl&!Ce;oM<~P}1#bd_HBlFGI#f#g!&*z0 z9&0@pVlZKe&`xP@0>EMtB8xxH>0!E}-B#%MAEgDW z6pE<2opx`eD?dMju2i0Me(feP|8J)65_yV)m4O(g962F?@wUmt!mkE*>6-|jbW7|m=bmWBPB%y;%uK;bqO7gk zE%!_o2SR)0`7Gkjh~1Lk+)r7$x;M`BL{PKAI>xsWPKHVjL z$>p!TGfUw#`7qE7tbTkuCqD2-?I&pT9Zxs9|Aq|S7^guv_UqCenV|Y8GYKnY5eVb9 z)(QirguE^)6r#A>^B3YJyT;WDDREI$rQs!#Z!pa}9WuAvd zy9|<_o1N)Rs(2fD1w<9ybgV>>=enn+hAe>bZd8)rw@3qr7arf zA;_D%^vp?7^1e^ycm~4K*o^8^i_K3%L#~2gIZZk9ds=yV6f*AjBbLEMtC*q4YodIH zjTjTP_(q-_{CH83W4YQPK1dM3$J}Zh&KF1kE940S9uXb?7kI7 zF#VQ2STWU&r2_^%&ssW{1bWL_4Y-Gd*6^++T`9k=It+yF!gCRX^}F`)AB_W(wnAiL zDd9TEj*AsQOHn7f)WX3K8bs4jCFL~gyW9yVZxrOuJjv=cdYCZ5&Gqs2Be9)jCV6g{ z!OpamT+tmJgM2QGN30ZLDH?Jb50Ou}cSUZqqGYJUYTvm9nJ35i#F3kF!5=QX=U)$1 z2lD8rx&+g9(9pJ)^~}q?55w@o-r+WwPbT2i549mmN+L{<>r3M3$>9!WIsyFYKfqv+ zy2HHuL#N1ud(#&dmj|r-e{yQ_@zS|GQ^Fm;-D%>#LjOIgOU7s4Q4z4D&V5VFJ98}c z(R-NP+VuPAbH`u66O#>oeJn_~%{J~+ z7?sk8A=e1_XvR3_L_ZHj)}8ixbgzW4`1t#eYd@Xj-L9<6%cKZmM3q?GM5q}8nSqpEeQFO8IwH4s+j$|(e% ziB-OS(iksiQVEg#_k^=m{XUpxzRXNuafwfO)7$Uo7KB3@8GT>55y9C%IhU03ybx{RU@72g2o!Sk)L$`^x^y+-0AZL zDe8(^cE|%~=EoXL{Kab%Q0gY*Hsa$5&b{)s?on2Qn>%zbm=cy-Xj1nsuk4O!pM4Bq zVN1B;J+={9UOy8^Sw0S6F5p3T8CN3Yy>j4BxmT<^;p;?i)k;CS4|t6#DvP()!$*7R z0||-JM&=g~I8lXZZ4m;5envF^@vHj9F}4KrP*hK!K+myX5?*mbeMr*akd_smdYZVC z9z!=d`-Zolpo*3^0qxfXt+&4D5nSXX-bTs7REdZ$Um&#H=vn!_W(i-|7GOvWQ1EEB z?Iudn2$b*4lJyx5UnoC8%Qg_q(EuQ>J6~@vqD|-rwdI{vFDz0n-4Y;Bb_s3G&K%r!4^e*oBqC0bwwujtddk>E6mJ*GGy#Q4@(S`$gCpJQ0sZC=la zadY|L)tJouw+!&B^OeD$8qVBbFlMAbvpMO^$sYzAenlAO%F8CgsNH|gKFqX8O9q3( zY^6_g$Uhz3HYEr$Ef1Dz(D`0>5*;r;2ZF`M!bD}_F}HtlKz(AGd=XH`-oKb^WZ^3OKjE4EzStdziE>hT~&L1oI9^-^EO3=}+- zzY>>wo<`&qU_HYnk7VVT#P9kR+RZdW74HR$-h-V+wY zfX|d;8sk8U6T4m-IUE-&DGctf*KS#|2gEZ9ZxdX6=OANDh_Mu?^pyZu7kW@4|TBQ3=4UVd}UeTx*&oovNiQzQ$4@dmzm2 z>XC_@_C6e=mU5PoMy2U^ys?$4tkcM}a?Em_n5QlL`U!Xt7u1BCZ!>cK0zaFQ0M?I9 zvZ&H1Oyif?@bT4u_F8&yGXBpFj;@B}&oFfe2H_~^FE$8cz7*0eu{&h{FH*4lR~Kb;WtW$ZeV8u zJPAnA1L*o(ct13jsxB1r$hXeFZDO*Wa_+b@plSxl&+I>#wV%1cB2CmxlC{*unL$XA z;tMcj#N8szUb`T@y2iQ%h+m%=BwKyq0RW3PI-oX?Q)B%D4*x;n^fMSLIYm|1==(dA zgr(7FDXIDeG~I^~a55HdAYK%=eOxK0WCBL*1jimPE+L*yP^1MgdA-bP&i217&RKYkxdYM^Hikd%hj8=TR+XPI3BKpXOK?c=w0p5o z*^E{MZ2L^xYCTB`YkUc(e<20%xn>C42U&l^5PL-V?KyxEcgj^IuEAz}KFI28rs>&8 zm~1Aatk5&yCvnas8i2d_&&nyN47hld0)slH=g+1AuzQP1Z5sssU0WW3kCB5sq{#eg zZnCB?shB_%9mrV96G*PjvLRtNWOOwPu*5FosDH2eln6Yw!`ZAakK|3jZU{Fo#hnSd z5&ixj(0=`%-fhu?q&!7oEeidY1$)In^lS>;9d1H+6*PZp2ADOX>yrWlC|dyiHx}w@ zSa|cO8OX0`^MH432^c_!0bWW0>Y?^^J$q~ln+)9o*uZBe-d4ya0m_8UEIJy%yvNgx+GGFcN~h@*N<{KeQ(N!wuFVHo^5;bPneFZyJ#$3i*!kb<9F05Tjs`UyHgSrkqnJ zLxiGzIf(iRKnQ=WCSr?6Bkt#)>gZs~3j@h0%9Ao+u-(S_&ty*);Ndf3peB*c<_=6OY6a?N+SgLe6(tzoXXP0-f(|2^JG)?y z%d!H03SE5RlO68=BMt?DP|1j(HAjC`D%;aZKvQo9s1tQArZHgO-GB??t7=zB!oQU? z-_YENbUKF|47AjQwE^65C)lXHCZx&+R0oGEbbgaaw}D@w=O-DUv!kYB_e-a}i<0xJ_U z1UR-pM)5(b|QPRxD6zbzz>Sl%t?g}rc0jJz z8jyh42w&A;Fct-^Bw$p zv0{J%MjkR55)Oii{{LAN#E8*R+HF^zv_9A53bfWLT3W}gP)c}TTyTfck|eLAAd*kP z1hT_3Z=C}i5nfYB{!1)jRs<18LS@cp31b#X;8y!r)5+MFYff{p^+!nSjJD69uMm1g176&gFVYyLp`&lm#;W8P4` zupMRg>;^0$o|v;(g2zP}jdsMpr3bjx&Ys}A zgfBhLD!Cux|1{NCpe2x_)Yi;vvT|qHOc@KTOVip01pWT5+EBAzIWOgzDawial)DbZb2D7V|lMRT3QRc(yFie-Nf&r2D^B$RrM z9kE;CKbiY|C3IU_=LA9d@1@-_;r^Sk-kkc&6Op|E~41D5Q z?0^!%#)N52P|gi9$fd;cin!w*dEy8pP6gs!xOuf!vcNvx82{V&oNe3EbA87|%#zILFe1f>;MH^v-5B%)iE5(3A-is zWD7J9kte$zUO-IOVUA2~II7zY1N>3W8&?K1$3R5SZnTWUz#`uv0KYXwAUesX6J|mb z#6*`$ZC{~Tw5FCT2zdkX^9HviY_=&g$dr-k2i^hiC4SW1`n{!fnqC5kp_I)Fx- zf?<2KzIUPQN|h~sEgsFlB-4$mv+$;lT+**!AafX5`m+w1%YnD%{@rp=d*KOgoxg1X zaYvO*Y>w$SZrnp7#LkaMneeFS<=NWescFIoCeBu?M1Np!fD31gngrtvRf@Chn6(hFz5RmGsNw38j~ z#Bb(82x4!b!-)4bVw&Nwgi*N@_U?=5_eZm_}qy*I_Z*dj`& z{@-cDf>E!#wB21ezJ?dX#M?zn7V;~{%L9-GVHLyJiSTc8oSzg~MJ7(k!hwdI>)ukJ z3oPDhPn;pk^-JIODlE*IQI|mOK4cVMAbte-aFp<)<1Ph@A3dwzyVWOcb_Omh4SC#G z<}XO=icJE4xHDn&`LhTq5BM^diJM2395iAQ;zQ>vj=Ju2-~6|F+#n97z;GscK_L_{ z`eV9l7EmG9>8|* zNNr)&J!E9#6m(r_Mk%000I8O6I$#mhv|oeA1c+0=h3rA%&x3@4;Fi$BjCR0pNcjjE zbJ-;6zkcro0kfz@$i~*dd-ap10ugFTAd;}N_MOVymLKz;wV+IRudm|LV(yKTYHNB* zmSAC^z>T*%&#XTvbkxqqn}hB((#nk({#fUG*Y?=UJX^d(vNf{&KaX6Ef{zQ9TLM7u z9NCdpHBn7h*)zB$;pTbIf5WHy)L9gD{3r|W8yL=R(5?Gt)D5qU4*F(tZ(G;%qV$v9 z+`6al@A5s_tZ2@rmOB1Pd1l$MGqmPiY4Ef5U_`tMjcM0tz-pQ;?hJP|-3WC?Y`@HW z9u_ms6!dYKR$ec4kvX9bSEmeLcPY{Hd(^rS! zYn1tRp8Xj+8$H-jnzmm3TNY?xr}qb|bGo}A_bwrO;GvX2XvH!Df|n9cT~q~y#AOwn z@CKz#Lw*4kaS4#Tca%atJ!U&8p4lOE6p@Vd7Ufp+cZLKi;Fg0#e)l>s+TLkz_kZ}3 z*xWM#B`(6b6dIY4^Vz_gM#%Tzt8t++YwIUyH%6gtNx}^*H6OMBHs$S1`-5=>sck9l zzDJLZF+Qn-LBL~n*na%`fa-HYvMN1B20kkI3#{KfJB1owWmt{lV_1|QPW4a#xBqHNw}P-cNmp?mm_t& zr30Qy6p2n0x-=<|$34_SFRu)*tzFeEiC#r6S{Se)B`CI|;xN6b+7{uI1hf}!H%*eNW4QABHdFOR*4E>eb0 z`VQ(mQNsFXQqN4^E*LuBRCH%8z;Cu?Oc3la;H*eGp>PBT_&yzmmGGPj0$LuRU{k;* zl@uHH^HVQOQ%RzZ{Yjtb++S`9x$6{Y1EZCRa}He~c3% zJotZ%y=7dL-Sa&x2uLYNC?IhZkWe}m2@8~xMj8cfXf~EZa&Ue_H}{6aE#1V`O^X29soCgYKG^CKzhd;;!z|Q}JESXD zq}nlDOwd{WKGvPa#AS0<$*Vm-&Zud&F;?GaEbZmAmGj|Dt%f`XuMg){h}dXEi5f;G zK-(PbRk1mjY2^FFnPH)S-l!pfh+8RZiTU|$KyqZztIEKA7L_ULvNC8DcMotNv-H`d1N$jT42aibi zXtB#jE_MS(Ji*L-kcD#0`8hJOecL?-{Uvg` zJbc69cEy*PC5s+*ku60pm6i1bM;=_C8J=QUY38NkjTuGap9xnu0PsE_>2Mbw`(7op zG@|CEb~_U8pP3ZOrAD| z&AlUP9(NkQT`knjeR-mudpR^3$00j%-A%XJy;wa*cTl0S?Xf>vXpRp57ga!O#5L)9 z$?95%X+@DYN;pbwkJPS6beS{;F_bvYs%!*4#5K_VmB~^2j6I4r{Xhy@(Yypb!@qK^ zCyvzVy|lmaY59nW2Z>U)Gd1x|ywVN-XJETSJa>HAq|R=n%&z`(S5#yw%dsdfnTrQ- zb_m()vS^Ek=9NDK8(I)0WU-lgcNGr@k6h}&|NZ0RsfkSAsVcW`BQ=_bERg+hr5#HDp|MEBTO4>T^_}r{OjAvbuc^D&c}y^H!Ktcl8aXRTDnraR*R0K z>KnGxM16gi@XY&juwkV>pvz5RxlDXs*kD)B9(l$<;As1oXwnU-Hw0 zpV9naq7@}*7DA%S{(}e~2aiHdYB2MKm3))2#P+IcY3>)$vxeTh8(+HbF;6WpWoOeh zgr{I{Hc1CFVhMQdKV7pJF0slvbQzxzH9>|Mt#ql(>XT(p{0i5Cm0c0|HN#N-|4s_b z5yq7Gt>8pNSQvVHYoioUZAajB+O#;hpVu@fxZ>TMC2Qbf)D!xfF^$&$RPYrhavWhhCb} zNuB)L_#QM8nBfqi?JXh{xN6NdKLph9~RbGzStPsrPU&|jNhcd@$Jm>JGOlk`M zxbDPT*wjD1en#}Otl@@+f>Gt_=_;(zytgiO1#*cT?E30fUS!_ODbo9CQyZUHGe_4< zd(0!g0RG7($nVyq?2}_$S!(GjedP|*wl)rDpWp`43E5*BPhNg7(37s3ZCLLYf$j|I z{%aKE*QhX$4$=Gk_zViv1}FsYrS$|ncRkK+6F4{9`kri^($mde!Ph1Ga}Abssal`h zaRV2Zb?H8_GjfqG_JQBC&n@9D)AEu0CbbTNXEuNpwX1DRlnxw%YM{C@yQwU#LUdn_ zp4bw3@FDUthzxY4=Y_3?20-gNRrAsnXqh9n!Vi!By$?{&@J=1G)va($M=n6pNR&Rj z^{rjf>g}VW-0>4_w(=}gn^C&BfhR13 zoOz2?F02TyGGE-Nagp*lgxts8EsPs_m&7#lJ~YQ0EU_9!LwW0~QRsHcy)0@qRCL#% zm3H6up3uSQ9-^n#tpbH*mh218b%44N{5LF8#(~-T;&-Tq;T(e;E#|@D6BWsoTkF`u zrsr%+BGzrM)s^e2Y$soDRp%aj^N_3*sJQ+LmnFt^uOnY{r7&Y|-@f1rX!U1mwr`hS z*5Ot9dx4}-D|lb0i(0f#Z$ZxRpz;%`C>>do)(uW2E&1)FF+m z{)7t8k{|}Ll$M4{la?^UjtsaH-1!J%=aPJGB$=CJfb?mT$$CyH##3;T) zw1|zh_T!;a8-s2SsH>`F05CWNa%=$p-G)o2qzH-%-h<>@S=GR% zcH5aGCV8mR#irZ)<&SUEE*^B|0SeK=ZR=i|;@TNmC99QFFRDE@h9Errv{_&|$e*cO zUN9fmkV$KIj^iP{{UbT0SCIk4-1T1d}B*GqZJY`~yIf&aUsM z70|ZHLwI$W(o)dz_+KXwLv@Vs=RrvwR&x34BxlbkkUTAqtD~4Jl9EE{II#>jVcs79 z@DVTwS%s?v1|>W6^T)Tlmyh6?-<`(8JySpBZV#kc*#_M7o-naemsL?z=N(aRQRRNH zKCejXzz2r*bRU$`Y>wo|N6da}nIELc`M#fj`iYH;oQ7n58rTBDn(4J<)6Q3B7}Tw0 z`X&F(GzU6C(+LLqV2i#iqII}2!GNqLHJ<=oiq)*0Bg7N$#-$CsJB{9Gf&(@?m#tlF zULkkTBZy#_1W%>A`gjDE#a{?)lY$HT14PdXE2 z4p~7_A)U+4=XKERu`H*}od4r(cgr z)>ICRh()XZ{_%-5k@d>Qci5%cof2-nicb+T0w?aY$6|B(1KvY-mSJ3sg2;3J<@v}d z_scvZMP|<}E*CbdrG_=uLdE?e71oW0FoNJlzhyIIaQmRfo3B3@@p{CJly(K18t|) zayHN+=BGac;W*9U96V&eOHS@2S&=*WxZv!3Y!!q$eHBg?E|1qed*(ahfQ4Wk{oF}! zQSpG{`~4F0jwOHZrE#}uhBHd>zR~KLw853mSlNkZolg7Aw=Qa#Z1ZkdoyypReBuF_ zA+Vh`~WOEguKj_cXb@&{41W5%x#pAM#0%4USXcMiZGUop zkcigEz{5r7)M)Cvv0A-(aJYW+poc?>h1lv<6e?09>n5LzwV}V)jE>nPT9m*q+RSOL z$8P!%u4nzXgE&coHqy6HbyOE}*f54MVmr{kRMzD}B@b@P2R(6SnIKYqx|<)cLHHrB z@q+Jre000>a+1bs9z--1?5`@q6GlFDBCNZppzVy(Qc-}Y3k9Li<8 z^>V!Enbig5c#4cY88%~MEox=jtkqAwAfh~d6Gc9w*f|z7DLaw-G+Vd4s{ule_0-k% z^F8ufxu#3abzhA)RJN{}qmwtL+PHNKjQw5QgBYu|g2u9>u?gSdcvMzYZP=^X3G+OD zce8Mibv!nQHl^62zogFIJyWMNXE?Ly_PfV}V*)*;2a}BcHs>q}Qehztp`7Z?tj%RW zL0Z-M;v5?=>i8hBWf{I;)DeHt84`}CPb#cG47D?JgX4BKuQox)KFe}!kSn2|Jwe)( zs8yEKi}v|6ruw+v>lf*&sSm7pc;|%{Ryb5s7LKD-RH#`SS04M>>UVZ6+M0}3I87e8 z^CQCVvFtSgvo4lWHJ2}~ktKFh(xqx5j%F@lXIdxy^Jy%ORDOwW3FT$yo$oourEM%r zpLm7eYjf4^dcfDuEz{B7T}S`kiR1$YC^;ONrGmN;&5ht+2>L3z6Nk>4orXA~P`}z; zt0{!FT2=KcpAqWHR;yd#dUF_;hY}?=nMRu`YxObO_5Lxe1gn(NPgxp^c1#*n(v%Vc9u}-sC?`s%NU+#dBNBw;Lv%tV@Bdi!*698BKCR#cuR6u)^$0~kJr|2E&2aa zG?i=ztT9j|a(X{X`pNS&+c!~!o^^mm(z{CGrD!Mapb=MIYT}l1ycFgdt4n+YQp8tc zGcF;MV3NR@APmW|@E9l?U;N&et;6Lgop{7tBk_Y~9;D2D9OdLjn=q30V#Dp3Y?;AP zFF<#-RNh_OD&+X144q(d%(h2mz;3ER%b$XE0jkXH&cvgYx;!Y{Z{d0yy=!bLT= zSx?p!e@A60-Im%H5z;Lg)ycijv=y^g($5;yjBNjI5Al%vN&W+?f$2lVJ-;9;=2UNp zAO1OYC&ksr#dFN7;^AKi^8oG+<@;X2a>TRZ5;2VMTlBg>%KIkj)&nT5lHnk`U^OH- z-;@5_p~GGeE0+3d5Hn_30cQ9En25=+KqU8DKlpUG)W&6+^MDJG^&#Mxft>P4jq zXy11Qp8$#sycDreJyi5C5jv=!uesCCxN%{X3_n=Vx{cctfYPW#b*@RTe#x!2*xs=~ zPOwFVNXrkszIpKZcwQsd&;5Ku!VS2h4>~}4Xg+Z{`%s;LClkETa(M{@;b^zY_J(X$ z!(8$7h74AHC|gIQI}EQ7-Bw`#xmgR9AIuSbu3ox!TzvEImzSc!T>Jc%sI^b75~@k> zMj9XVm*~RX%DI~1ZqPqvl70k_T94pMUC3bkWmHGl7n8Jgf=)ne6I&RakFiX4Z;zTa zAH!Bl04g7u#cUIFK=wjKs3-mo29lfm!)jS5{s?YW&$^;*YPCierqK|2L5=5+JautsWMPJ>mb)v7iA-5MAJ{IIV>z6_%1bGPg%W;QO&>!I z6K&MQoHx&<_P}>HFAsm42WPf(L1CkAtD0<~JK|UbcD{eHi)Y`N2AzBkV)OCpUwy8H ztnLFZAWEz?LKxdcr$|ZgPI3uemtOW`asP--O=IoUK9(Vl`@&R4?g8w6O_6y4$FivE z{#RF@Oq^`#~TEAbF@=Ax<%=7hM7$l5vQP#S<^@-Q~%!+HtevyI8%H0Yk%t~!Wek( zY`cU%<#b$9sa=cy^?%ud--oKM9{(#lyW4Vify)Cwe(1&QNAlQ=BOO;;n}0A-hO9K$ zVBP%N&LD9f2YX6BCogrxeN#-N`yp%@Kg)bYo&3e)J>3?AW=+{)CoPEVO_lSMJ?J?n z(pbb1@rRfU_Tl1TT6YD(*i5qKQ@RkH9XD2uqo!Hi%&w7n^rpDg+@$m`I5ELwh$C!)$jZSg! zJkOH90L!P3pWwc+h(#~WMxevQsRo7@fj)A$$g*^Sv5+nP9v`5mlHo07kCC<*F%b`H zTVY%~^6!v1z(QKfvG8W^&*jNCdJ}v`hT=!`60h&uXOH5g)D8yeOHz}oUWx=CrftY{ zNkl-go(cfIa0o)bxM{aeUCzALzElQ@quIf$5Ul$0i zF7wz}MDW^@AR`bI7`#xa84wo~BILzdh0S=);*ukp$brJt)sgzIFa!s$07YKvo7i6p zu%T?5L8yD>>E$E&LKb~x+hao|R+R=}=p{OMYMl>mcj}GO3a9ysAdd7-c(mc?<`>@# zWM+^4jo}HesG}BfWC9fnUr7hi&*BDZ^H&))9svgtCk|~g`jW0cPs3F@hfDZLQHm%4 z8ZBJd0yL+4Rp8DC5UY!ExxBC!+V@PBEGd1-)eB(wxcQo)-1Ii6z=8l5H6tvC%cxVh z9wf$7&h{e=R=AY5c2tWn(pt3Aa0+(d=y80!6WdO4Gl&0vZvL_5t1zLCfKjXfb){V4 zxccOnQ)Cti75hZNh`E0;g|bqJX1x2_oW_52$m@%T+<-HvaB!;Gn8KcL?RZk?=7%2s z1WwU!2xnfa=!Qtcqa|7-cWt)2k@aq87~#-ep&PLmu8U|8+}r1a2Pxmj zRd*XXtV85*XR0C40h0={tbR_-97|bFaTZFghdgnbu z&}$fvLF{6Y(|ljDN6hf?Ga6ZWK<##evg5>Xk(p{<1!R{yt#E7`Xz$X}-B|x=erl{4uH@G&H^vVHA{)uvU1~ z#GE1zXpSa~&KyT+csCoYWzI9nSzWh04&h{+vPg2GU16WEZ zAKDm{-1#|0(aN6R3a4zIU%Nj;{me)*k=FwF=wdiW5n(Il!54Bt30wz!%rR0tx5nD< zA4#?#LyQG`Qw&++VYu7|jF457+-nCQ$jc+$#>#a{Eb|vfD=Wjr-B)={2sa+%T4;aF zstZ9!xnC6+E%J#Q>Igw|8TIkcs3gmlPrNJ$JVW$U6U?&}$#HH+j8TjOKvA9U6oqV{ z$Hq9e#1{t(8>ItiZbiLIo32O!6X^`B{DOY;%%C*MLfg=$_8xsZ<~#!-e+vGhi#F<7_+n^X zh=z;q()}<<=Jhbxz`(R)&O7-{&s^BX^DC+EK8TY%u?6|A%gbf4cO;O!fZx=7aFIGdqn;&skI29XjN8s0b zF%?Ke){ne1ph*79x4gZMx&=rHS9VqwPAwMNL*zjoxf5Rf4yG;3k5YjBFCXrEweS>}R2$g}3TuryDBCtgn2}M?%~?Zaf6JVx za4{V%{v`>|@2>T^JZ~An%C8_MwePKhWLOHGpzIM!!mf&Hx;MSK`Ctp01*g=KE&6kg zM%vNlWVr=q5F^%DC{`4>?_3bEKh49D(X#N7!Iz;ToP%JB!!^m6vG7iN z35Zh0pwj4;1q7WzeilToJl#%i8;hgXOBZc&#j!r=2V(tvh%aywMvfK$1vSA6=-9b_ zbOLkmLOI;(*H!%uNS%tT2A~B?py%Gb!=juK>8&05odxDxG5y{#En!@8rEdqtrVWFC zLoD}W94c>%vb39Ss1?cU`QHeArhQQxzu*luzGAiE6ex}+{6;1}$n_WjJyKj3aI@bF z--Asd>eDZ8);ZT1k^M`01GUvX^0B}FU`f_QC-7Zni050I?~nFl!MZ^VYFG6<&3aGbeJ_D}N{LA#6m>tCtCIY<8aS_G z1DWltvdY4vV3LL)^Sc-l$KLIf5o+F>p=D_EdcyWHWjP)h`rGw)kE!+Y6xKKs-UHc- z1!+%7-LJ^S6#zkUnu)khQCz7e-I}^~_jO9>2M%_!8g=@Mxh%@N)NEY3e*4ms9I}P2 znImS-XvN1A6KSRz$rSPTe!14a2RrZ}Tf0d`EtFQLW$k%_sejooeRiVOx!z1G$YBkU z_BaOr%l=#Ah1kc3{Xu`D%UJ!56k3*W9PWI8+fXd^iNeB%$?L8?A=_7YpsSum$HhWS@tW_Q@EN1ToxklI zv?#_TX{#^cG?NQMIHqmr+Xv+?AQ1ugW zIjTNXrmK$&lr!&r$XlK3vcpcM9eDLP=*&rZw8>DB88>g1LlK)v8EfqrAM5!}FO5!8 zg{5+Rq&?c=uQL%DCZpi(oTg{Q+X7lG4deoE6dJ=lShvF+W%^lEI>kGeDvmpDLztrA zaf`xIKB@AW!QTm>YxI~TGEw)^Oa6RRNn1d~D+p8<#U-vYsl{VK&Ur1Ida$yA3^<&0 zJYG&f|1a4MQw~IEQi;-?vrpRK*9p#0{R|PKec`VR&D_O;iymuaG`uL$6U(5rcA$;v zWoolOt5;Dpe9(3v?^ezcRz~FzM(Q?HmUeN5M~>k*^r@WCKeG}LE+~zW!9Gc&4N15v zaHBXlG3*ACt7)rIvt5-k3VrsN-`0X4X`NN=)XAl?G1YNM?c}7c0}d(QP@7hkVfc(| z1BT0G>HgMb4|V7x8N3c}UHN%p^25p$U)z_^?Ip?!p2Mt)#mxt@&fKs)6UmoZEYyE11oS-=V8X~v(nV87-eOCMibY* zEGco#OW_dEmm9vseWd>bN&~Y1)N+favrbg#HvkE+s%Y2mQON%7%l1-kBE=h1vyu-y z>KUOrIoZC0$c=eb+^hZtH#Y!qSFwIdm)P0mk=Dnb;G?FxvCs#S~`=sNqw&~ zOB_E_utm8LRc!eKB%{S+)gG0!p5C)L=uES7g?{?PuhW-^zjM^3UO8Q^fGz;8wVUw~ zu`MSmz2E#z=D6IaS6cU)&9g|m%~icREoGLrZT0823QSr?7T!a)hbeD~_-8tqHg47@ zex$>F$s#7C_b14f~@?KTkW*KOk(AU@&i(@PNFKkIcwyl?ngdHf2#ug`S8 zId=Bu1V1Hmw}ExjGLrG&_4t0D_SnM^`3Zn}B|ywoC_60-bb?4VQa-$dZE%_P$iBgT zSM&8XIxQkCKws%J{{=0=X;B!aWidDhu*JGJL%rpb?ARrgJ1#_{jvhf7_-)2&eO4x~ zQvSky$X~t5Q4_9DE8}0D*H#(L)I|8mj2AoxV`{b;c%g zLW+xq7BX%0jI|lwdxRsHk>dvjmT9?IXigsL_BX z#_gm49l=96bkf;5VqqkJvF^*po%qLwt+TtlcvGLZViXCaGWYG`KHM)Z$Jx2A6_0s5l;_wFMO`+7Js){$oFS z@<`S3g_oL+Rk?8|7NaHlU=laaCxI^KcTh$!eMQL1G1#gQ&qxN$n zge;E_$YnUVr6Sss^_~-8hmqL$@o^q&gqtp8T&kGo)+x2tZM&YeD4}^^xNIgJ(U4zSJ!Qx-vGdn{!X05TRw{GxgTlF9szSn?5j`S}bVK_ekxil`ILx@CUgi+_Kt61nXTmbr!rx#d)HdrYXY9X9jl*q_I@?OA`T!qZ76iY_Rk$umT zs_TcrPI-C=PFVrP*9Z1u3rr5EQ2+v0ZZiNGKsPFJCw_*}UqRo#*4PHO}r9%;1} zdKtWbfmyN+;K;;{oad@#5Hb&qo-Dilju@fX^q_)b{VnB<0q8OM@wt9i;6b9F;Pb76 zrAI|xK-pRwSF~iu4|_b+udag~VF@7A>F{&%)9b&A z9_^dRU&l}rGfP{P3o+|X3;nrqf%NCP7|v+sygUqiPfo=gr|JU>*;V`$#TauWz_yqH zv&q|L$#PPDb<_-JADv1e2j1oOC{K7mlFQQAIpzhU4Fj~kLT?v!48bO$our3ek}{c}aeVyGw`0sZ+vG7Lle z%iBQz$Uov^k!2IH8ZsuHaj$QHj9aA_9g*a`3VDPRlJufayK_147xe}Ax1AQG(u*}7?{CvO|K+@ zeZ%zijl(At-Tbj=Txf$RYk;~Nh9JWfcrrW9V6cTy1$4|0eJGzEa1_UCY;WNaiaxk_ef2UTj{-WX#ky?r!GsbJnnqmOMT9k9ntbrRfBm?Vsa2Tb zp$z*-2h#rPSvQX|{%dXM!C@O6nf&Pq_Sp>!N2L@D{~%(-E1-rTTpMAO;nCiU?yZ|8 z&RA{OQo6hYqCnjYmpic4H$;r$&|Uib5Mqp}Q45(0BOW21 zd+$Oe@K1f|s%*m$RwCpy!p#EmDg4qF9gW^hzBE|rl8cE!c?c6W-F@T!2EDrcdbE7`t733AJDFuo2%5v1W3T5C}2dUgF4ljSe z!7Gya2pu{T`9_xr@!$JV=R7fx8I79xdZVJMZEKsRvq{!3il-nm)!$s5F z9Wz+g$f%D2bo-yUTnmnUXPnt!gBRePuxSVCxG|#ov;?AndpT{P6D-1e=W*&fkl7_h z3;lqslh)3!ZH2)!p}QgffW@c@ADngD)g5u!G{zi*+A+Ar#auN{=_<|}NHB@W(Iy=t zW3&Xu-M-%}`2BHx*Lvb(XJ_=k9s0-IN!=zSx0Mgr3bn2N3D{);#GLscysWGtqZjQ! zx+Lde8iBDLfa>)xACSsjEVReY160X65;4pBj|ckF;>dWDyyE0VvP(0so>)SJlEc7N zZarR8?IB^&cUBBq1do1$jKlEj`y|<(KfWqs$zJ@!wi8~_1i$O(mA>tR3k)nMj}hUg zMQ$}(n;%Qv=7*$QH$r6oWytXW07TS@@N`zxxP3z-U+kzj-Rkpc-)@y;=k_`lQd17*Xk-EkU0_&)>zUWm!ffP?$@pwxs9*t#F;kJ5dQ+Zuy$FX*P(|4!rr z@MV07DG5sOGlA~HKM+BP3@ppnk(PTjL<01bAB8*jYXGERLcli5H{L&YbQw2jVKRbJ zJm()#;!p4kojV)s>FzW5^ja!0YNapg{}Gg5gt1&Cj(vNnjzpCI4d1b$BFuhs`Boo> zwa}(oaTPa+!)uH7!oHVF@`bslDr@qldj&Iay*O@>*y|sII>iR_ZXebYijTuH@gBgB zq20gY6km8l%HW+^ovm2pNk~?uH@^RNM<9; z@8a)k#6Par@L>O|MI5#LREkQ0FEnaa*e5)MjA|=+Xg26Y|KQSeFntXofbyRna{-g3J2R6#griupv?0{=wbELdgyXO;=MEM*^#YDR2xqz=Ol#(Jcz6CA7&lh^9AwrG)dDo1(=PuD!7G0C7R znd(XL_U|-{)wYdQ^RKIqFWz)+55B@MXeBT-&GtHCCK2!U&IU81mGsvQ@j{TeRyDRZ zL_L}|cDb;*RH#`sJ(d{6wBS}WPKG^bb-$MBkV8Fhl}?f_x;@qkh-L%>Yt{SVt8@L? z1=l!WO*xz@r^E)Jm;)pw!wV3|6hc5#`JpvVQgVP}iAiQGacnvEjwk7cewopj)8rV5 z%h}55JHH-gMmbv%V(Szb~60)duAIXoMXlEZ0elf{2 zORV$fB1bE2jrx9s4iLLyESHqCJ=&`qZ5!=3^_}ON7k@;qovCy(+4$*Nl3l}DH;^oM zyd|862}cIASNDKoh0~Gp$tt)#{)}3hA@v!JB2YcFzy)!{rKz16>Y1m8B0GFUWr{xX zzIa!_CB)RS{;E@BM)JTL+Z3_TUWY>WSkCsj@@En}bXGEnAF_hPke`YT%)PC07Xnp^ ztwx_63>@8B%GpSBsGc4(Dlkn7#A`hk~SIv>04|{|u1Hhzxh7OEw>_U>>CP_~P=^W&3PLm77C%O)nn( zwrBXviQV&gMHP;Tpi{bsBo2?6eE#isx^>C|jQ`tr{6wZ_sBwdu9A#)pc0XdQIk6)W z*0T8GWw6u{JVA$`L56d_Qxv;C=^72}2qK5f8TP$zxDMYCYM3rusA1*tR))}MvF?9Qk(zrS0C9X@aZEbX=**BT6UjIZUBQ^S-Vl*7daVW zU-}Z~Kl}L99`|gzV!6%--`&xn?!xgWMO6jl91x&SoR`DyeclHLpB@+h?0V*hI7y$M zVpqua&@qOFgxofO&ox728VZS=4mIrArlvFTti7PQV7?^}w-HG18TUg+fo3L0jRj@F z^gK)Ad*+lZygQZ4!M#c~Plx)fNW(8wrpcqGsN9*N)r&k@xUb$F!5Jgw;N zBbnoAgMg!Dm2+wyu_M?EbZFsFqNygG)bMYrFsSQu?kyY>AuvFPL@?ZYM?@F#Z7(F( z=$w-+fC$2()Q3>c6FtK(PeT1?iY5g5C8&DdLVX z20_hHfGU~ku|0zibRbUS_svw@d1BEoK(BlTZN}afaDs?}&uLMJd2b??k%_3Z6_mw| z8jOI;5uBAjCTs6483uSoFI&nP+`ZXV_kDju_lIh(U6@+xnE0Ky|1D%v6nvpt34_bi2_{o|7#M!d=!g)aNQerB78x>sj8q1_?h-q1q6A& zr}4WKNZWBsK%)&7@F|)5<>P-g?f|lJtKDQv0qKO+Y?Ctn9s(wmyn|E*OaO;nB`wSD zQ|`g0r6IU~xs%fHfzhgEI_>Uge}eml=nJF2w`4!z05`Ntuy7*0kJxMtS2MmqXM(pk`eU2fAgLsnWLST(=Y0{8KfcKN4Kh()v z4cPvc)nnb?s=p~cK=I71%6d_%$ZOo{BC&GD78#IN!-f-H;CFmLuB>?8q8G4uSyGvZOg!~B4ls24?z{(~qeA>{WH zF5Oq5^i|%Qjb@lO`5y+D0i1gT^q1ora}E{#kt<#?_zzWY_WgO6UsUk)_N|c6YU0EE z0Ju49`0noVS{Pp`(Cx(>6rlg%v^%31HCUvG3>S$bQ>Q0r4mn2cVWo)Q=MaEtEWz&j z*RjEidf79pB%DaVY3!Iz=XGw_qi@rh!C*rSaDL|V`%l7 z)`{;xk6D3aM@#Gn>dsNy3xwo*B%_oX-umL`iTri}t=ahB@luwl-Cp961vzFcWtqf; zP*Bqo1euENLvtPcE{nS194pWs%juy-Z-xm(fh1cF@2EBLco;;iU#jQok0OaHD4{F{ zv7Z(&mR3M>*E4}i)i3qGy! z>I%_@TMEef)}hrK{&;X7C2mk>Nb;T;g! zu_19i{>i1vB?%XKoa0pG%EX{;===2S9u(1 zo{8_EX&r_ehpeJ{2SAQ%s19wSB1ljKWX7&vftW!mZjqwkl*k}X$gc7iKa1AF!J`+D z`bM#PO_l&~~=X<R1C>J9Z)D0u3=n&KwR8} zBo%=Z2rO;1GaR9pAztw3Fa8pbrrTO_4XjDa|MNf?wPPK3D52iejrHtZ4X?Bj5bkpi zq)lrVC#W;d_ve;^OPW_wlWpL#e$_?z;*U*~IEMN-H5L7QG-nO+=lI8jT9iGwkUS#Q zqgC_;ba4$*^%Il9It0OmwFZyaj9Y>L{o2J59c#x9l5>C38}CuJBX*5iFkK_ZUrpkA zLNB(|%2(doo3lBq`W{QE9s-vT{B<-V2ySlvkG;d(L+EDP(uF#PzOGp)!R;y1+Jtb( z2DE4hyX;k4HwJ3*tc!OEX1&pEQPf%ALGR%#7gW?);rC)_<9)Oc?FEiQH!d9vYPD^} zL51%*jPn>+z#)L*mOsC*%m&TB115GfpE*eM)TqbMmi9Xj$8M*z@Ebou%8Z@i0&lF#3WQVgTXgq-nVKn^cG@pMscLk=IrBm% zeD>mU_ZjJhgy}n<&*3y?vHv;N#_AJ@G!D3}`+6GHUR%zZ3JqR##o>vMH)=eNPD&Of z2NDY~Fq6tT?HZw{2s)ztqG6Jqh;*stU`~9@uj;{+aXFV;rzERIH``{sn#qRNX~qq% ziHt#{(o~*jAsvqp^hLAoERTmwt~;@?r2og(V0x%K#=1cNZhw8T$d9>bMo#qwEDGDI z?Q-#kcZCS^>T94sy7?}}tKHq@2#64>V$yoBUd$7O;APLN8Ur-hjb2fd-1}vGq0vLH z%=T7kl{;t@7dt@RKT-VxD}xqAM+cDXuIK~`7l}L}!YhA4n~+M!5JywpAsGVo*RM}1f(XzWxt_uK{^$mR{VlPiyscX$Uv z3D6I3p%@TQ|3^nb$_^mD`&@@zS{E$G85AKcQ8^l8c@O*}V_8EE5sxLLYXy zX3Sk8)37P94l#>@tX-KPhgOK-t;b%~1A*Q|*F5CgZ>Fmxcf~L@9S3ZiblPdxyGorx zg0i=jVNWD1&K1`TO7|BgRv=i3_+MSUG{o%e-=Py~q_D9hu<7=r1!xWP6pXNq%~(}=vCa5c)n~=> z9H3YBPU%6y1!xrk4H7I6kr6M-%~zG#-W3d*Gf2QIg+cGl@a%m0pY|cwSa8syr@KZU z+Znu2`;wLz^jJ0%CglH&h6V%bb1jgpys4s$xjYtP?&T);ho4bV_D$kTckTD$MMF-w zjL31%!n`^KnZvX^6^>m$!SWQmCSHY>|CoA61Is2u(w-pkDK!iLebwJ#_YF{y0QpaU z8(mu&h?tz2ioV>x_aBk!rt66(JKTNvd z?%`2&z@r&sKWKtHV1pt;AsuM-VF`V0oFSDHUGrmUurL*PlUAUF7~YI^Q0=}Rid-Cn zbCBRBq?~jQLdH5k|8mdXst|s^37$OIM)8%4!uWD9WZp&5F4&LIntWx+u&`vO%uM!^@pK0*>s-HSgV0}u3_0FsjwvjN0~)zdwO zz*i~+Ax8^N(B)2=o<;=nhR`p?UeB~69wQD(8)v9CGRc%P@LGEzWZv^$Pc>PVx_cga zj+kT~QT(F~dc~0keT=%Nsd7y@oS^ifI{X%sh|SnSjV|Q3Y(}?+&?%t1xYhpo56}B_ z1{cWv85iCU+v6a<`VC0%sV$Md>sUmr0}$qp*g#qWbnV0EPG|*vlNDqxHNbvX!sWx3 zfPw88IokHZlnj!eP=ya(D8Vpq1&Sy{u!@d(hKVDg>^IIxA@&S348_jap>nMt$ah|M z()dHOTxW-vj-@I+pQa1SZ4gmIDcmzGHt*SR-wqO`*bPUCrB^P4k;DTT2(3j zv0t}2^4! z^lC@^@#Y$lN(}}v=OWNZSLh?1k*&iLYs!PAwMr}_hac%Nt*av%k4(^I2}Zrz4NQKw z3$h+PF9!MC1*9=f<0@?$p!@m_=9N#-XuSl1keMKT!H`%JkS+huT1!FT!#1JtL^B)_ z6CuT#9N%8~1r8n1^AK5I8XxDPe5_F$bnXjH>5ok)uh*r7T9^V*)3yfx5fq}jaES%Y zndSgsy~aOLY!wiuD06-w&D-Kj(%diT%R0hK<$2-L)5{A`SsbvMm-Z+7{wNYQdxSEZ z_2nU&ZAirxLqpOQqblnpK%$gy6G}IxC|=K8&O_57S6$lCnt^(3#NOJA z97GW>#32Ex5ifw$a_{~CeU@^#Fh%YTN!CJ&-@~&X1HAo=EcZ+Hlb+-m!ID-J~ zGh&dp+_o+-9PffHrCb{ao;es~q4rEyO63@TD#XD}3k z-O5b1%rCsohZI3$B@r&4u3sUX&Fg9R_?vD2*X8Op(ae)(=+gTJdO6JdL4jvBX;1rw zZvi%bfpadfgnD(#1_a}9gRZdSjM9di$G0E9b?P zt$L+}K}`4jH;8vFky7~<@)+K`gtKXAQ$)uK(j06MXL?-7mhv9v!l{K!&1y@`BRk2} z`bwXjUq}&hc^H&!&a9hNf#T!#$nzPYR4vj?-W)GR^?`9d_r6_M>C1!o4trV~BD0?Zqm~3VIyJOJEb z;d4jUrI_9p2R{p&XEBNtv57^xOKAV_r2dV7&hLrd@KYWrbllOl?cz>#wSYLF%%-~9 z&nd#pr7h73)Z)tUFnEC5onLakO}s0e^T!uGEz+2i^bmRDw8pZw!NNN_+nZ|&Ey>`Y zZvf%)!fdGl&`45G>A38@LQsW@M62%5G==lT!EN0-d^INo_h`Lm$2xY#4LqoAsX@vM@q~_;WxidHO;++;p27~pIZ|rTAPe|V2 zm<4 zkQPXwE@<*f&!{;=QcUp?xlX}fF!a%eI;c^L>@YXge?e0vL^4LV;+*zJsX~ZEeJ^GG zm{fTc3XfOI2f(Q=h1g0PHa(@M@w25G+@PU;W^U=9lb2)s)j4vLOVkg7F{ZNtAOnu(VM4&D;{^;0s+=Jc)%xxlXXrk9guN?J@%gaLdU-h^9O7W3~&b zeO^OXPtj5}>G}r1btzZCqK@7L3a(5%c(HcJyENAb;G7kNyU#LW-S?1nIIi}6TcjR0 z`xceu1w<6xVFxS&_eEXq%p036FlQDJR1ke2>?I~+7>0%xUBNLpdj#YHe#9h=$G1l% z-vKrbK+k#$%G2_;Yv#^lKxUbPzYj7MOII6&l1eO8iprEbc#i9CBC!y3R_YMEvS@#R*c6 zk)S8I@GPQpufeHPK5=gF@=$Vu+gX8i`WE|t=7tp-;mL;#8XsJ(oWR2RZf zKh=2|7WPE~Zw$Ol3Ggrd78I}Fu77FTLKMV-63`ljn-Xp5A!YI3{IKNuO3cHx7>5wy zBhtEYL<+2#4Y9C!?nRLI7R4dAdl*AD*d?$ng70pxKTOEd1^m$XX<$uV4j%_K^eUj>;2>)O1*8ZdBpQ88eI^Uq zJ8)YRRHP?!0r)FZ&roY>tX2%nF(dFT@XOUIY&h%+od2Sec|ff4f18n<7W3}Oah+gB z@sU>PUZfl zfytA##nEA}=UL*8iqM_7TjZC!Vjg60RG3OML3T=V?5r(A*VzMJ-*OKx?j?nvme&Do zI~vdcTKsZDBhY0oKpAbmP0f!6LSeM^@fH`@Z06ddEAY-k(8eMgI!9XbC}27MhqU>T zyb=05pEsNZuXT{u>cB^ITfhetgEqaJyLz>YX5-$Mf-~{rsYO5KJ|hBLxF@O&g1PWf z^Id)%lXMJZ>XUCCf*4vz$t0E$Oq5x$`LEj9C7oQJw@z_TzGVU}9g+T!Ez#jWNPg8g ztp1mH!F&fN9T2?bovj$j|BfqCzu5c*G;4w)3Zz~h&R*VlIsJ03Z`l3A(DuX0cBUi2 zc{;{rv$SxP^tZpn&=9#2-9jYF!&PpD7HiNdz@cdX}xCcGBdb ztrU0F^6P7A3JiP3^9mTxDNlj$vsxehR5tTcUiqp6Wt{E0^3iUQwryHXswJSPy%V6@ zQbxpirws7eJgL2Q4F5R{A}(HN+4MVT0vl&dA0y^c0(#FuP|(J9Ov$c&n0NR9L^PJB zh*KsPioRp!&Iary6n-K8La~71-B4}9ci$g zwF$b^0;mPS+XEUH<6}3$i#cJ3{y(0sGODU=3)3mxC5?cDba#j}64DLQ(jg^{lz=oy zOLvz@HzFa8v~(&V`PNqN8-rg;oOAYyIlr3UpiH&UIgpLeNCahty!V=A;^7_D_l1la zePpj(*R>|H0MfbuECh+qF(3R#wVo3hPbS_f<-Rrt@7UpphMq#Ls#-Rhl-K**&KqP# zpz_LUik>GvZYsiBOIt09ek%A=)(-EPBL7+{E3Y4 zEk@<-I~487{V42p3ZZNEprv#Of#O~EM8|9tNPL_BTYmsv1w$cd@cCH}Jee(90{H}SG{qKjUNDx5sp-B+%5H56E2}9Bm5R^H{*0P;z zPW;epAg}{;h2@}XI0w~bOD!@c`JX-zoQsyLHvj*_=D2{w3~Ft5T$N15wme*HuHdnF zsiE~5I0E~#-O`TVcK{)TLFiLfzUON0d*Gs3R58eB|GR9=6^y}VaUdygEYl)_xFC=r zCdf(rQi0P;ITKWO*YQgVp+$+p5Q|_`$1uifN%!{$$$=$qUE-~?Ul$~~hH~4$xAbaG zK&%QBx2j!jDo~m5_`Reta9M+B2PG&Ab;%R5<0Z{J>RloJ(^&uok|L-BfT|t|(z%k= zp65;5-2vTZVH7O9NEH;u3ModN9&P_Tx;$BbmhWNA_Wj>6SqxF=XpQRE+&2EQ7DgIX zYLs>O+N4j6VLJO5Js+7S4oS9y+8*L$^e+f}K-gKE{cIIAPMB2IpBwDCqPS54l+@}D z=7%&H=f!t#M@|C-2is1udO2hyw6r`3x^R-_0S-D>msN;6452Kk27TWD?KlLm<7j>G z&PMG6;1Kr#=IloD_Wozq{VcHCOK)~e#=D8EOZ07*>Ub0;s&aEq`2sN4qJIwL zw_1Wt810X|1N*N*la_fy{|(3Vn_@k99_gH1C5*>lgfP+5BKMMK1Od=i1{K9_C>U@w z))GCfZm}PQ2c0<`pW%Qvf`c{raG|ksZv&)|S_9v8)q7>Z!OtHGUbf?F14L=bd6=~z zYMNO-_fN`O9F2_6oYDV-PXr*+hO2Q!^Qu8>`IjwWUIcE}BAA!~gs$x?0>Y3J54ip7 zz;Wl`&V-;UWUlMeg~e9d+qpCLqnt&DEF4`3r&}Z<`vii0E4Ct{Ev#) zx}~vJjLnDa|L#X{vts%q*Qw;S#~lE;uT(-ohMVgEL=X*{MC*r&zYYLi8KI@;J_qox z!GM4Qv9~Y&J}>EKE8t{ugQd2}(eeTZ%3=eh*UuVSm4pHH3f)_WPaw?gaM&B;E}S;z ziA9|Qi1r!Md1CzUK39695+%@-mo{2-YlUxD_M$R#fyEaTNeE;v#)I_8gaA_tTv%4~ zrYP1Z(;mNV2krZM2hqttMznr_o5efiESOJWtomIc-$x?IMf6#0X*yt(I*B`M&A^a8M#|+NETWYqb1ZU;2 zENe!D_&Eapl(K?CEtItf98o{c`F8=fDwOmoji2oA9RrUJ#s29w*jYoIr1dKs`i{wI zj@K+2MPCEhHz*LCnX(Ba=P6wQ9Pd8LGcybB+5@5b_F{RboW1wiAfOf_`OnfI4Gwq#wv>n!Z?*<$>@89Z;*>&gi`UPgGz60Q^vk z-$xRN9)J%dyn(5pm$?GeMXusk&&LdK;Nx>#zNrLBPxVj~YwHY$b%yMpdOcp!7@#NT zP_Wj6PSUS$A7yTzPeQ=i^QdG8- zw$H-k0d%?#Vi}wjbg&!+!*IeQ-?aa(1cGr}JuWps`oE-?PY72qvciWxb1DvmI;Ai; z0SK|!a|GAx0R$sM z!2dfe^PfLP-NB%k6gYn7G^TT~I9sqb?}g|Wu!fo%fq!HLYcAwI3m~2U552mljGE*U zJEJc|cwyvQZ;cLPzkd%Py=InOaKH>$yXpVwmSfG~Adj;IDLu_K_@(>clx#d$Xl(Tj zm}6!bba0QyECgN_2ojpyfU&5)16k1^@4)7;_T9N&;lC#C&1Zz?qANufGQgl!O2BTo z2u1EqDsoUvipn;#LMS~{ZTKeys0@qi)>)YVoA!wPS$mt|@K`#J?T;FC%jr%qv8a1= z0JxiMEem@$M8NCjgP#^7t{*FcTN-*&G7^(kE(CtlqQ-FjpH+;?QU$*04Py%hBw+H}Fr)->L-56*F(4jZrZEwg=UycPM`U{((8g8_ zqmYz0tZ5#B&+hO%K)2ddrmZFR^nkgld_U&OKz;m37f5TD#J)d&hztWQMHz&;l3aiv zIeZK~&zX+5zV$Z&9+85TsH|bIktuI#w2T&QWG!hD05aChZa}ayTE=*i-XQTCv_G6e z(HEFB*~``>uOAC0%&L7}04TY@Kw{f}GNWp2xxqKU41pKXvfK+t>MIGr2KN(0JQI|Iakv*^!v;{|j0x{}af0t9S1 zWmw;40h=kt#*1GN>i|k5*HUI~GDW?9I!QG+vPvuAt9xx4d_>o87th`^&`Wx}&wU55 z%RePI@V{9BdyQ+UFk9< zwUY8c$OQ_^R;u*=wOwuW)#*!y0PpKxR_Op|fjo&2-I2;WIL&ZG5($@_)_e@Wqy-Se zPzH8_!@B~2t^{Lb+gK+CW(pdO)o&?*8*`DbOFm%|d{2}T`LFu(uP5iGQ_hBoU~hc0 z97%~ggd(LTfO{_OFa^#u&HAdB$S5UA=^Lw72Z0wn z>%{`E%jxy6lJxJZ#(#olX-?36Kjn+Ty869_>rss0ZjrGbVPkVg$Ui+ms6E-IfDjatJ=%epG zXK@P7hI!p_4>^5%@+5icWR4g0nji!?4w}WwcN8NTu(SV z838pIVOi#RHS_l&`^mv~9-59<_9c;(A}&BFk>I73=$XlIa0fN-ltx-3wxBytTWi00}|&f~z2gS(`Q)dp9H&e43y=Q1zX2{-9~EnTq5D@t)3_~8Nn3_LC)*sf z=J^{ye3}a1(*tcjYLO*lrR`%dV)e|GYuXSV=|PouTEN0&w4@53`zLVh)0YV?cK_TO zyKr6q+KvuTj-z7dp~+yuL-)R;l||4gzF!Aq2CtV}?QHVsU=iAr&-R*8IwDK_XMkte zhA#4Hds5^Dh}kk?|4l_P2V@nS!R;?c(>8AbUXkfg^m=!5#oGNe!Pl6)DDS(NA)viP zG^e~;at?~&_;sS>GS+M1+Z~qNKze~!%MKap91|UCEDZG369U813n-F^5hJ@OVvgKw zvvRrBB950n%~PA*8^GJyTsZyG-4{s1egZ$4GS<-JLMx%;4tTtcei{;Vrf8`hlko>3 z)P(Q(``t!2l2wh&mS)`;TcC{6Xh4Kc@<00yT8mErXZ8f{2Q|rCR~7EO#tUEvoKq;L zFUMLkIj?N?22*3xm-E$6B?uXVzR^sm+sb$o)n26aeBeS-kgl)7{ zRh5j>`nF~+aSd?RlVd3*_!jRLJ%=(^sq zRS6_b?GNT|W}WR%KOo4xL6FO?La1^;aY&MI`j~VXLO|31$-0T;+F>GPzJR;jpta$H zQ~*B9p%CeEp0-- zFXutPEHinbV(J=u#T0$v$QMr%T(2h8xGo%_voG=E2bRc*>R^>C4_PXnUA*z5{x|fwN?|+TUQw|9~_h zRl-))?QP?pws^^PqLJ7n{G&)q1{F_yG^0kVnI=VdcJ&Zi{Cq1Z_<=`t(JnLY9QZNH zDG-vA44;%jI`DmIP3X_s5tl>lK!?%tJ@l4diWaf^(wkEU0*LxTM#b<8S%Nruw4uBi zlk!#Kj@OjmDQ2Y+u{>_U=hxVOTJN=!pgXG%xU|wU^gYGKx!vzU%V)}~C?q_?HHE9n zc6pQK0V~nCb=xD-=g`S_HGRy=5ZN-jfW*wZ)aeR_Le}n)O7{1s?jSYX8%twWG5G@7 z*zYVrXKVtA@N+ zB#0sXDw;#YNJ@PTB|{l`ILtsZL&RkHzJuAXle>@fT&}PRomTK;1|#&e9R&MG?Ur?i zq*qa9C@yY*2Q!80ZD0QB5u$%Eod)v?>ZO1V&#)PZ#|>OWSH<7;Fhu=Em8q)3!@sgx zO+)i2*tvyq*Mf06gJ&LGbBak2PUFcjy@6ZD7W^{&r#p(@3p039`sMWGZTO_ODP&4t zf+n36R9A@~*yotoX-Y+Zx zrf!Vo@je(*fTI(KzT&8{(^-sYoCVQ1 z;wJ;FY4#ot+%*LB8Vm*^zG+BKMVUuddH1zucO}(cA|CwIbJFCE9{^T)@Lhh7|1wHf zkU=;oU&4f0PCj33Q97|Tx8is1bYpJB@sqc5I)C<2J}MRLgFD`f{W*1Ry3mnK5j}3+ zTEM+MtX>Vww{Hm~tp9~qrliVE9`$MOM+SXz?R)%ts~ah`F|5`+vc_D(*i(?!p$*5c z@4APWET^Q{QT9#V4Dvnd;XERmXL z|J|kbaB*YL%Uf@AVXF{_81c=GWwpAii0VCm$^fr%4u#NWkvek=nrgvLg|FlX&>aUpoveSXIR)J=y@u0}ynfFXxAxQ!wJl2%TB-Z(tH4NDJqdrKQge+_;il+r{!ipO)V$nloyBL!2i1 z3|?dIGbOu&+(E^gz0RNww>Nza556aDj1C8<-}}c$jt*-aBza)$)vV}Jdr_=q4$Hci z9b{{`A!Y=Y=`S>8wXGgxKKtI`K9hHaxsFg4P^gl{rmC?FGBwX9f@1=euAfwl=MJSg zzyEWWCGZ9eFq2oq`+?qn7%KUZc$y=uvQOkjegG23SI1;EjN%2p8*+_@+a>{HWd<&e z)`N;B!P(pXKshtyK`;-Hj`Y=6&Ej7MwTx(njI$Cmm!hWtczSC|JEFVVw3(!bR;I+m z8^b!!Ou!J0_T?1D4AO@01E00EaH1~(M$w_3Z`Tk$qFA8*c+cb9>VkcZr9vgAy~9-s zt>_{wi@cWJNL%=et~SpwX9BbCcluFS(5L)9A5VEmu!3n8!!wELVFMCaH z(cDVL;00`bqZLk9Aj%52v?0VuVRM9+9cM{|i-g%S47Mee)90?O?Rfr`U?Atjb{~Jt zT(3&+9p$qW+5r!c2_0!^&Z{7?zlcoWzH^Rpz46+$%979Che^n z@n)n(+616_k#t{ldMZ?*UKn!{v^Q$tv1AeH(nMpT{6QhURyIVE_)u+DrvFf2v8jXd z6cbEEnn(XBR>gp56phN97Cs=%gfi9ea|yJt5qOSRV5jmM}`A+m!9%uKxg_ha(f_ph-@TMwgrJdwotir& zsA4jw;NdM&kBeTv&t@I7p25I#sB5>=H!3myr5|cDa|k8SQ=#t$3cyvh zZfU^UeFI9R)iLTTiGt$|FAS*(V!npc@0zK*kX(#1i@90E{D=9!m5UJoQbk`wQAPJ2 zS_BU>naiCgJrQ)BmVW|qgfWSA9HTPdNz^DX=dUgId%VB??l!n|ll}}@t|P1-eiuj( z<|kE!Ghb(Dv-)Ihnku~==~sS8*9ir8u_JOuwywqZZ8KDZH$=MD=P%mCTND9(Vz2Ay ze#PzfSim8hnY-M9Li)xgc7cBVguU+)=6=gHZy_rT0`u-OdOT;zN&l6-8=&k>ku-|6 z|7zjdCyAL_l&5-iadgD4O~r@*N?Xnhr{tOab4-bHYSth_$2L{W?;vKHY0tKe8cSX< z`ab0=(Utn%vwISjk`Jb%tf5Ongl(Mt*&Mq zvs*{pDM*UnqvI!m#FaDuCr$3(CODdHWVe(FXC8j%c(H=kK8Pshla1|mmQxg*dj_Us zpHxbm?4fOF4a?qV>I!>8af@SOKok0c=hx8yRST%ee%B!TUxpZZqRBzqnVJs9Vg?`t zhxZ1(efao_AGNAh!;ZcI{me)5me9+pYt?)So$#Zbm3id!qNak1DyFP{nZha8<>ltZ zHtFjDnu;9fn`UXTST!@cg;0jwZ1WPw96tTPJ4KJX+5?!+2I&3J<@02b4;AX3KN$PKpcTC4KVJ)`l~9L=Jq-X67n5 z9e|V0JY)!~{nagy5Vw1E5a8wMyN~naM;!9Fv^HkETc+dD2CN#!v zw)62UhS{GsUkx4|^A;6t*#4Y2dt0vw2yw+uq6CbGcokMD1Z1xuO+3AK*xH!Ld-4C2``A}ay3m7-~af@+R9AHnu@k2MgwbD>|YtgxAw7hnFgAdK+jhl&!DI^g|(o3VTB}?YC29i z@*rSeN+{zBA|lJv&4_3TABMt*a;ZAs^|9CI%k(Bi-$IwRcnV6B&Qb^6Wz@O=Rt}~qRa7RMT z6RN!iU|}(qsG(_mc9T|^)6ui}b3kh0@>MV${3jzFZ1g8qz+k=yGXA9&=*ItG>lrK= z(b*0?0_Z9HLWrnvyaBDa1(5eXQFXKc3Y}b3UP-JNxOj0v1R%U-1&BAHlA;;=s39w< z(KBwZSgZYR*R*hbis&Oo(A8!QVw6%~w6Uc<6LwzD?tqH#SXS8RewO>oez6TuVAK{I zUl_fQ8U$jBRQpMvOwcb5AaFl!wkq>7LSv+=ZvR(3fERqp9+1mKzWTfcVBV1~tl!Kj za#L^l*}?DRpn8*{2`P{>occ(3(;%(&yF-BS_ZhpA!$GT4LwN<%@yTZIM5ZhGLE4MN zJ|7`2Rlp^7$Lp=}r<7;wI#R3rK-MiWq7451F975Q*Blx1f#Df~p~FH$xgC&e71&8X z5c1JcpG#p7*P;zT!G5Es20&E=hv0Ch{L~j80bj;xK7cJT^7PLy34aVr7dQtZYJ4nc z6L920pIVsdzsy)?wt&+}_uYVUUJlqsf=^=PH}N{0;>B-Jp{m9iSoDSf zL~36JuKGNS`cX~GwM)DWlxI{|2(hbVBwI_%uy*{ehl>JN@ari5o^>`F0$Q#kcpyR_ zRkB1G3<0XV`O5!VPYoZVs$t%-8-xBsuUHvKkNW*m!WoMYwZ0}1izB#9pVpJzc85Q{rds&EEIX_`gIFp>cQkbOnM zz`UMZX#qHP(`~mvdY7F}Wn5bx*fCJO|1l#TurjK#^xn0jyzf~X7bg zrz@cLRdS@hUjA@NN!@(~w#1{$C~6mz>LKvg_lK*2_`&q8n#pHma>qB#gfwsA;+a6$ zqkIhi8j1p;=4w#evp=^I?VDq4h&(7~%C?i<=cVhqzFxjpwlEv`5wV6J3d4I&!n^so zERGm06tFhOfd=B+MF1yQerI5mLSh0fTj)zwAI?jSza2=~3p9iQx?@ibX$;Xho9*ky zWf3V3z~{gKF4p=D0!KIJO(2I*v2G66c7bB_+Q2>_^u|2Halwt~mn3X5BnMS29OCn8 zg_fF*u64j+5jA~D(oF^M8dDXNyDbs_#x&7&Q_e&ACl4lA0ejO*ReQ@|i0E|&t@j03 zsFpLQ-`E$R&pbdMTU@vgICZ3}0=$6VaUN+CR5zxC3v!|T&w1cfwGLYLDjK{5JPsF2 zc%GZ8Kx3Qw&^e@tShQ6W#$UEn8{tz&&h7xkg#}p|AR_Q@L?s`1mw8m}4Em?p-Mh0& z|I`VbF-W{W`0eLw%#Q@7pAi!Cy$-4Z`?~2A5KRfs2u;uS!T6x0%WW{8iaCu%HAxDy zX2d-iIW{^jT(OhGv?vVt0j@0%fKLm5>hQar_Kqbq8toUW7SHU+= zP{-SM7lTKzDcm`{gZl;!iL7_FP1+MXX$aLAo}%rTIn=_Wfb2T)9b+aBFbi6el>wSB z9?X{+ofbmr<^rUvCuT|>&A)|w|0otOgcgoYYJ41o57Hf_xYF!(Nh#dh%yt5sQD)IvI*nEJ- z1_*_SxH?lQtCoy;ntXirnNQntB$eywu?IZj{R^CBC(w4efANR5d-g2CcQE@gvOg5# zS+F??&??!>(+Js9clY3@!(TrNpbAjrJr5d7+&y7Px1#|-Rg({(o@&5c@c~GC>@OBU z5>u$L6}Zmu=S?v_2-ux-t##g%7XSv9+e^A||5;Ek+odV~-iIV#uyZ-VZ_x4Z)1gVI zb%6a^3=w6)t9~Eu45-0;J3h}7uwm=fdyGp)LP%SW!^eYziGUr9hbSA&VAcSd>WqZb zH+ZHmOv$T$1kw=RcG#0v->YUH`vA4s{w!k3LvV9Z4a!yl;}0QAMTY@Jgyult`u)w8 zSOKF<)$9G-J20}|NpsS#vV^4qUOSfNF=c`rfOl%`dWts&67p<6=Xx}?P+Ky_-x&i} ztc=_SCtwb*GrA6lT_C+v?Q;peRKND@ly)!;wEUg9&fV3_=OIJygG3*lV>1FaPfDNT zfaYcDB&?bSDb$B7sxjT=4-lQCU$yKor0X3Ax8i5Eg1g?QbQQ399GjTGp=qw!HzTgf zIR0*+`?7T6_qjaI4tL+b>b-y3^JG}2v#n_ip)3N>@+VUW2#uBI!jE_faT(p<2Fb2tkcEl0haSDD7mMP7M2!mr9Y=7Ug~qIu z`s>Nda7X{uJ<=#erVQ)3XdEiFO5TFf-UcqCJekaBoDPqckTX5kP(QQJJo^3(V^Tf& zAYrtqKJ`9|`Sds+{7|on5YdG@H2id|UFlSSr=vPxAA<_cK*HxdM z(U!?<>D0ajN2;*J2jgpgt&h3O?Q9xtTH= z5iX(qs-VIXAKcwio^m6Va!cW8v(2nlzp40ff7!$Ui^IH3X8v12{sC8Io`%q+$0seklo3IZ z@VKI>YjTubg|E)e4zkaF*t0DBu=k_nL+PGp*X+sCN2f}WXqBy<(A+RLsuX&nXeaBj zymvqVK5M@eRrmQQ?a9a_fBRjFEbCL>?>4KMU-8?+z9Jc3W_rlHzw!ds%TsRN>ZR_B z^1gWYM!fG_alInp?cCI{g-K=KO~NRC7yyLxI}pfiI$R&6k@qBzmG3PoE%DcRx4hkA z^GcKJsR%d%LMV|a_~k<4Fo&qCvp{5R?-e1+Jx#~{7POx~rjZ7huS>q3y4EgCjykHC zm3X(Py&BuGbZz!UxGvql1n1$&wU&%d$hXPOqUvGam=xPHpQFA(o6J7pJWehRCP+Cb8|=Ps^8q+&hyFN?vAY~~vN5ZVo>Di*1)`pNB5 zU)b8fK#QLz@zIrmoGXsPhYH?s<$*&C&W~CksB@1&Y<;}r*RJmy)jf**{X}ZyEVayW z%6K>PP;0>#Lukc1L-pFEASu9IiPgZM_FNRO^(w4aH|K(`+s0y&PYOY3^+{#vLfyB1 zEaQ5XhU7k}Uq_GbkBf#fNScH`2(0j-id7WapS#^ajS&{EomDU5ldxYzbD;8~T>x}!waI1LLp1^aa(|)H6_KvIpXN7&Rbtk47%9$${e(k*ZTuZaamx}y0 zHP05l-U7j)-Fl!Tp)Gb3kC*M)!tw&FJhqu8N=i|2lg*Tsfi8ycPj% z&MYk`kG8ioL+z z_+EZ%k9q4yLK;MPVulab3aAcgy7YIhXQ9{z$Ck%J0{?0KR}AV)4%{R-FbIGjr2kAU@L2-+j7<~4xwdd-0t zsevUS)zNkA&EM6NddZ7K4IA@O{{CHqZ^@)w5M0poSY22pvs-WY#>O;3T4XhPmdvcF)lFE+r1k zog%y)x8?YT9f_Cv@DDLV^#Wna_r+AN=2X3!#vFC{LOAh+6AN1>@m(LyZ<2`DmY4l< z4gqV^`X#?kW|YD)_Sq&!np!hc8jEu<13mhSpQ!#;pn&7-U(1vd_KIZZxrirNoNhY@+JrH;aX7 zUHhVRQ;kKE<3dq7kpOzUYn!ci5gwL!H5SM~avwqggS} zvF2JzqoF}!x7F#7{gVXI)^s4XG}n+Kw_?X44L;Af6L7w{=^Z3a(kxPKu{W62`8e#P zW>58B;-3k|Lv-C1{j5<&%*j16hv|ucEQ{@b9dtNnK%IZF*-3#=#VI(p=eyL)f7(eL z#%FHe!4dkZ`cVCrF9}4X8-m=-?Buj&Rq8`UrA~os*cWPxl0^MB^j4ATbScm3J*6mE z!VLsg-oP)KbhWm`TyC-9U=Th~?b&Rh>O|>#+xxaJqK@dQ0}F+YuoJHQYsAwVMpUFW zY?8gn$!pKCDP)F+^HuA;BZjl?n}O%eeu{t?+tBSOiOjYE@~_XqbLMu zaKX(kzKMq);)$Mn1e8PgZm;U3-30dN=rEcww4?hUv8l81a-DcQL>*ad8D=6!uYVh= z^o(xmt9DEvofV^8g9lIzB~T+HGHi4aS1HSgj1VQH6C_6P{;E=TvK?MQ0)TvV9GXRe znVK49;*yki=XtgDe#An4udwlZjLlz@Djtmo2CT5^6*@obsWB{!8OW~ZoO|YVmilfv zO6&8PR+$wJx5cn?;L8ws*h%oiLC|m`|7lxtq{q9Xdlj&g+foxbPLO9m0Cz+l^|73`C|z;}8-@ix z=r`85L~lJeA-I7NC$u#Wk`1-h&XN2bZs2qy9(b0zz*AY3!|kBO5NRv9WVd9}e3a_U z(wIZOIB>CrF6O5ipBOQqjAB6>QEK++*?rTP>cnP7Mgdo$s;(3VmaWMRaR^UNE%#ty z7mnETV-KXH{;D5ejc)@V98|dmtl^10$-y^<$kSeC4WwE>Z+TgtV&RyN8lH zxXHL0{9Ro*%K}x(Q^euziL|^pCf~x=+J{f8--brpzli@N8GA-N?IscFu5Dqez7OJ# z-QLl+35A$+^>#dyA$vXB<3{gQ#vj&o0*G!$&61m#vFA_nTuQ(-xufs&bL9(vm#ZM@9M=)Zq;Q}vWmHMe^RkuXOU283%a6Rv6SGQ3|G0LW(rYR6R> zz>t1?M;oTSVeMKLX{zqp{2FL$yD5E5^9O6w&smSiU5l0X!IzR1{x z+i^gdN%q9FgY+rhb2Q=nC$CU6JN|@&5s06&r4NuLz}M)i3c*e#(N!I(Vh;h@%AlxAXPMD)cCy0r4B}#=2H!%xk2IYcIhUt zTcc@sG8BX*YUPB@gI@Ol(2?&R@9ZXB944d|AGSKJWv;L6HvcrHP`X=lh-A<@c~|X+ zuFH7E$I1UjGtZXNBs!3uxbKnY62+E_)cl#+xOZ&a`j6dK@DmQ?n|NDA~OryeVz_k^n zQ0@vwBzqgJ!^gHdz7JziuJM|H2 zxYKTehltdu8Hot-_r{q)@;r>^j;xw1jyJKL_ox@Yzp`XbGu%l$@$)dK)w!B+irvZR z3L#0tQH>Qs@7HH0Kgol?=fkFfB_q6qePF3tL3hQ$_P^d&XS-OvX zG3l{|S+h}I11B~*odkF`Xitf{anPRnJT(zn#g~)_G0Wi{Hzq+QiRFhk@m8h6N{D21 zsKxH@j5Z8TcG`QQUs)najAr3klPwGe1rff$+7tbCgj>T;SQK=m_cGcYw85#)q(ihm z%Ywg4b`gW4ZIj<%QOoMnP0%L1^Bi6l)apTvy zMc}U<3&T`_Hr+Hz+b{J85sifn=*j;!_n|m4u8@s2)BP2@LEYW<%VoadYN7ktKWOrsQ4e_kG&FniC&eJ~%2Fgb7bgB33Vl zk=5#&&`*I<;ls}<`oT#=XG!1aZ|l}}ZJcLITtE}8T=Y&Or74-IKR9eyKutkAtCsDDu;#YzeM?jA zBW~EYA8ZR0K8KX}wBLlC!DM;!$!gLey_%~=^10wXc~dAf?I)tC>Rn>2P*gfidgnWn z={>`*gzDy$J59Mc?J>4$z=}L9oc<*PiE_d&#n0&SJ~=Y5d3+=(^Dg@r_d-jd32YnS zHeTDP?G&HMv$YtL{b5!3;L=ih?puq3C>MVzN_Cj3wA*H zeNk0`T4B#UUBO<`2L^w-JC^6CSGX&!pI)6U1~?dA9{|bnq`~FMM=?5ii;t?yxv zw549^RTa3{mz=$79<}IFW92;fxjNmbeX-6Job2G4wD5HHRZ-3Sq-T{VI}h>klq1c) zsk-Ptx@I5^rVQJ~kh?b12@FP7BAEyZ)#g0M)KEH3hknr^}B$n>_D9@G9{6&D!Eyz zL8s8*YuUxI&_3kdUXsNg9cP~9#uCNRze%7pVTz_&kIzym-&t8GRA?MTseS1bSH?K1 zVRa)nS@tti_v&?;(h`}VYf&L#OXlIBw+&9bwM&@_wBTiE-+bP)Nj<3am?~LP=bOnL zR8NelmUW4st*@(L2uxQ@6Q|FaleEi~ct*ei2Ay44^z>1qO^ZNdAdYYcu;|lum%Rb7 z(qKe1a|EQU?2{NGGkhCwI44ik(7BJm9P5+k_U2|HC2Tc*2KC|femre4{-gFWFD%|` zEsfkBnGC?wm+AKZ9+GbS!ZsD^3aZB)=U}+$YGuE$3H}HfGqr28=NC@bi?UAS390|E zo)Sr8c;S4bT`#7R{3kDLo5pgfhG{uPX2TsE6QWXa%q2&j3)`mr5?pPK-!GlNmFcJ- z4>eF}U@U&YX-B4(Wo9mlJgZb_2yz)fP>!Y7WY~?ES7;AAGOu_4#T8~&7XCXdmbD^V ztS2TIojvKdqe}k;-}guz&Q)zi0he(;Nd`p!BPuO3nGNu#ixbB#uQl(f=xWH!z76qQXu3UqZq?fFAFeV%ps#cc z%-SwBVS1!TX+>%7su2wzCYmAuDS6<+KgV1isy@gw7U^|U{-%A(^k+u|Y~wM8ca56_ zTHptk(dIlri!qtofU|FX?ei$$3EtNf#R79z&aRpj(3mAbW5Nw0ZiF}`Y4JWiCKVfm z+iC;}ZU*vu6hb!x#+4O@xlY=MsY-F%NCAhycKBY4tn3d{twswIDP&h64*NFOp*^?y zCikzxGL`{W`#s3Sn&Z_tLE*Jh0eN5CS(ZHic53*efIwz)3Q0z4?xqHvu+=oAG2TsC z3kT*yulD!i9H{zWqH&T0$y|P%Kn=j$G@Uuveh@S7U4wz|u|SI|$t|0}{p!0uKqF_P z`oc%fRGGU7Xy-D=ZO~zA-Cu%r#yt1Hm+9fZJ_jb+_eWTkWwC@w%YmZ>J21X)O zb7h#heq;<%I*7azDI4TMWN-RZ`yVV`jK>(!H7*gRU;~oIWbkrl=||}pp|Nqzg)M?U zfXxiYgzbr*KtLlLE`v(ci0Dh*G-6q9M^U1c@l<(vdC(9_!Mzi`DuT%9>0Ab0oDA9m zN_21~bEATpeOiFEcnGZf3U)AQPX>e~A}AhlrExRy{1s8?qvC6>ZfAFmo`Sry3xjtB zim5b^6|{BK12i@$*eM)lp{#8vJY<|_E|uZvu-V|Ud`{o$gA5kJMid>+96NG;$LwGGbMFa-SJRl~!NrXY z2W4guY75Y~BBI4xY0{ItKnaz^k;^tm>CjsTv{7A8GQVu9pc`{{Pr}HfH}HR%-6FIA zRVMN!7(>6`76NPGwEOr%_l}>yT!HG=(F*jsaGi@O3q$N$fCfVQ?;m7y0HiwbCb_7do&$9MbInb#?gD6VJ%NIRb)248 zTMa_wb^xmXNQ3)C(KNeyB7*(tZPmI93Gq3Ml+QSh)(=PYHiq z3v`n5fP)(?fBZ8^{sNV8CL1M;fGtL$xr5aaq$AaU?650|iR)iGwA$fDfK1WgO*#z= zG6PFSE*&PmpQ>{jq<`6t?F0I|2GE0pK)X5V5JUhP@YAQp=lgR>`*Fgfut{!~TYajM3n6go9 zDJ(IomA;Tu0Jf*DRo@hP_Tw}GrWjESE)E7!s}W#dHDlCGl1zp+7FWM^fR+c(B^e4G za6OpU1Vi(ffr6=Z3OvgxN5?;FBbFxs9OAPVsEa%xl}KUErnEdCcpn2tDUwD|7eN|D z4S1acK!%+DyW7hX?xA4p7I=rlQhS=O;>n6PYoUBNM0wepAD##GGv>e%ffwv`)h~8O z4PKz{Z>&?yKPw+9S>XayACprv>6ZY?Kwr<3_N$;f*=hx;S9WLbfhZ1Ss zp+E;hx~+hT6YyIS(b<})syWASQK%R%LEZqX|LvX;B6*JfB4C-!yD|9i%^Ao6fwl-> ze$=s^-y1+n*3io*`jlU`jl(C?SOk5~>@R2)u#b}AJj8Tv-~tHG;b2rembqyl9*8%{ z<9I#a+ae6Ow#VcI_|{+mS2I?P5t=tCd7+LH%)+z;1fvQ zn}q8nSuFa;`{L1^73npyEg3$BE4;|wb{E4`7Q1z=UAqR+up{M^6+MjFQGK5P<9Qzk zm|z`!jwqtm8_?9$&>>$6SN}cQHj+BPob^$>RS>2b4>3{~<3J*iwV+HhOPU}dHvz0H zQ7H08K5@<9y^tHzKFl$}_Cv|y=&{@fSS1(_-xKxlm@N3uIRlOwIVu;pZ(RQQO)46d zh6d2I(9Vi`Ft47WI~1dKX8G>CQCshzGY!w_=XalCjZ}O<)RU^pLFLe<}dX zHZDITF?#9ol~s8mUdwM8${qqq)gpm1skJ4pd;lQ#j_gPEz$ce_i`e^UF@Ym&V48%* zk+wUAbGO@oh|ty17O=xE`(eqYk;H;ul*mt*Akx+Q2k5#IffHB`_)j-WN-Jt8Y%U%o zOj=z)M1l^v_`{|YVCY@gXa)%UXar7Dl+_kU#^Raby%2V9UA;qU)!=|_0SYmQOSmJYGterwT{s0}-T%O8{mcUR- z+h~>R$28BZb`OJDaRT5DWMpH=t@ozw8|Gw>?<+v4-jCic1m%yXOe_3_*O%y1Rsq>ohkyoRyYhk}c zi;!uG$pes6U&5yt@5R31lRxd|EGh&8@m^6qG994KI2|Qh|}3 zzC-FX##o|8qA5R5JkEVH@x>7MFV^tLx1&2x}Q2GRM5xi$BZfo+Iylx;uQqv1ie+XGPcCxe%eC?lC zlio$o7^6_w8JZcOV0Jp+ob;z}bpa{7d0F7an&*SNS>sS14qP4+crS3K7x?s$Lc+X% zy0@nYt~f-Ixg=$uKx!trj`04+hzji}^q?jn0JwF6VlLH(xl~y1ZfrqJ#n1kdY47il zI;IlfA+x(hH4~phz2~abN@Z=;31a-R_)|D7BG^@qLtBF9+%!>M@1h+QuT4(MR24?r zs1WF6-dUk(T};`G@0NbdM{d@n-mzZsz}iaDix%0K$pZCZA#B^NAN6}?`tk!1G;uk@ zbJ-}8r&DliYm>9HQ_)Zu>56r*{qBLvI?k1Sp&*Rj1&R8eqKZM8x@P1)Pd(b1>&xYr z`P1E*Es0Ovh4C|>cey5O43c;6maQ~1yh>st7qIdA^5m)f+Z=q8cMZx^q!J7Xp0NUN-A^{zkd^%nHK@^Rl{|kyD^14OICg@jJigj zb--hJwveQJWixj_*p{tYcK1To#&f6{WS9L~ay?YO7n65y=Z8jOrg0KW-7J{QdwnLf1~awH^=u%?o{}kWW+bQ@f>z8J`=Dg$7qT zn8>N$y_WMN&FtAwL)WyWlxKgzsbdCBnpRiAvV|Y|28!V>V4U3(E(@9BnXPzH;23o+ zTe2SE5p@P~ElxneLs? zQY)l^m)rwvQ7L}mlSK7_`=O4}5>Q3vbAt0#mq_^(9FRJM79Q{p9Bd8QY!xiDJnX9V6XT7kpK!`A6haYev>d{=4`hD(~>^;psySl zDGGi?%r6QFH26kIlA9FSzJSZt#Y$04vYH!WHw+R>xpgpw_Ma%^zn{|YVp@~heTO?9 z($?XNnpIpx)T9Nho(9f?^vScTD_1f6IVGymS6>;$pcT`T)&XYBBRuiu(=u`zbgNc5xMY6NFpKhZ~}UfD$j4>-%_8cA?6iL zj8F5(xvur)k=4b25yVQZ#Sz^E*7}AcUmw4aW5ph zi1F#Xm?}Xnpmjm7aJ5GG-ScVNLpQ#fvEY`M3%-nx;>eLYFNZ;zU@jH!b8^Cs@Xx3p zc@m<-DS3dwI91eFFfn@57sm6Cy;M>bhRo_xFJ`v;vO;=afN^^YPRu->@F{tZat~7B zc#-xjyqr#t7O*8J|CXn;F<8D4wK*Z}n-^V%!gf|t%CM@3PQ&d|Pt zwq62CkJjoo18kDBs&EX5A!3;{h7DU<&dweFhOyqdU>#;Bv1xWpKByjHpnsZVE`V)E zF{mGlUY7@_OCk}|`)!jh0kFKHT8_Ka#$QU*wQ9H}MUw>%O9slR@}N0igjse~5~ z;!)_6#cp?029t*}gy?Pbd7m%A#APF+-e!yU{*SNs0H^wW5fvdR>)6?QltlKZkO~bPGo&ahdp4*jiK2e@Tjle;uK)k{yS~@;xxUpo=l#5& z=YH<_x?lHi0^|mc+3l;CiCF%P845P({TH~BP|V*{UAC#{(I~lkT;vt!_;I_@y^(2r z?P9WVU-Bqg{pwd5C4kvVezk4?MENw1*Q&EAr*uyOmD8c$2yXRV%c1W5qI->{2no}X zs2)`PXRf*Vso%f+32btd<1;fZ`<%rtE+Yx1M|q!A-n*D~&|XCn2exi(61e~i4x@gZ ztQX#!^`8EFq0NdTgXOJ}2^~U)utaWYk4U#;=`x~uOeoR$b}f5ZWxiCG7d?B9wl|b| zuUGYJh+9Nof%jB#>e%w@BClHT%1S*IM#H(Bi}gkMgcS>zee9j4-AzsP?w2p6XLvm~ z7JbI)k@|TK$5!t3HOkr5hVt>Hz0}NhOL|rkTnw~Bz9So=^C#p*73FFEr3W)rmk;5> zL#sC;ZjqfEw6Z(pH)!#oheCF~nyKxE@11^xT2-(uKlxRBEK?T!1^!3x=Y2##yH-ly z&AItp2)oK9?e)lQ(X;8K(fBM!s}aj8A&g9P8gPpD4Pvg(Q&t_dPl>&-(jgI8#Yb`fc2G4Ydr{Tr7RwVDR%b1-9o;V-*i^I2m z(Cm%zQNFZdH)hy=g3dDGT7Ktjz_C&0!JOjpKSm;jKR+%#_0WeiGw;LpRZ3lXo+~ez zE&{-dh4+2+hh0~gtr`5@9w{C_v(NnnevkK^*bbI2VJrtMu6hKORo*+yafg$NJN5+i zh+o3>cjb(PX#Y;O&s`EMB4^~^mwWiCAH1)-CiN@v6dMfHwm3e_e>9_pz1FC4{iVzu zclvC*v|p>pRBFGLqlZ*Pdi;}%KZTX{YL=^bZYi73e0X?ZeUH(#xt`lY#q1-sh%z9d zNT(saAN*BH?b`2C(@!-DbyfF2*qk$o3p#qLYuo-^M@h(Xt$AfnZOA_I4`ItH9KC0@ zA^G*gqiX2($tzZ;@q46Vh0sbClcU}izX1USNU;qgw``W4)c9|4Lfu15-rmfd=E7Qym5P$_--GAowDr+rNe<1A&Jp5cF>?(&3t4ez<*WPKIh#me?zub^|*#-9?+v~ zY~MO-W3X^JLO;eL1{I9KBwh5Te#p~yUUQ2tYvGO1uiq-VGIQfqRPIKs>6~eENQ5o( zwu_j6@-T0Ei9Y!^d>-Ho{p@DpYc1o*!=x4_RYeh&xouiNDB^(Wkh0!%Os;pItkYj2 zOkZKsBdt8KvaRejt$GDFm4P`GF5L$sd7ShXtM~S3skw2qc}M)L6Oth-aDVv%0P&w? zlb+JOWhL{8Y?B5MU5cHdHqX;m$>bj1Ja3BW>T^VCSNZp{xxOSv_qWOD;B+pjY2LOw zd$mZ`${?&?>%b`|Z?;uyRgq(Dm`>L}sWQau=GUWTLZ9BN=ZYxxZ@Z)>bA+L7GkliM zQ=fIhFAI3pv@co=yF3&)v{y~UWo7_i$H)kZ}&T)-1iDWQDEikYi{ zYVwt!iIl@*lWGUi2O|z~zU;yeX&BPoXyYupFr(tb8HWtTZMWo_X_Kp&1k4AowKy=U zY4b#QuZp({NiO_BhYR3Hoiwx`J28Onwb!pG;*LxcxR+P0N3F#oqg>PSj*`LODm zL)j)7PqRul@Z{ako(t_h}W|Rq4)>J9EzxxY4xf?>B5zDW3l;n)6`UQRZ?b*;H10 ze1Sjs6Aq?$GkHx|j}@2o8St2xqfGKIi*^tZA`}0iyuEg8tSe$1rhR^wRk(L>kD@?zLF}d1Bj%A=8VY(=-Ae~P z+I?kUy9-h4qi5HuoD73yCX7yf#|@EA6RaZN?O`itCU@|+^`G#&bAotO2iN_=r zUFOy6^(LkNJmeL>-{a=~WD30L5}uKRdU#1xbzS5bTNR55mgk^&eA!B0Jh#W61h2Uv z$yKN1>^?@GYwo}~aAe_13O#*eI(^zrUJ>nOltB; zT+BoaRwrb$=d`+J-mSm8KtfTZ5lY$VD^Oha6&PWuP`3;5ll_qMv*4SvkL|p46)nL> zB24B~plL7CAHTZ#xBEi~8>$n1FaJE`w;!)|u!Svmi|{0Spmcrr_`hd6SFdKQ@SewD zKoVfX4M5K>!p`C=`(FAZ=ip-INYSS{kY2Ce3Xq@4H2~1@t-$J{KB@oFtmP4mG(4=W4)8#~> zFKChEsUJE~mkfWa56Q6w;NN=S_YGQCotr~R<$IL#gabzZOV$2>Q!u<~(R~eR(L@+7 zF91&$MFo{Ocb$wYz5Kxqi*(vpnuMp zAOSqdlVFGWp%d<*VT;#P`?b!mk8{^sJM`n42Z{}ffy0}L9T@{uyZp-Pv*C4_=fqA= z;7chcizxipBgRahPZTFlI{}HghOI9>hwgCO*zy}@<9Av;hPrTF>ZteF4VdLo3{i0y ze&uw?_I+d~$a*-<(7k_xY9fNd9Fzo3?4GFj`axjzD{gpVoTu1e#Z@yELvQuu@_lL+ z2~B9j;XQe-p?Dc6LtF;sz>5lisxwQTz^$+PHGdIxct+9=FGDTf9uG`C&BH>VFSjxP zh;AvA3N-Swoj3_jsA~Ea*COB@z6g^lf-gWxXZ33;b?nCL5ERq?Vr3O9Ovv177$WRfENY6<{UG5gZ{k@$|S|F5FD;8T~^v`fGb*vVeaw=mY zhXhM=iM>QdN8$2E0AS681l#M5_}gZ3vLAdoD?0R#OP$W^CdDY_s7DDdRUccwNs%>hmxYt61~Agwe824D?m zZWZpoN&@QxmWatN42aA$4Mcokq6KDl?cl```&vkfQb?@Sq%)DWi7G(S+6m;h*6=1U zR>yB!d5qV4yA!6}{v4o##x!(~rGokC0WLmgXrEdXjT7V4m1#A*jLx^hDP68>m}2)R2|94bU~wJ$ej-7qD&bG#+!;XW)CJt0t^w zjYydAT^}f@hT+zA-ygR1II?Y`{MVgLR((z3S>3WXQ{+5kD3Q7XrHpmW`sUcwFQ#t= zroX5$cyns?HlzYm;uQ$W@DQ7{%xFQj%il@^6wnW%;%BUi8nhj9pf&Xw+%XS&yqip| z^11timRhMX6N_=pYwuqzKrQ9L;*2GFSW@5*q8Sl}JLqX+pxZh*b$t(odh*OQ-aK@5 zfU;dP2^HIG=v+hk*4qzt?p=}@^W6VJ&By%j)~liz;TqPcD{eMjtq%f1=u9}p*9ve| z$BJBE7}W5|40X76V^? zgM036hR9~*MFd;3ob#t0LD0dT~B7HEK- z-wza<-L+Mchm`{(xJ@T+*tn%@)S{w_pb5`eIay$s#o0RihJ0zrLt@T%o6a?UNmUN#B|aV`xegKfNkF zYI*jH{ofsoVMDa>SnY9yjg9Hmr8Fa%l$LPvlU(=f6Qs}0Sp(y;4J6<$0Qm}KtuZ&1 zJbep(zw~S>khCkE(^$OpH;EpKuEncneGr*m_-QJDOBwxvj6b?l-Sr6UeKB0m`Sd$?qT?T+03nqx6w8B5Fa$Pv$&MMQa@JB0^X}t~2#+T3 z1d8W*DD0#{xP1KrGgG4Mgzqu+z&>oOamw!VV|76pauJU{^k^eNeuIpK#1yGhHLMV+ zih)@8y-dqxdA=3cQ3L4MG;E0}nS!p!QLv~!<5btV|C;QL{TpE3oS|;{byyx5^il^D zp1<}aHDl=Bl!ER?pzYVlxc{;j6BJRi$250kk&8axz>jXGbj%N~(gJMjy$NTA+sZ7+M2! zn&%Ap_d<_54cgFp%FUna6=prksVi&nivlS^K6n%YeFgeZWD>b(3dAK}ro^xO1HI7W zs{sc;$~Or*<7^$!Ii`YjvhrM_XATyKs=xU0L<6Mo$#UADbfY#3R7Phf8r=H1PDVQ@ z?e_e_O?!`pEm25Uw{nHpMFQeK0zLHt6#X*5|7p3HuOV=*NGnYJAs7akDCh^Gy7

    L3%l2%M%5N$vbODF5{F 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 S{*cE3KU(T~YF|{W!~PeTEJ?rs diff --git a/.github/pr-workflow-dark.png b/.github/pr-workflow-dark.png deleted file mode 100644 index 35a53f29637201d262f8c267a86519aeba9be5f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 230296 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

    resolve.conditions

    resolve package that contains # in path

    +

    resolve non normalized absolute path

    +

    + -
    -
    -
    -
    
    -    
    
    -    
    
    -    
    - Click outside, press Esc key, or fix the code to dismiss.
    - You can also disable this overlay by setting - server.hmr.overlay to false in ${hmrConfigName}. -
    -
    -
    ` +// Error Template +const template = h( + 'div', + { class: 'backdrop', part: 'backdrop' }, + h( + 'div', + { class: 'window', part: 'window' }, + h( + 'pre', + { class: 'message', part: 'message' }, + h('span', { class: 'plugin', part: 'plugin' }), + h('span', { class: 'message-body', part: 'message-body' }), + ), + h('pre', { class: 'file', part: 'file' }), + h('pre', { class: 'frame', part: 'frame' }), + h('pre', { class: 'stack', part: 'stack' }), + h( + 'div', + { class: 'tip', part: 'tip' }, + 'Click outside, press ', + h('kbd', {}, 'Esc'), + ' key, or fix the code to dismiss.', + h('br'), + 'You can also disable this overlay by setting ', + h('code', { part: 'config-option-name' }, 'server.hmr.overlay'), + ' to ', + h('code', { part: 'config-option-value' }, 'false'), + ' in ', + h('code', { part: 'config-file-name' }, hmrConfigName), + '.', + ), + ), + h('style', {}, templateStyle), +) + const fileRE = /(?:[a-zA-Z]:\\|\/).*?:\d+:\d+/g const codeframeRE = /^(?:>?\s*\d+\s+\|.*|\s+\|\s*\^.*)\r?\n/gm @@ -178,7 +212,8 @@ export class ErrorOverlay extends HTMLElement { constructor(err: ErrorPayload['err'], links = true) { super() this.root = this.attachShadow({ mode: 'open' }) - this.root.innerHTML = template + + this.root.appendChild(template) codeframeRE.lastIndex = 0 const hasFrame = err.frame && codeframeRE.test(err.frame) From 17d71ecf74bdcb16fd1d80c13106a28f804c325f Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 12 Mar 2024 21:13:13 +0800 Subject: [PATCH 414/656] fix(css): treeshake css modules (#16051) --- packages/vite/src/node/plugins/css.ts | 2 +- playground/css/__tests__/css.spec.ts | 5 +++++ playground/css/index.html | 2 ++ playground/css/main.js | 5 +++++ playground/css/treeshake-module/a.js | 5 +++++ playground/css/treeshake-module/a.module.css | 3 +++ playground/css/treeshake-module/b.js | 5 +++++ playground/css/treeshake-module/b.module.css | 3 +++ playground/css/treeshake-module/index.js | 2 ++ playground/test-utils.ts | 20 ++++++++++++++++---- 10 files changed, 47 insertions(+), 5 deletions(-) create mode 100644 playground/css/treeshake-module/a.js create mode 100644 playground/css/treeshake-module/a.module.css create mode 100644 playground/css/treeshake-module/b.js create mode 100644 playground/css/treeshake-module/b.module.css create mode 100644 playground/css/treeshake-module/index.js diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index f656c8c8aed4fd..102fdcea96f9c2 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -542,7 +542,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { map: { mappings: '' }, // avoid the css module from being tree-shaken so that we can retrieve // it in renderChunk() - moduleSideEffects: inlined ? false : 'no-treeshake', + moduleSideEffects: modulesCode || inlined ? false : 'no-treeshake', } }, diff --git a/playground/css/__tests__/css.spec.ts b/playground/css/__tests__/css.spec.ts index 89226a8fbd5ba1..c0efb130bf00f9 100644 --- a/playground/css/__tests__/css.spec.ts +++ b/playground/css/__tests__/css.spec.ts @@ -533,3 +533,8 @@ test.runIf(isBuild)('manual chunk path', async () => { findAssetFile(/dir\/dir2\/manual-chunk-[-\w]{8}\.css$/), ).not.toBeUndefined() }) + +test.runIf(isBuild)('CSS modules should be treeshaken if not used', () => { + const css = findAssetFile(/\.css$/, undefined, undefined, true) + expect(css).not.toContain('treeshake-module-b') +}) diff --git a/playground/css/index.html b/playground/css/index.html index 508744160526de..a0e92b205e79f6 100644 --- a/playground/css/index.html +++ b/playground/css/index.html @@ -105,6 +105,8 @@

    CSS

    Imported SASS module:

    
     
    +  

    CSS modules should treeshake in build

    +

    Imported compose/from CSS/SASS module:

    CSS modules composes path resolving: this should be turquoise diff --git a/playground/css/main.js b/playground/css/main.js index 8b3eb488fe813b..05a9c426f3419c 100644 --- a/playground/css/main.js +++ b/playground/css/main.js @@ -20,6 +20,11 @@ import sassMod from './mod.module.scss' document.querySelector('.modules-sass').classList.add(sassMod['apply-color']) text('.modules-sass-code', JSON.stringify(sassMod, null, 2)) +import { a as treeshakeMod } from './treeshake-module/index.js' +document + .querySelector('.modules-treeshake') + .classList.add(treeshakeMod()['treeshake-module-a']) + import composesPathResolvingMod from './composes-path-resolving.module.css' document .querySelector('.path-resolved-modules-css') diff --git a/playground/css/treeshake-module/a.js b/playground/css/treeshake-module/a.js new file mode 100644 index 00000000000000..7272fa1dc1d9c1 --- /dev/null +++ b/playground/css/treeshake-module/a.js @@ -0,0 +1,5 @@ +import style from './a.module.css' + +export function a() { + return style +} diff --git a/playground/css/treeshake-module/a.module.css b/playground/css/treeshake-module/a.module.css new file mode 100644 index 00000000000000..72ab1a9fdb001a --- /dev/null +++ b/playground/css/treeshake-module/a.module.css @@ -0,0 +1,3 @@ +.treeshake-module-a { + color: red; +} diff --git a/playground/css/treeshake-module/b.js b/playground/css/treeshake-module/b.js new file mode 100644 index 00000000000000..b3db996f7f64cd --- /dev/null +++ b/playground/css/treeshake-module/b.js @@ -0,0 +1,5 @@ +import style from './b.module.css' + +export function b() { + return style +} diff --git a/playground/css/treeshake-module/b.module.css b/playground/css/treeshake-module/b.module.css new file mode 100644 index 00000000000000..5ad402ef7353e8 --- /dev/null +++ b/playground/css/treeshake-module/b.module.css @@ -0,0 +1,3 @@ +.treeshake-module-b { + color: red; +} diff --git a/playground/css/treeshake-module/index.js b/playground/css/treeshake-module/index.js new file mode 100644 index 00000000000000..67332c5a21eb3d --- /dev/null +++ b/playground/css/treeshake-module/index.js @@ -0,0 +1,2 @@ +export { a } from './a.js' +export { b } from './b.js' diff --git a/playground/test-utils.ts b/playground/test-utils.ts index b5fe29d2a24ae8..2916c350d12f5f 100644 --- a/playground/test-utils.ts +++ b/playground/test-utils.ts @@ -156,6 +156,7 @@ export function findAssetFile( match: string | RegExp, base = '', assets = 'assets', + matchAll = false, ): string { const assetsDir = path.join(testDir, 'dist', base, assets) let files: string[] @@ -167,10 +168,21 @@ export function findAssetFile( } throw e } - const file = files.find((file) => { - return file.match(match) - }) - return file ? fs.readFileSync(path.resolve(assetsDir, file), 'utf-8') : '' + if (matchAll) { + const matchedFiles = files.filter((file) => file.match(match)) + return matchedFiles.length + ? matchedFiles + .map((file) => + fs.readFileSync(path.resolve(assetsDir, file), 'utf-8'), + ) + .join('') + : '' + } else { + const matchedFile = files.find((file) => file.match(match)) + return matchedFile + ? fs.readFileSync(path.resolve(assetsDir, matchedFile), 'utf-8') + : '' + } } export function readManifest(base = ''): Manifest { From 1cc88c13d8bbe48d037d27a4f26a85dd825daae6 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 12 Mar 2024 21:15:05 +0800 Subject: [PATCH 415/656] feat(resolve): auto externalize node builtins for `noExternal: true` in node (#16019) --- docs/config/ssr-options.md | 2 +- packages/vite/src/node/plugins/resolve.ts | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/config/ssr-options.md b/docs/config/ssr-options.md index 0111aa56031e15..1f5cd8e47f325a 100644 --- a/docs/config/ssr-options.md +++ b/docs/config/ssr-options.md @@ -18,7 +18,7 @@ Note that the explicitly listed dependencies (using `string[]` type) will always Prevent listed dependencies from being externalized for SSR, which they will get bundled in build. By default, only linked dependencies are not externalized (for HMR). If you prefer to externalize the linked dependency, you can pass its name to the `ssr.external` option. -If `true`, no dependencies are externalized. However, dependencies explicitly listed in `ssr.external` (using `string[]` type) can take priority and still be externalized. +If `true`, no dependencies are externalized. However, dependencies explicitly listed in `ssr.external` (using `string[]` type) can take priority and still be externalized. If `ssr.target: 'node'` is set, Node.js built-ins will also be externalized by default. Note that if both `ssr.noExternal: true` and `ssr.external: true` are configured, `ssr.noExternal` takes priority and no dependencies are externalized. diff --git a/packages/vite/src/node/plugins/resolve.ts b/packages/vite/src/node/plugins/resolve.ts index c02f1554a3f357..ccffd1c152972c 100644 --- a/packages/vite/src/node/plugins/resolve.ts +++ b/packages/vite/src/node/plugins/resolve.ts @@ -402,6 +402,7 @@ export function resolvePlugin(resolveOptions: InternalResolveOptions): Plugin { if (isBuiltin(id)) { if (ssr) { if ( + targetWeb && ssrNoExternal === true && // if both noExternal and external are true, noExternal will take the higher priority and bundle it. // only if the id is explicitly listed in external, we will externalize it and skip this error. From 6d6ae10f5d80a9c9b6737377333424fe76652b81 Mon Sep 17 00:00:00 2001 From: Rom Date: Tue, 12 Mar 2024 14:17:11 +0100 Subject: [PATCH 416/656] feat: add entry name to manifest (#15849) --- packages/vite/src/node/plugins/manifest.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/vite/src/node/plugins/manifest.ts b/packages/vite/src/node/plugins/manifest.ts index a82897ca6adb36..84602e78268866 100644 --- a/packages/vite/src/node/plugins/manifest.ts +++ b/packages/vite/src/node/plugins/manifest.ts @@ -21,6 +21,7 @@ export interface ManifestChunk { css?: string[] assets?: string[] isEntry?: boolean + name?: string isDynamicEntry?: boolean imports?: string[] dynamicImports?: string[] @@ -60,6 +61,7 @@ export function manifestPlugin(config: ResolvedConfig): Plugin { function createChunk(chunk: OutputChunk): ManifestChunk { const manifestChunk: ManifestChunk = { file: chunk.fileName, + name: chunk.name, } if (chunk.facadeModuleId) { From 57628dc780fde15ae64f95557cc87c35344af6b9 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 12 Mar 2024 21:36:54 +0800 Subject: [PATCH 417/656] fix(hmr): call dispose before prune (#15782) --- packages/vite/src/client/client.ts | 2 +- packages/vite/src/runtime/hmrHandler.ts | 2 +- packages/vite/src/shared/hmr.ts | 9 ++- .../{hmr.spec.ts => hmr-ssr.spec.ts} | 68 ++++++++++++++----- playground/hmr/__tests__/hmr.spec.ts | 56 ++++++++++----- playground/hmr/file-delete-restore/child.js | 8 +++ 6 files changed, 108 insertions(+), 37 deletions(-) rename playground/hmr-ssr/__tests__/{hmr.spec.ts => hmr-ssr.spec.ts} (95%) diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index ec29331085a010..d500b9f9f78351 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -268,7 +268,7 @@ async function handleMessage(payload: HMRPayload) { break case 'prune': notifyListeners('vite:beforePrune', payload) - hmrClient.prunePaths(payload.paths) + await hmrClient.prunePaths(payload.paths) break case 'error': { notifyListeners('vite:error', payload) diff --git a/packages/vite/src/runtime/hmrHandler.ts b/packages/vite/src/runtime/hmrHandler.ts index 0b8363eac52dea..b0b9fdd5fd6f32 100644 --- a/packages/vite/src/runtime/hmrHandler.ts +++ b/packages/vite/src/runtime/hmrHandler.ts @@ -67,7 +67,7 @@ export async function handleHMRPayload( } case 'prune': await hmrClient.notifyListeners('vite:beforePrune', payload) - hmrClient.prunePaths(payload.paths) + await hmrClient.prunePaths(payload.paths) break case 'error': { await hmrClient.notifyListeners('vite:error', payload) diff --git a/packages/vite/src/shared/hmr.ts b/packages/vite/src/shared/hmr.ts index 05f2f742c4f247..0f2cb23b4ad71f 100644 --- a/packages/vite/src/shared/hmr.ts +++ b/packages/vite/src/shared/hmr.ts @@ -232,8 +232,13 @@ export class HMRClient { // After an HMR update, some modules are no longer imported on the page // but they may have left behind side effects that need to be cleaned up // (.e.g style injections) - // TODO Trigger their dispose callbacks. - public prunePaths(paths: string[]): void { + public async prunePaths(paths: string[]): Promise { + await Promise.all( + paths.map((path) => { + const disposer = this.disposeMap.get(path) + if (disposer) return disposer(this.dataMap.get(path)) + }), + ) paths.forEach((path) => { const fn = this.pruneMap.get(path) if (fn) { diff --git a/playground/hmr-ssr/__tests__/hmr.spec.ts b/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts similarity index 95% rename from playground/hmr-ssr/__tests__/hmr.spec.ts rename to playground/hmr-ssr/__tests__/hmr-ssr.spec.ts index 0998ee8ddb406f..f28b620f565131 100644 --- a/playground/hmr-ssr/__tests__/hmr.spec.ts +++ b/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts @@ -7,7 +7,14 @@ import type { InlineConfig, Logger, ViteDevServer } from 'vite' import { createServer, createViteRuntime } from 'vite' import type { ViteRuntime } from 'vite/runtime' import type { RollupError } from 'rollup' -import { page, promiseWithResolvers, slash, untilUpdated } from '~utils' +import { + addFile, + page, + promiseWithResolvers, + readFile, + slash, + untilUpdated, +} from '~utils' let server: ViteDevServer const clientLogs: string[] = [] @@ -737,31 +744,19 @@ test.todo('should hmr when file is deleted and restored', async () => { ) await untilUpdated(() => hmr('.file-delete-restore'), 'parent:child1') + // delete the file editFile(parentFile, (code) => code.replace( "export { value as childValue } from './child'", "export const childValue = 'not-child'", ), ) + const originalChildFileCode = readFile(childFile) removeFile(childFile) await untilUpdated(() => hmr('.file-delete-restore'), 'parent:not-child') - createFile( - childFile, - ` -import { rerender } from './runtime' - -export const value = 'child' - -if (import.meta.hot) { - import.meta.hot.accept((newMod) => { - if (!newMod) return - - rerender({ child: newMod.value }) - }) -} -`, - ) + // restore the file + createFile(childFile, originalChildFileCode) editFile(parentFile, (code) => code.replace( "export const childValue = 'not-child'", @@ -822,6 +817,45 @@ test.todo('delete file should not break hmr', async () => { ) }) +test.todo( + 'deleted file should trigger dispose and prune callbacks', + async () => { + await setupViteRuntime('/hmr.ts') + + const parentFile = 'file-delete-restore/parent.js' + const childFile = 'file-delete-restore/child.js' + + // delete the file + editFile(parentFile, (code) => + code.replace( + "export { value as childValue } from './child'", + "export const childValue = 'not-child'", + ), + ) + const originalChildFileCode = readFile(childFile) + removeFile(childFile) + await untilUpdated( + () => page.textContent('.file-delete-restore'), + 'parent:not-child', + ) + expect(clientLogs).to.include('file-delete-restore/child.js is disposed') + expect(clientLogs).to.include('file-delete-restore/child.js is pruned') + + // restore the file + addFile(childFile, originalChildFileCode) + editFile(parentFile, (code) => + code.replace( + "export const childValue = 'not-child'", + "export { value as childValue } from './child'", + ), + ) + await untilUpdated( + () => page.textContent('.file-delete-restore'), + 'parent:child', + ) + }, +) + test('import.meta.hot?.accept', async () => { await setupViteRuntime('/hmr.ts') await untilConsoleLogAfter( diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index 0d95557aa65fb3..5f82716df9203d 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -8,6 +8,7 @@ import { getColor, isBuild, page, + readFile, removeFile, serverLogs, untilBrowserLogAfter, @@ -784,34 +785,21 @@ if (!isBuild) { 'parent:child1', ) + // delete the file editFile(parentFile, (code) => code.replace( "export { value as childValue } from './child'", "export const childValue = 'not-child'", ), ) + const originalChildFileCode = readFile(childFile) removeFile(childFile) await untilUpdated( () => page.textContent('.file-delete-restore'), 'parent:not-child', ) - addFile( - childFile, - ` -import { rerender } from './runtime' - -export const value = 'child' - -if (import.meta.hot) { - import.meta.hot.accept((newMod) => { - if (!newMod) return - - rerender({ child: newMod.value }) - }) -} -`, - ) + addFile(childFile, originalChildFileCode) editFile(parentFile, (code) => code.replace( "export const childValue = 'not-child'", @@ -875,6 +863,42 @@ if (import.meta.hot) { ) }) + test('deleted file should trigger dispose and prune callbacks', async () => { + await page.goto(viteTestUrl) + + const parentFile = 'file-delete-restore/parent.js' + const childFile = 'file-delete-restore/child.js' + + // delete the file + editFile(parentFile, (code) => + code.replace( + "export { value as childValue } from './child'", + "export const childValue = 'not-child'", + ), + ) + const originalChildFileCode = readFile(childFile) + removeFile(childFile) + await untilUpdated( + () => page.textContent('.file-delete-restore'), + 'parent:not-child', + ) + expect(browserLogs).to.include('file-delete-restore/child.js is disposed') + expect(browserLogs).to.include('file-delete-restore/child.js is pruned') + + // restore the file + addFile(childFile, originalChildFileCode) + editFile(parentFile, (code) => + code.replace( + "export const childValue = 'not-child'", + "export { value as childValue } from './child'", + ), + ) + await untilUpdated( + () => page.textContent('.file-delete-restore'), + 'parent:child', + ) + }) + test('import.meta.hot?.accept', async () => { const el = await page.$('.optional-chaining') await untilBrowserLogAfter( diff --git a/playground/hmr/file-delete-restore/child.js b/playground/hmr/file-delete-restore/child.js index 704c7d8c7e98cc..7031ef7db067c3 100644 --- a/playground/hmr/file-delete-restore/child.js +++ b/playground/hmr/file-delete-restore/child.js @@ -8,4 +8,12 @@ if (import.meta.hot) { rerender({ child: newMod.value }) }) + + import.meta.hot.dispose(() => { + console.log('file-delete-restore/child.js is disposed') + }) + + import.meta.hot.prune(() => { + console.log('file-delete-restore/child.js is pruned') + }) } From b10d1628d56a8105a5c3dd583bb0a3094ec8d30d Mon Sep 17 00:00:00 2001 From: Philipp Zerelles <66033561+pzerelles@users.noreply.github.com> Date: Tue, 12 Mar 2024 14:39:57 +0100 Subject: [PATCH 418/656] fix: encode URLs correctly (fix #15298) (#15311) Co-authored-by: bluwy --- docs/guide/build.md | 2 + packages/vite/src/node/build.ts | 15 ++++++-- packages/vite/src/node/plugins/asset.ts | 8 ++-- packages/vite/src/node/plugins/css.ts | 34 +++++++++-------- packages/vite/src/node/plugins/html.ts | 35 +++++++++++------- .../vite/src/node/plugins/importAnalysis.ts | 3 +- packages/vite/src/node/plugins/worker.ts | 2 +- packages/vite/src/node/utils.ts | 10 +++++ playground/assets/__tests__/assets.spec.ts | 4 +- playground/assets/index.html | 6 +-- ...\346\270\254\350\251\246-white space%.png" | Bin ...-\346\270\254\350\251\246-white space%.js" | 0 12 files changed, 77 insertions(+), 42 deletions(-) rename "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" => "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.png" (100%) rename "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" => "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.js" (100%) diff --git a/docs/guide/build.md b/docs/guide/build.md index a9c79c3d44c1f5..4da2ef514c1bfa 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -282,3 +282,5 @@ experimental: { } } ``` + +Note that the `filename` passed is a decoded URL, and if the function returns a URL string, it should also be decoded. Vite will handle the encoding automatically when rendering the URLs. If an object with `runtime` is returned, encoding should be handled yourself where needed as the runtime code will be rendered as is. diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index b093ecfb5e213a..7e37ac71ad1b6f 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -40,6 +40,7 @@ import { emptyDir, joinUrlSegments, normalizePath, + partialEncodeURI, requireResolveFromRootWithFallback, } from './utils' import { manifestPlugin } from './plugins/manifest' @@ -1092,7 +1093,7 @@ const getResolveUrl = (path: string, URL = 'URL') => `new ${URL}(${path}).href` const getRelativeUrlFromDocument = (relativePath: string, umd = false) => getResolveUrl( - `'${escapeId(relativePath)}', ${ + `'${escapeId(partialEncodeURI(relativePath))}', ${ umd ? `typeof document === 'undefined' ? location.href : ` : '' }document.currentScript && document.currentScript.src || document.baseURI`, ) @@ -1118,11 +1119,15 @@ const relativeUrlMechanisms: Record< relativePath, )} : ${getRelativeUrlFromDocument(relativePath)})`, es: (relativePath) => - getResolveUrl(`'${escapeId(relativePath)}', import.meta.url`), + getResolveUrl( + `'${escapeId(partialEncodeURI(relativePath))}', import.meta.url`, + ), iife: (relativePath) => getRelativeUrlFromDocument(relativePath), // NOTE: make sure rollup generate `module` params system: (relativePath) => - getResolveUrl(`'${escapeId(relativePath)}', module.meta.url`), + getResolveUrl( + `'${escapeId(partialEncodeURI(relativePath))}', module.meta.url`, + ), umd: (relativePath) => `(typeof document === 'undefined' && typeof location === 'undefined' ? ${getFileUrlFromRelativePath( relativePath, @@ -1133,7 +1138,9 @@ const relativeUrlMechanisms: Record< const customRelativeUrlMechanisms = { ...relativeUrlMechanisms, 'worker-iife': (relativePath) => - getResolveUrl(`'${escapeId(relativePath)}', self.location.href`), + getResolveUrl( + `'${escapeId(partialEncodeURI(relativePath))}', self.location.href`, + ), } as const satisfies Record string> export type RenderBuiltAssetUrl = ( diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index 9d6e3f9d1710d4..e867bd1ace2b80 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -100,7 +100,7 @@ export function renderAssetUrlInJS( ) const replacementString = typeof replacement === 'string' - ? JSON.stringify(replacement).slice(1, -1) + ? JSON.stringify(encodeURI(replacement)).slice(1, -1) : `"+${replacement.runtime}+"` s.update(match.index, match.index + full.length, replacementString) } @@ -123,7 +123,7 @@ export function renderAssetUrlInJS( ) const replacementString = typeof replacement === 'string' - ? JSON.stringify(replacement).slice(1, -1) + ? JSON.stringify(encodeURI(replacement)).slice(1, -1) : `"+${replacement.runtime}+"` s.update(match.index, match.index + full.length, replacementString) } @@ -206,7 +206,9 @@ export function assetPlugin(config: ResolvedConfig): Plugin { } return { - code: `export default ${JSON.stringify(url)}`, + code: `export default ${JSON.stringify( + url.startsWith('data:') ? url : encodeURI(url), + )}`, // Force rollup to keep this module from being shared between other entry points if it's an entrypoint. // If the resulting chunk is empty, it will be removed in generateBundle. moduleSideEffects: diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 102fdcea96f9c2..3375fa7415c439 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -593,13 +593,15 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { chunkCSS = chunkCSS.replace(assetUrlRE, (_, fileHash, postfix = '') => { const filename = this.getFileName(fileHash) + postfix chunk.viteMetadata!.importedAssets.add(cleanUrl(filename)) - return toOutputFilePathInCss( - filename, - 'asset', - cssAssetName, - 'css', - config, - toRelative, + return encodeURI( + toOutputFilePathInCss( + filename, + 'asset', + cssAssetName, + 'css', + config, + toRelative, + ), ) }) // resolve public URL from CSS paths @@ -610,13 +612,15 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { ) chunkCSS = chunkCSS.replace(publicAssetUrlRE, (_, hash) => { const publicUrl = publicAssetUrlMap.get(hash)!.slice(1) - return toOutputFilePathInCss( - publicUrl, - 'public', - cssAssetName, - 'css', - config, - () => `${relativePathToPublicFromCSS}/${publicUrl}`, + return encodeURI( + toOutputFilePathInCss( + publicUrl, + 'public', + cssAssetName, + 'css', + config, + () => `${relativePathToPublicFromCSS}/${publicUrl}`, + ), ) }) } @@ -711,7 +715,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { ) const replacementString = typeof replacement === 'string' - ? JSON.stringify(replacement).slice(1, -1) + ? JSON.stringify(encodeURI(replacement)).slice(1, -1) : `"+${replacement.runtime}+"` s.update(start, end, replacementString) } diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index eb7973296af86b..e6fa20303b82bb 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -18,6 +18,7 @@ import { isDataUrl, isExternalUrl, normalizePath, + partialEncodeURI, processSrcSet, removeLeadingSlash, urlCanParse, @@ -436,7 +437,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { overwriteAttrValue( s, sourceCodeLocation!, - toOutputPublicFilePath(url), + partialEncodeURI(toOutputPublicFilePath(url)), ) } @@ -488,22 +489,24 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { if (attrKey === 'srcset') { assetUrlsPromises.push( (async () => { - const processedUrl = await processSrcSet( + const processedEncodedUrl = await processSrcSet( p.value, async ({ url }) => { const decodedUrl = decodeURI(url) if (!isExcludedUrl(decodedUrl)) { const result = await processAssetUrl(url) - return result !== decodedUrl ? result : url + return result !== decodedUrl + ? encodeURI(result) + : url } return url }, ) - if (processedUrl !== p.value) { + if (processedEncodedUrl !== p.value) { overwriteAttrValue( s, getAttrSourceCodeLocation(node, attrKey), - processedUrl, + processedEncodedUrl, ) } })(), @@ -514,7 +517,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { overwriteAttrValue( s, getAttrSourceCodeLocation(node, attrKey), - toOutputPublicFilePath(url), + partialEncodeURI(toOutputPublicFilePath(url)), ) } else if (!isExcludedUrl(url)) { if ( @@ -560,7 +563,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { overwriteAttrValue( s, getAttrSourceCodeLocation(node, attrKey), - processedUrl, + partialEncodeURI(processedUrl), ) } })(), @@ -633,9 +636,13 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { // emit asset for (const { start, end, url } of scriptUrls) { if (checkPublicFile(url, config)) { - s.update(start, end, toOutputPublicFilePath(url)) + s.update(start, end, partialEncodeURI(toOutputPublicFilePath(url))) } else if (!isExcludedUrl(url)) { - s.update(start, end, await urlToBuiltUrl(url, id, config, this)) + s.update( + start, + end, + partialEncodeURI(await urlToBuiltUrl(url, id, config, this)), + ) } } @@ -897,7 +904,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { if (chunk) { chunk.viteMetadata!.importedAssets.add(cleanUrl(file)) } - return toOutputAssetFilePath(file) + postfix + return encodeURI(toOutputAssetFilePath(file)) + postfix }) result = result.replace(publicAssetUrlRE, (_, fileHash) => { @@ -905,9 +912,11 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { getPublicAssetFilename(fileHash, config)!, ) - return urlCanParse(publicAssetPath) - ? publicAssetPath - : normalizePath(publicAssetPath) + return encodeURI( + urlCanParse(publicAssetPath) + ? publicAssetPath + : normalizePath(publicAssetPath), + ) }) if (chunk && canInlineEntry) { diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 6b28636cc66bed..ba68db9fac407e 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -40,6 +40,7 @@ import { joinUrlSegments, moduleListContains, normalizePath, + partialEncodeURI, prettifyUrl, removeImportQuery, removeTimestampQuery, @@ -591,7 +592,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { rewriteDone = true } if (!rewriteDone) { - const rewrittenUrl = JSON.stringify(url) + const rewrittenUrl = JSON.stringify(partialEncodeURI(url)) const s = isDynamicImport ? start : start - 1 const e = isDynamicImport ? end : end + 1 str().overwrite(s, e, rewrittenUrl, { diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 22201fa8816cf8..0a200cdb71007d 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -411,7 +411,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { ) const replacementString = typeof replacement === 'string' - ? JSON.stringify(replacement).slice(1, -1) + ? JSON.stringify(encodeURI(replacement)).slice(1, -1) : `"+${replacement.runtime}+"` s.update(match.index, match.index + full.length, replacementString) } diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 7a682a6cfb3373..69f6cb0a91ab39 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -731,6 +731,8 @@ function joinSrcset(ret: ImageCandidate[]) { .join(', ') } +// NOTE: The returned `url` should perhaps be decoded so all handled URLs within Vite are consistently decoded. +// However, this may also require a refactor for `cssReplacer` to accept decoded URLs instead. function splitSrcSetDescriptor(srcs: string): ImageCandidate[] { return splitSrcSet(srcs) .map((s) => { @@ -1407,3 +1409,11 @@ export function displayTime(time: number): string { // display: {X}m {Y}s return `${mins}m${seconds < 1 ? '' : ` ${seconds.toFixed(0)}s`}` } + +/** + * Like `encodeURI`, but only replacing `%` as `%25`. This is useful for environments + * that can handle un-encoded URIs, where `%` is the only ambiguous character. + */ +export function partialEncodeURI(uri: string): string { + return uri.replaceAll('%', '%25') +} diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index 5933db4d76c08d..6fb337a9484bb6 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -369,11 +369,11 @@ test('?url import on css', async () => { describe('unicode url', () => { test('from js import', async () => { - const src = readFile('テスト-測試-white space.js') + const src = readFile('テスト-測試-white space%.js') expect(await page.textContent('.unicode-url')).toMatch( isBuild ? `data:text/javascript;base64,${Buffer.from(src).toString('base64')}` - : `/foo/bar/テスト-測試-white space.js`, + : encodeURI(`/foo/bar/テスト-測試-white space%.js`), ) }) }) diff --git a/playground/assets/index.html b/playground/assets/index.html index 7230c09c1d09ee..80fbf14be8bc59 100644 --- a/playground/assets/index.html +++ b/playground/assets/index.html @@ -135,7 +135,7 @@

    CSS url references

    Unicode URL

    - +

    Filename including single quote

    @@ -147,7 +147,7 @@

    encodeURI for the address

    @@ -442,7 +442,7 @@

    assets in noscript

    import fooUrl from './foo.js?url' text('.url', fooUrl) - import unicodeUrl from './テスト-測試-white space.js?url' + import unicodeUrl from './テスト-測試-white space%.js?url' text('.unicode-url', unicodeUrl) import filenameIncludingSingleQuoteUrl from "./nested/with-single'quote.png" diff --git "a/playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" "b/playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.png" similarity index 100% rename from "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" rename to "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.png" diff --git "a/playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" "b/playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.js" similarity index 100% rename from "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" rename to "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.js" From e030f4bfd1104703ea2ff825c8cb1b93a771cacc Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 12 Mar 2024 21:41:44 +0800 Subject: [PATCH 419/656] refactor: normalize cache package dir (#15546) --- packages/vite/src/node/packages.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/packages.ts b/packages/vite/src/node/packages.ts index c3504a0959b117..67b83eddfda8e9 100644 --- a/packages/vite/src/node/packages.ts +++ b/packages/vite/src/node/packages.ts @@ -4,6 +4,7 @@ import { createRequire } from 'node:module' import { createFilter, isInNodeModules, + normalizePath, safeRealpathSync, tryStatSync, } from './utils' @@ -44,7 +45,7 @@ function invalidatePackageData( packageCache: PackageCache, pkgPath: string, ): void { - const pkgDir = path.dirname(pkgPath) + const pkgDir = normalizePath(path.dirname(pkgPath)) packageCache.forEach((pkg, cacheKey) => { if (pkg.dir === pkgDir) { packageCache.delete(cacheKey) @@ -169,7 +170,7 @@ export function findNearestMainPackageData( export function loadPackageData(pkgPath: string): PackageData { const data = JSON.parse(fs.readFileSync(pkgPath, 'utf-8')) - const pkgDir = path.dirname(pkgPath) + const pkgDir = normalizePath(path.dirname(pkgPath)) const { sideEffects } = data let hasSideEffects: (id: string) => boolean | null if (typeof sideEffects === 'boolean') { From 8e54af67dbe5f94b57c65caea707341dcdca7828 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Tue, 12 Mar 2024 23:14:51 +0900 Subject: [PATCH 420/656] fix(ssr): apply alias to resolvable dependencies during dev (#15602) --- .../vite/src/node/plugins/importAnalysis.ts | 4 +++- packages/vite/src/node/plugins/preAlias.ts | 8 ++++++++ .../ssr-alias/__tests__/ssr-alias.spec.ts | 20 +++++++++++++++++++ playground/ssr-alias/alias-original/index.js | 1 + .../ssr-alias/alias-original/package.json | 9 +++++++++ playground/ssr-alias/package.json | 12 +++++++++++ playground/ssr-alias/src/alias-process.js | 3 +++ playground/ssr-alias/src/alias-replaced.js | 1 + playground/ssr-alias/src/main.js | 9 +++++++++ playground/ssr-alias/vite.config.js | 14 +++++++++++++ pnpm-lock.yaml | 13 ++++++++++++ 11 files changed, 93 insertions(+), 1 deletion(-) create mode 100644 playground/ssr-alias/__tests__/ssr-alias.spec.ts create mode 100644 playground/ssr-alias/alias-original/index.js create mode 100644 playground/ssr-alias/alias-original/package.json create mode 100644 playground/ssr-alias/package.json create mode 100644 playground/ssr-alias/src/alias-process.js create mode 100644 playground/ssr-alias/src/alias-replaced.js create mode 100644 playground/ssr-alias/src/main.js create mode 100644 playground/ssr-alias/vite.config.js diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index ba68db9fac407e..db8256ec3d9bbb 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -68,6 +68,7 @@ import { isCSSRequest, isDirectCSSRequest } from './css' import { browserExternalId } from './resolve' import { serializeDefine } from './define' import { WORKER_FILE_ID } from './worker' +import { getAliasPatternMatcher } from './preAlias' const debug = createDebugger('vite:import-analysis') @@ -172,6 +173,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { const fsUtils = getFsUtils(config) const clientPublicPath = path.posix.join(base, CLIENT_PUBLIC_PATH) const enablePartialAccept = config.experimental?.hmrPartialAccept + const matchAlias = getAliasPatternMatcher(config.resolve.alias) let server: ViteDevServer let _env: string | undefined @@ -487,7 +489,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { return } // skip ssr external - if (ssr) { + if (ssr && !matchAlias(specifier)) { if (shouldExternalizeForSSR(specifier, importer, config)) { return } diff --git a/packages/vite/src/node/plugins/preAlias.ts b/packages/vite/src/node/plugins/preAlias.ts index e88173061de122..eaefdb7e6eb65d 100644 --- a/packages/vite/src/node/plugins/preAlias.ts +++ b/packages/vite/src/node/plugins/preAlias.ts @@ -128,3 +128,11 @@ function getAliasPatterns( } return Object.entries(entries).map(([find]) => find) } + +export function getAliasPatternMatcher( + entries: (AliasOptions | undefined) & Alias[], +): (importee: string) => boolean { + const patterns = getAliasPatterns(entries) + return (importee: string) => + patterns.some((pattern) => matches(pattern, importee)) +} diff --git a/playground/ssr-alias/__tests__/ssr-alias.spec.ts b/playground/ssr-alias/__tests__/ssr-alias.spec.ts new file mode 100644 index 00000000000000..93001865ce84e5 --- /dev/null +++ b/playground/ssr-alias/__tests__/ssr-alias.spec.ts @@ -0,0 +1,20 @@ +import { expect, test } from 'vitest' +import { isServe, testDir, viteServer } from '~utils' + +test.runIf(isServe)('dev', async () => { + const mod = await viteServer.ssrLoadModule('/src/main.js') + expect(mod.default).toEqual({ + dep: 'ok', + nonDep: 'ok', + builtin: 'ok', + }) +}) + +test.runIf(!isServe)('build', async () => { + const mod = await import(`${testDir}/dist/main.js`) + expect(mod.default).toEqual({ + dep: 'ok', + nonDep: 'ok', + builtin: 'ok', + }) +}) diff --git a/playground/ssr-alias/alias-original/index.js b/playground/ssr-alias/alias-original/index.js new file mode 100644 index 00000000000000..cc9a88ac598de3 --- /dev/null +++ b/playground/ssr-alias/alias-original/index.js @@ -0,0 +1 @@ +export default 'original' diff --git a/playground/ssr-alias/alias-original/package.json b/playground/ssr-alias/alias-original/package.json new file mode 100644 index 00000000000000..a8a86b500b90fa --- /dev/null +++ b/playground/ssr-alias/alias-original/package.json @@ -0,0 +1,9 @@ +{ + "name": "@vitejs/test-alias-original", + "version": "0.0.0", + "private": true, + "type": "module", + "exports": { + ".": "./index.js" + } +} diff --git a/playground/ssr-alias/package.json b/playground/ssr-alias/package.json new file mode 100644 index 00000000000000..f765f8ac70d60b --- /dev/null +++ b/playground/ssr-alias/package.json @@ -0,0 +1,12 @@ +{ + "name": "@vitejs/test-ssr-html", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "build": "vite build" + }, + "dependencies": { + "@vitejs/test-alias-original": "file:./alias-original" + } +} diff --git a/playground/ssr-alias/src/alias-process.js b/playground/ssr-alias/src/alias-process.js new file mode 100644 index 00000000000000..9cd9e7ddeb637d --- /dev/null +++ b/playground/ssr-alias/src/alias-process.js @@ -0,0 +1,3 @@ +export default { + env: { __TEST_ALIAS__: 'ok' }, +} diff --git a/playground/ssr-alias/src/alias-replaced.js b/playground/ssr-alias/src/alias-replaced.js new file mode 100644 index 00000000000000..60c71f346d9a3e --- /dev/null +++ b/playground/ssr-alias/src/alias-replaced.js @@ -0,0 +1 @@ +export default 'ok' diff --git a/playground/ssr-alias/src/main.js b/playground/ssr-alias/src/main.js new file mode 100644 index 00000000000000..14ded7d14b17ff --- /dev/null +++ b/playground/ssr-alias/src/main.js @@ -0,0 +1,9 @@ +import process from 'node:process' +import dep from '@vitejs/test-alias-original' +import nonDep from '@vitejs/test-alias-non-dep' + +export default { + dep, + nonDep, + builtin: process.env['__TEST_ALIAS__'], +} diff --git a/playground/ssr-alias/vite.config.js b/playground/ssr-alias/vite.config.js new file mode 100644 index 00000000000000..deb71aee5714a9 --- /dev/null +++ b/playground/ssr-alias/vite.config.js @@ -0,0 +1,14 @@ +import { defineConfig } from 'vite' + +export default defineConfig({ + build: { + ssr: './src/main.js', + }, + resolve: { + alias: { + '@vitejs/test-alias-original': '/src/alias-replaced.js', + '@vitejs/test-alias-non-dep': '/src/alias-replaced.js', + 'node:process': '/src/alias-process.js', + }, + }, +}) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4618dc8020f375..e8b218fc562649 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1263,6 +1263,14 @@ importers: specifier: ^4.18.3 version: 4.18.3 + playground/ssr-alias: + dependencies: + '@vitejs/test-alias-original': + specifier: file:./alias-original + version: file:playground/ssr-alias/alias-original + + playground/ssr-alias/alias-original: {} + playground/ssr-conditions: dependencies: '@vitejs/test-ssr-conditions-external': @@ -9990,6 +9998,11 @@ packages: dep-a: file:playground/preload/dep-a dev: true + file:playground/ssr-alias/alias-original: + resolution: {directory: playground/ssr-alias/alias-original, type: directory} + name: '@vitejs/test-alias-original' + dev: false + file:playground/ssr-conditions/external: resolution: {directory: playground/ssr-conditions/external, type: directory} name: '@vitejs/test-ssr-conditions-external' From 74dc73a5705294a886d55060867601cee0ecfeb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 12 Mar 2024 23:15:37 +0900 Subject: [PATCH 421/656] feat(ssr): `import.meta.filename`/`dirname` support (#15887) --- .../node/ssr/__tests__/fixtures/modules/import-meta.js | 2 ++ .../vite/src/node/ssr/__tests__/ssrLoadModule.spec.ts | 10 ++++++++++ packages/vite/src/node/ssr/ssrModuleLoader.ts | 6 ++++++ 3 files changed, 18 insertions(+) create mode 100644 packages/vite/src/node/ssr/__tests__/fixtures/modules/import-meta.js diff --git a/packages/vite/src/node/ssr/__tests__/fixtures/modules/import-meta.js b/packages/vite/src/node/ssr/__tests__/fixtures/modules/import-meta.js new file mode 100644 index 00000000000000..cdaa5035d7ef4e --- /dev/null +++ b/packages/vite/src/node/ssr/__tests__/fixtures/modules/import-meta.js @@ -0,0 +1,2 @@ +export const dirname = import.meta.dirname +export const filename = import.meta.filename diff --git a/packages/vite/src/node/ssr/__tests__/ssrLoadModule.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrLoadModule.spec.ts index 192b0b8cd3326f..b3f3c2364ef04b 100644 --- a/packages/vite/src/node/ssr/__tests__/ssrLoadModule.spec.ts +++ b/packages/vite/src/node/ssr/__tests__/ssrLoadModule.spec.ts @@ -52,3 +52,13 @@ test('error has same instance', async () => { expect(e[s]).toBe(true) } }) + +test('import.meta.filename/dirname returns same value with Node', async () => { + const server = await createDevServer() + const moduleRelativePath = '/fixtures/modules/import-meta.js' + const filename = path.resolve(root, '.' + moduleRelativePath) + + const viteValue = await server.ssrLoadModule(moduleRelativePath) + expect(viteValue.dirname).toBe(path.dirname(filename)) + expect(viteValue.filename).toBe(filename) +}) diff --git a/packages/vite/src/node/ssr/ssrModuleLoader.ts b/packages/vite/src/node/ssr/ssrModuleLoader.ts index 49428987956904..186922ff84c40b 100644 --- a/packages/vite/src/node/ssr/ssrModuleLoader.ts +++ b/packages/vite/src/node/ssr/ssrModuleLoader.ts @@ -10,6 +10,7 @@ import { genSourceMapUrl } from '../server/sourcemap' import { AsyncFunction, asyncFunctionDeclarationPaddingLineCount, + isWindows, unwrapId, } from '../../shared/utils' import { @@ -112,7 +113,12 @@ async function instantiateModule( // referenced before it's been instantiated. mod.ssrModule = ssrModule + // replace '/' with '\\' on Windows to match Node.js + const osNormalizedFilename = isWindows ? path.resolve(mod.file!) : mod.file! + const ssrImportMeta = { + dirname: path.dirname(osNormalizedFilename), + filename: osNormalizedFilename, // The filesystem URL, matching native Node.js modules url: pathToFileURL(mod.file!).toString(), } From 2f95c2bd9e95b6d005f53ede25163dfd6ea546d6 Mon Sep 17 00:00:00 2001 From: moui0 <69300707+moui0@users.noreply.github.com> Date: Tue, 12 Mar 2024 22:43:56 +0800 Subject: [PATCH 422/656] chore(deps): bump rollup to 4.13.0 (#15295) --- package.json | 2 +- packages/vite/package.json | 2 +- .../__tests__/js-sourcemap.spec.ts | 2 +- pnpm-lock.yaml | 229 +++++++++--------- 4 files changed, 122 insertions(+), 113 deletions(-) diff --git a/package.json b/package.json index af5992d5b01400..f7c32b7066ffe6 100644 --- a/package.json +++ b/package.json @@ -77,7 +77,7 @@ "playwright-chromium": "^1.42.1", "prettier": "3.2.5", "rimraf": "^5.0.5", - "rollup": "^4.2.0", + "rollup": "^4.13.0", "semver": "^7.6.0", "simple-git-hooks": "^2.10.0", "tslib": "^2.6.2", diff --git a/packages/vite/package.json b/packages/vite/package.json index 17006517bb3930..1e7166bc84a61b 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -87,7 +87,7 @@ "dependencies": { "esbuild": "^0.20.1", "postcss": "^8.4.35", - "rollup": "^4.2.0" + "rollup": "^4.13.0" }, "optionalDependencies": { "fsevents": "~2.3.3" diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index cf8b0555e2f2f4..145e1f0b35b5ab 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -134,7 +134,7 @@ describe.runIf(isBuild)('build tests', () => { }) test('sourcemap is correct when preload information is injected', async () => { - const map = findAssetFile(/after-preload-dynamic.*\.js\.map/) + const map = findAssetFile(/after-preload-dynamic-[-\w]{8}\.js\.map/) expect(formatSourcemapForSnapshot(JSON.parse(map))).toMatchInlineSnapshot(` { "ignoreList": [], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8b218fc562649..421f405d232e43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,7 +32,7 @@ importers: version: 7.0.2 '@rollup/plugin-typescript': specifier: ^11.1.6 - version: 11.1.6(rollup@4.2.0)(tslib@2.6.2)(typescript@5.2.2) + version: 11.1.6(rollup@4.13.0)(tslib@2.6.2)(typescript@5.2.2) '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -136,8 +136,8 @@ importers: specifier: ^5.0.5 version: 5.0.5 rollup: - specifier: ^4.2.0 - version: 4.2.0 + specifier: ^4.13.0 + version: 4.13.0 semver: specifier: ^7.6.0 version: 7.6.0 @@ -239,8 +239,8 @@ importers: specifier: ^8.4.35 version: 8.4.35 rollup: - specifier: ^4.2.0 - version: 4.2.0 + specifier: ^4.13.0 + version: 4.13.0 optionalDependencies: fsevents: specifier: ~2.3.3 @@ -260,25 +260,25 @@ importers: version: 1.0.0-next.25 '@rollup/plugin-alias': specifier: ^5.1.0 - version: 5.1.0(rollup@4.2.0) + version: 5.1.0(rollup@4.13.0) '@rollup/plugin-commonjs': specifier: ^25.0.7 - version: 25.0.7(rollup@4.2.0) + version: 25.0.7(rollup@4.13.0) '@rollup/plugin-dynamic-import-vars': specifier: ^2.1.2 - version: 2.1.2(rollup@4.2.0) + version: 2.1.2(rollup@4.13.0) '@rollup/plugin-json': specifier: ^6.1.0 - version: 6.1.0(rollup@4.2.0) + version: 6.1.0(rollup@4.13.0) '@rollup/plugin-node-resolve': specifier: 15.2.3 - version: 15.2.3(rollup@4.2.0) + version: 15.2.3(rollup@4.13.0) '@rollup/plugin-typescript': specifier: ^11.1.6 - version: 11.1.6(rollup@4.2.0)(tslib@2.6.2)(typescript@5.2.2) + version: 11.1.6(rollup@4.13.0)(tslib@2.6.2)(typescript@5.2.2) '@rollup/pluginutils': specifier: ^5.1.0 - version: 5.1.0(rollup@4.2.0) + version: 5.1.0(rollup@4.13.0) '@types/escape-html': specifier: ^1.0.4 version: 1.0.4 @@ -392,13 +392,13 @@ importers: version: 2.0.2 rollup-plugin-dts: specifier: ^6.1.0 - version: 6.1.0(rollup@4.2.0)(typescript@5.2.2) + version: 6.1.0(rollup@4.13.0)(typescript@5.2.2) rollup-plugin-esbuild: specifier: ^6.1.1 - version: 6.1.1(esbuild@0.20.1)(rollup@4.2.0) + version: 6.1.1(esbuild@0.20.1)(rollup@4.13.0) rollup-plugin-license: specifier: ^3.3.1 - version: 3.3.1(rollup@4.2.0) + version: 3.3.1(rollup@4.13.0) sirv: specifier: ^2.0.4 version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) @@ -3746,7 +3746,7 @@ packages: resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} dev: true - /@rollup/plugin-alias@5.0.0(rollup@3.29.2): + /@rollup/plugin-alias@5.0.0(rollup@3.29.4): resolution: {integrity: sha512-l9hY5chSCjuFRPsnRm16twWBiSApl2uYFLsepQYwtBuAxNMQ/1dJqADld40P0Jkqm65GRTLy/AC6hnpVebtLsA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3755,11 +3755,11 @@ packages: rollup: optional: true dependencies: - rollup: 3.29.2 + rollup: 3.29.4 slash: 4.0.0 dev: true - /@rollup/plugin-alias@5.1.0(rollup@4.2.0): + /@rollup/plugin-alias@5.1.0(rollup@4.13.0): resolution: {integrity: sha512-lpA3RZ9PdIG7qqhEfv79tBffNaoDuukFDrmhLqg9ifv99u/ehn+lOg30x2zmhf8AQqQUZaMk/B9fZraQ6/acDQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3768,11 +3768,11 @@ packages: rollup: optional: true dependencies: - rollup: 4.2.0 + rollup: 4.13.0 slash: 4.0.0 dev: true - /@rollup/plugin-commonjs@25.0.4(rollup@3.29.2): + /@rollup/plugin-commonjs@25.0.4(rollup@3.29.4): resolution: {integrity: sha512-L92Vz9WUZXDnlQQl3EwbypJR4+DM2EbsO+/KOcEkP4Mc6Ct453EeDB2uH9lgRwj4w5yflgNpq9pHOiY8aoUXBQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3781,16 +3781,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.2) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.27.0 - rollup: 3.29.2 + rollup: 3.29.4 dev: true - /@rollup/plugin-commonjs@25.0.7(rollup@4.2.0): + /@rollup/plugin-commonjs@25.0.7(rollup@4.13.0): resolution: {integrity: sha512-nEvcR+LRjEjsaSsc4x3XZfCCvZIaSMenZu/OiwOKGN2UhQpAYI7ru7czFvyWbErlpoGjnSX3D5Ch5FcMA3kRWQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3799,16 +3799,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.2.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) commondir: 1.0.1 estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 magic-string: 0.30.8 - rollup: 4.2.0 + rollup: 4.13.0 dev: true - /@rollup/plugin-dynamic-import-vars@2.1.2(rollup@4.2.0): + /@rollup/plugin-dynamic-import-vars@2.1.2(rollup@4.13.0): resolution: {integrity: sha512-4lr2oXxs9hcxtGGaK8s0i9evfjzDrAs7ngw28TqruWKTEm0+U4Eljb+F6HXGYdFv8xRojQlrQwV7M/yxeh3yzQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3817,15 +3817,15 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.2.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) astring: 1.8.6 estree-walker: 2.0.2 fast-glob: 3.3.2 magic-string: 0.30.8 - rollup: 4.2.0 + rollup: 4.13.0 dev: true - /@rollup/plugin-json@6.0.0(rollup@3.29.2): + /@rollup/plugin-json@6.0.0(rollup@3.29.4): resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3834,11 +3834,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.2) - rollup: 3.29.2 + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) + rollup: 3.29.4 dev: true - /@rollup/plugin-json@6.1.0(rollup@4.2.0): + /@rollup/plugin-json@6.1.0(rollup@4.13.0): resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3847,11 +3847,11 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.2.0) - rollup: 4.2.0 + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) + rollup: 4.13.0 dev: true - /@rollup/plugin-node-resolve@15.2.1(rollup@3.29.2): + /@rollup/plugin-node-resolve@15.2.1(rollup@3.29.4): resolution: {integrity: sha512-nsbUg588+GDSu8/NS8T4UAshO6xeaOfINNuXeVHcKV02LJtoRaM1SiOacClw4kws1SFiNhdLGxlbMY9ga/zs/w==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3860,16 +3860,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.2) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.4 - rollup: 3.29.2 + rollup: 3.29.4 dev: true - /@rollup/plugin-node-resolve@15.2.3(rollup@4.2.0): + /@rollup/plugin-node-resolve@15.2.3(rollup@4.13.0): resolution: {integrity: sha512-j/lym8nf5E21LwBT4Df1VD6hRO2L2iwUeUmP7litikRsVp1H6NWx20NEp0Y7su+7XGc476GnXXc4kFeZNGmaSQ==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3878,16 +3878,16 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.2.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) '@types/resolve': 1.20.2 deepmerge: 4.2.2 is-builtin-module: 3.2.1 is-module: 1.0.0 resolve: 1.22.4 - rollup: 4.2.0 + rollup: 4.13.0 dev: true - /@rollup/plugin-replace@5.0.2(rollup@3.29.2): + /@rollup/plugin-replace@5.0.2(rollup@3.29.4): resolution: {integrity: sha512-M9YXNekv/C/iHHK+cvORzfRYfPbq0RDD8r0G+bMiTXjNGKulPnCT9O3Ss46WfhI6ZOCgApOP7xAdmCQJ+U2LAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3896,12 +3896,12 @@ packages: rollup: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@3.29.2) + '@rollup/pluginutils': 5.1.0(rollup@3.29.4) magic-string: 0.27.0 - rollup: 3.29.2 + rollup: 3.29.4 dev: true - /@rollup/plugin-typescript@11.1.6(rollup@4.2.0)(tslib@2.6.2)(typescript@5.2.2): + /@rollup/plugin-typescript@11.1.6(rollup@4.13.0)(tslib@2.6.2)(typescript@5.2.2): resolution: {integrity: sha512-R92yOmIACgYdJ7dJ97p4K69I8gg6IEHt8M7dUBxN3W6nrO8uUxX5ixl0yU/N3aZTi8WhPuICvOHXQvF6FaykAA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3914,14 +3914,14 @@ packages: tslib: optional: true dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.2.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) resolve: 1.22.4 - rollup: 4.2.0 + rollup: 4.13.0 tslib: 2.6.2 typescript: 5.2.2 dev: true - /@rollup/pluginutils@5.0.4(rollup@3.29.2): + /@rollup/pluginutils@5.0.4(rollup@3.29.4): resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3933,10 +3933,10 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.29.2 + rollup: 3.29.4 dev: true - /@rollup/pluginutils@5.1.0(rollup@3.29.2): + /@rollup/pluginutils@5.1.0(rollup@3.29.4): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3948,10 +3948,10 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 3.29.2 + rollup: 3.29.4 dev: true - /@rollup/pluginutils@5.1.0(rollup@4.2.0): + /@rollup/pluginutils@5.1.0(rollup@4.13.0): resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3963,88 +3963,95 @@ packages: '@types/estree': 1.0.5 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 4.2.0 + rollup: 4.13.0 dev: true - /@rollup/rollup-android-arm-eabi@4.2.0: - resolution: {integrity: sha512-8PlggAxGxavr+pkCNeV1TM2wTb2o+cUWDg9M1cm9nR27Dsn287uZtSLYXoQqQcmq+sYfF7lHfd3sWJJinH9GmA==} + /@rollup/rollup-android-arm-eabi@4.13.0: + resolution: {integrity: sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==} cpu: [arm] os: [android] requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.2.0: - resolution: {integrity: sha512-+71T85hbMFrJI+zKQULNmSYBeIhru55PYoF/u75MyeN2FcxE4HSPw20319b+FcZ4lWx2Nx/Ql9tN+hoaD3GH/A==} + /@rollup/rollup-android-arm64@4.13.0: + resolution: {integrity: sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==} cpu: [arm64] os: [android] requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.2.0: - resolution: {integrity: sha512-IIIQLuG43QIElT1JZqUP/zqIdiJl4t9U/boa0GZnQTw9m1X0k3mlBuysbgYXeloLT1RozdL7bgw4lpSaI8GOXw==} + /@rollup/rollup-darwin-arm64@4.13.0: + resolution: {integrity: sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==} cpu: [arm64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.2.0: - resolution: {integrity: sha512-BXcXvnLaea1Xz900omrGJhxHFJfH9jZ0CpJuVsbjjhpniJ6qiLXz3xA8Lekaa4MuhFcJd4f0r+Ky1G4VFbYhWw==} + /@rollup/rollup-darwin-x64@4.13.0: + resolution: {integrity: sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==} cpu: [x64] os: [darwin] requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.2.0: - resolution: {integrity: sha512-f4K3MKw9Y4AKi4ANGnmPIglr+S+8tO858YrGVuqAHXxJdVghBmz9CPU9kDpOnGvT4g4vg5uNyIFpOOFvffXyMA==} + /@rollup/rollup-linux-arm-gnueabihf@4.13.0: + resolution: {integrity: sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==} cpu: [arm] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.2.0: - resolution: {integrity: sha512-bNsTYQBgp4H7w6cT7FZhesxpcUPahsSIy4NgdZjH1ZwEoZHxi4XKglj+CsSEkhsKi+x6toVvMylhjRKhEMYfnA==} + /@rollup/rollup-linux-arm64-gnu@4.13.0: + resolution: {integrity: sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.2.0: - resolution: {integrity: sha512-Jp1NxBJpGLuxRU2ihrQk4IZ+ia5nffobG6sOFUPW5PMYkF0kQtxEbeDuCa69Xif211vUOcxlOnf5IOEIpTEySA==} + /@rollup/rollup-linux-arm64-musl@4.13.0: + resolution: {integrity: sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==} cpu: [arm64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-gnu@4.2.0: - resolution: {integrity: sha512-3p3iRtQmv2aXw+vtKNyZMLOQ+LSRsqArXjKAh2Oj9cqwfIRe7OXvdkOzWfZOIp1F/x5KJzVAxGxnniF4cMbnsQ==} + /@rollup/rollup-linux-riscv64-gnu@4.13.0: + resolution: {integrity: sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.0: + resolution: {integrity: sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.2.0: - resolution: {integrity: sha512-atih7IF/reUZe4LBLC5Izd44hth2tfDIG8LaPp4/cQXdHh9jabcZEvIeRPrpDq0i/Uu487Qu5gl5KwyAnWajnw==} + /@rollup/rollup-linux-x64-musl@4.13.0: + resolution: {integrity: sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==} cpu: [x64] os: [linux] requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.2.0: - resolution: {integrity: sha512-vYxF3tKJeUE4ceYzpNe2p84RXk/fGK30I8frpRfv/MyPStej/mRlojztkN7Jtd1014HHVeq/tYaMBz/3IxkxZw==} + /@rollup/rollup-win32-arm64-msvc@4.13.0: + resolution: {integrity: sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==} cpu: [arm64] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.2.0: - resolution: {integrity: sha512-1LZJ6zpl93SaPQvas618bMFarVwufWTaczH4ESAbFcwiC4OtznA6Ym+hFPyIGaJaGEB8uMWWac0uXGPXOg5FGA==} + /@rollup/rollup-win32-ia32-msvc@4.13.0: + resolution: {integrity: sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==} cpu: [ia32] os: [win32] requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.2.0: - resolution: {integrity: sha512-dgQfFdHCNg08nM5zBmqxqc9vrm0DVzhWotpavbPa0j4//MAOKZEB75yGAfzQE9fUJ+4pvM1239Y4IhL8f6sSog==} + /@rollup/rollup-win32-x64-msvc@4.13.0: + resolution: {integrity: sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==} cpu: [x64] os: [win32] requiresBuild: true @@ -4143,7 +4150,6 @@ packages: /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} @@ -8486,7 +8492,7 @@ packages: glob: 10.3.10 dev: true - /rollup-plugin-dts@6.0.2(rollup@3.29.2)(typescript@5.2.2): + /rollup-plugin-dts@6.0.2(rollup@3.29.4)(typescript@5.2.2): resolution: {integrity: sha512-GYCCy9DyE5csSuUObktJBpjNpW2iLZMabNDIiAqzQWBl7l/WHzjvtAXevf8Lftk8EA920tuxeB/g8dM8MVMR6A==} engines: {node: '>=v16'} peerDependencies: @@ -8494,13 +8500,13 @@ packages: typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 3.29.2 + rollup: 3.29.4 typescript: 5.2.2 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true - /rollup-plugin-dts@6.1.0(rollup@4.2.0)(typescript@5.2.2): + /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.2.2): resolution: {integrity: sha512-ijSCPICkRMDKDLBK9torss07+8dl9UpY9z1N/zTeA1cIqdzMlpkV3MOOC7zukyvQfDyxa1s3Dl2+DeiP/G6DOw==} engines: {node: '>=16'} peerDependencies: @@ -8508,30 +8514,30 @@ packages: typescript: ^4.5 || ^5.0 dependencies: magic-string: 0.30.8 - rollup: 4.2.0 + rollup: 4.13.0 typescript: 5.2.2 optionalDependencies: '@babel/code-frame': 7.23.5 dev: true - /rollup-plugin-esbuild@6.1.1(esbuild@0.20.1)(rollup@4.2.0): + /rollup-plugin-esbuild@6.1.1(esbuild@0.20.1)(rollup@4.13.0): resolution: {integrity: sha512-CehMY9FAqJD5OUaE/Mi1r5z0kNeYxItmRO2zG4Qnv2qWKF09J2lTy5GUzjJR354ZPrLkCj4fiBN41lo8PzBUhw==} engines: {node: '>=14.18.0'} peerDependencies: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 dependencies: - '@rollup/pluginutils': 5.1.0(rollup@4.2.0) + '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.4 es-module-lexer: 1.4.1 esbuild: 0.20.1 get-tsconfig: 4.7.2 - rollup: 4.2.0 + rollup: 4.13.0 transitivePeerDependencies: - supports-color dev: true - /rollup-plugin-license@3.3.1(rollup@4.2.0): + /rollup-plugin-license@3.3.1(rollup@4.13.0): resolution: {integrity: sha512-lwZ/J8QgSnP0unVOH2FQuOBkeiyp0EBvrbYdNU33lOaYD8xP9Zoki+PGoWMD31EUq8Q07GGocSABTYlWMKkwuw==} engines: {node: '>=14.0.0'} peerDependencies: @@ -8544,36 +8550,39 @@ packages: mkdirp: 3.0.1 moment: 2.30.1 package-name-regex: 2.0.6 - rollup: 4.2.0 + rollup: 4.13.0 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 dev: true - /rollup@3.29.2: - resolution: {integrity: sha512-CJouHoZ27v6siztc21eEQGo0kIcE5D1gVPA571ez0mMYb25LGYGKnVNXpEj5MGlepmDWGXNjDB5q7uNiPHC11A==} + /rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: fsevents: 2.3.3 dev: true - /rollup@4.2.0: - resolution: {integrity: sha512-deaMa9Z+jPVeBD2dKXv+h7EbdKte9++V2potc/ADqvVgEr6DEJ3ia9u0joarjC2lX/ubaCRYz3QVx0TzuVqAJA==} + /rollup@4.13.0: + resolution: {integrity: sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true + dependencies: + '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.2.0 - '@rollup/rollup-android-arm64': 4.2.0 - '@rollup/rollup-darwin-arm64': 4.2.0 - '@rollup/rollup-darwin-x64': 4.2.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.2.0 - '@rollup/rollup-linux-arm64-gnu': 4.2.0 - '@rollup/rollup-linux-arm64-musl': 4.2.0 - '@rollup/rollup-linux-x64-gnu': 4.2.0 - '@rollup/rollup-linux-x64-musl': 4.2.0 - '@rollup/rollup-win32-arm64-msvc': 4.2.0 - '@rollup/rollup-win32-ia32-msvc': 4.2.0 - '@rollup/rollup-win32-x64-msvc': 4.2.0 + '@rollup/rollup-android-arm-eabi': 4.13.0 + '@rollup/rollup-android-arm64': 4.13.0 + '@rollup/rollup-darwin-arm64': 4.13.0 + '@rollup/rollup-darwin-x64': 4.13.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.0 + '@rollup/rollup-linux-arm64-gnu': 4.13.0 + '@rollup/rollup-linux-arm64-musl': 4.13.0 + '@rollup/rollup-linux-riscv64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-gnu': 4.13.0 + '@rollup/rollup-linux-x64-musl': 4.13.0 + '@rollup/rollup-win32-arm64-msvc': 4.13.0 + '@rollup/rollup-win32-ia32-msvc': 4.13.0 + '@rollup/rollup-win32-x64-msvc': 4.13.0 fsevents: 2.3.3 /run-parallel@1.2.0: @@ -9292,12 +9301,12 @@ packages: typescript: optional: true dependencies: - '@rollup/plugin-alias': 5.0.0(rollup@3.29.2) - '@rollup/plugin-commonjs': 25.0.4(rollup@3.29.2) - '@rollup/plugin-json': 6.0.0(rollup@3.29.2) - '@rollup/plugin-node-resolve': 15.2.1(rollup@3.29.2) - '@rollup/plugin-replace': 5.0.2(rollup@3.29.2) - '@rollup/pluginutils': 5.0.4(rollup@3.29.2) + '@rollup/plugin-alias': 5.0.0(rollup@3.29.4) + '@rollup/plugin-commonjs': 25.0.4(rollup@3.29.4) + '@rollup/plugin-json': 6.0.0(rollup@3.29.4) + '@rollup/plugin-node-resolve': 15.2.1(rollup@3.29.4) + '@rollup/plugin-replace': 5.0.2(rollup@3.29.4) + '@rollup/pluginutils': 5.0.4(rollup@3.29.4) chalk: 5.3.0 citty: 0.1.4 consola: 3.2.3 @@ -9312,8 +9321,8 @@ packages: pathe: 1.1.2 pkg-types: 1.0.3 pretty-bytes: 6.1.1 - rollup: 3.29.2 - rollup-plugin-dts: 6.0.2(rollup@3.29.2)(typescript@5.2.2) + rollup: 3.29.4 + rollup-plugin-dts: 6.0.2(rollup@3.29.4)(typescript@5.2.2) scule: 1.0.0 typescript: 5.2.2 untyped: 1.4.0 From d82e8b1c5bb1624b489caaf89ccae8c487d476ca Mon Sep 17 00:00:00 2001 From: bluwy Date: Tue, 12 Mar 2024 23:41:33 +0800 Subject: [PATCH 423/656] release: v5.2.0-beta.0 --- packages/vite/CHANGELOG.md | 22 ++++++++++++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 7f09fe0a4ea64f..941a974cbb8d39 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,25 @@ +## 5.2.0-beta.0 (2024-03-12) + +* chore: use `@polka/compression` (#16146) ([592c95a](https://github.com/vitejs/vite/commit/592c95a)), closes [#16146](https://github.com/vitejs/vite/issues/16146) +* chore(deps): bump rollup to 4.13.0 (#15295) ([2f95c2b](https://github.com/vitejs/vite/commit/2f95c2b)), closes [#15295](https://github.com/vitejs/vite/issues/15295) +* feat: accept assets to be specified as input (#16087) ([75a9fc6](https://github.com/vitejs/vite/commit/75a9fc6)), closes [#16087](https://github.com/vitejs/vite/issues/16087) +* feat: add entry name to manifest (#15849) ([6d6ae10](https://github.com/vitejs/vite/commit/6d6ae10)), closes [#15849](https://github.com/vitejs/vite/issues/15849) +* feat: convert overlay template to DOM (#15852) ([dd49505](https://github.com/vitejs/vite/commit/dd49505)), closes [#15852](https://github.com/vitejs/vite/issues/15852) +* feat: support for self-referencing (#16068) ([03b9674](https://github.com/vitejs/vite/commit/03b9674)), closes [#16068](https://github.com/vitejs/vite/issues/16068) +* feat(config): `import.meta.filename`/`dirname` support (#15888) ([3efb1a1](https://github.com/vitejs/vite/commit/3efb1a1)), closes [#15888](https://github.com/vitejs/vite/issues/15888) +* feat(resolve): auto externalize node builtins for `noExternal: true` in node (#16019) ([1cc88c1](https://github.com/vitejs/vite/commit/1cc88c1)), closes [#16019](https://github.com/vitejs/vite/issues/16019) +* feat(ssr): `import.meta.filename`/`dirname` support (#15887) ([74dc73a](https://github.com/vitejs/vite/commit/74dc73a)), closes [#15887](https://github.com/vitejs/vite/issues/15887) +* fix: apply correct fs restrictions for Yarn PnP when serving files from node_modules (#15957) ([a149d9e](https://github.com/vitejs/vite/commit/a149d9e)), closes [#15957](https://github.com/vitejs/vite/issues/15957) +* fix: encode URLs correctly (fix #15298) (#15311) ([b10d162](https://github.com/vitejs/vite/commit/b10d162)), closes [#15298](https://github.com/vitejs/vite/issues/15298) [#15311](https://github.com/vitejs/vite/issues/15311) +* fix: upgrade esbuild to 0.20.x (#16079) ([30e5ae3](https://github.com/vitejs/vite/commit/30e5ae3)), closes [#16079](https://github.com/vitejs/vite/issues/16079) +* fix(css): treeshake css modules (#16051) ([17d71ec](https://github.com/vitejs/vite/commit/17d71ec)), closes [#16051](https://github.com/vitejs/vite/issues/16051) +* fix(hmr): call dispose before prune (#15782) ([57628dc](https://github.com/vitejs/vite/commit/57628dc)), closes [#15782](https://github.com/vitejs/vite/issues/15782) +* fix(ssr): apply alias to resolvable dependencies during dev (#15602) ([8e54af6](https://github.com/vitejs/vite/commit/8e54af6)), closes [#15602](https://github.com/vitejs/vite/issues/15602) +* refactor: normalize cache package dir (#15546) ([e030f4b](https://github.com/vitejs/vite/commit/e030f4b)), closes [#15546](https://github.com/vitejs/vite/issues/15546) +* style: update overlay style on mobile (#15760) ([4559ac0](https://github.com/vitejs/vite/commit/4559ac0)), closes [#15760](https://github.com/vitejs/vite/issues/15760) + + + ## 5.1.6 (2024-03-11) * chore(deps): update all non-major dependencies (#16131) ([a862ecb](https://github.com/vitejs/vite/commit/a862ecb)), closes [#16131](https://github.com/vitejs/vite/issues/16131) diff --git a/packages/vite/package.json b/packages/vite/package.json index 1e7166bc84a61b..20751ff93c61be 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.1.6", + "version": "5.2.0-beta.0", "type": "module", "license": "MIT", "author": "Evan You", From 8cd846cdbf5cc3214e6a32accf31a187726a23cd Mon Sep 17 00:00:00 2001 From: Dunqing Date: Wed, 13 Mar 2024 15:03:55 +0800 Subject: [PATCH 424/656] fix(ssr): crash on circular import (#14441) --- .../node/ssr/__tests__/ssrTransform.spec.ts | 10 +++---- packages/vite/src/node/ssr/ssrTransform.ts | 30 +++++++++++-------- playground/ssr/__tests__/ssr.spec.ts | 8 +++++ playground/ssr/src/app.js | 6 ++++ playground/ssr/src/circular-import/a.js | 5 ++++ playground/ssr/src/circular-import/b.js | 5 ++++ playground/ssr/src/circular-import/index.js | 5 ++++ 7 files changed, 52 insertions(+), 17 deletions(-) create mode 100644 playground/ssr/src/circular-import/a.js create mode 100644 playground/ssr/src/circular-import/b.js create mode 100644 playground/ssr/src/circular-import/index.js diff --git a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts index 4935c13c9d6b2f..5c99e5cab3ecdb 100644 --- a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts +++ b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts @@ -104,9 +104,9 @@ test('export * from', async () => { ).toMatchInlineSnapshot(` "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue"); __vite_ssr_exportAll__(__vite_ssr_import_0__); + const __vite_ssr_import_1__ = await __vite_ssr_import__("react"); __vite_ssr_exportAll__(__vite_ssr_import_1__); - " `) }) @@ -964,14 +964,14 @@ console.log(foo + 2) `), ).toMatchInlineSnapshot(` "const __vite_ssr_import_0__ = await __vite_ssr_import__("./foo", {"importedNames":["foo"]}); - const __vite_ssr_import_1__ = await __vite_ssr_import__("./a"); - __vite_ssr_exportAll__(__vite_ssr_import_1__); - const __vite_ssr_import_2__ = await __vite_ssr_import__("./b"); - __vite_ssr_exportAll__(__vite_ssr_import_2__); console.log(__vite_ssr_import_0__.foo + 1) + const __vite_ssr_import_1__ = await __vite_ssr_import__("./a"); + __vite_ssr_exportAll__(__vite_ssr_import_1__); + const __vite_ssr_import_2__ = await __vite_ssr_import__("./b"); + __vite_ssr_exportAll__(__vite_ssr_import_2__); console.log(__vite_ssr_import_0__.foo + 2) " diff --git a/packages/vite/src/node/ssr/ssrTransform.ts b/packages/vite/src/node/ssr/ssrTransform.ts index 0c22577c888155..c3800a48a8d138 100644 --- a/packages/vite/src/node/ssr/ssrTransform.ts +++ b/packages/vite/src/node/ssr/ssrTransform.ts @@ -94,7 +94,11 @@ async function ssrTransformScript( // hoist at the start of the file, after the hashbang const hoistIndex = code.match(hashbangRE)?.[0].length ?? 0 - function defineImport(source: string, metadata?: DefineImportMetadata) { + function defineImport( + index: number, + source: string, + metadata?: DefineImportMetadata, + ) { deps.add(source) const importId = `__vite_ssr_import_${uid++}__` @@ -110,7 +114,7 @@ async function ssrTransformScript( // There will be an error if the module is called before it is imported, // so the module import statement is hoisted to the top s.appendLeft( - hoistIndex, + index, `const ${importId} = await ${ssrImportKey}(${JSON.stringify( source, )}${metadataStr});\n`, @@ -132,7 +136,7 @@ async function ssrTransformScript( // import { baz } from 'foo' --> baz -> __import_foo__.baz // import * as ok from 'foo' --> ok -> __import_foo__ if (node.type === 'ImportDeclaration') { - const importId = defineImport(node.source.value as string, { + const importId = defineImport(hoistIndex, node.source.value as string, { importedNames: node.specifiers .map((s) => { if (s.type === 'ImportSpecifier') return s.imported.name @@ -182,13 +186,16 @@ async function ssrTransformScript( s.remove(node.start, node.end) if (node.source) { // export { foo, bar } from './foo' - const importId = defineImport(node.source.value as string, { - importedNames: node.specifiers.map((s) => s.local.name), - }) - // hoist re-exports near the defined import so they are immediately exported + const importId = defineImport( + node.start, + node.source.value as string, + { + importedNames: node.specifiers.map((s) => s.local.name), + }, + ) for (const spec of node.specifiers) { defineExport( - hoistIndex, + node.start, spec.exported.name, `${importId}.${spec.local.name}`, ) @@ -234,12 +241,11 @@ async function ssrTransformScript( // export * from './foo' if (node.type === 'ExportAllDeclaration') { s.remove(node.start, node.end) - const importId = defineImport(node.source.value as string) - // hoist re-exports near the defined import so they are immediately exported + const importId = defineImport(node.start, node.source.value as string) if (node.exported) { - defineExport(hoistIndex, node.exported.name, `${importId}`) + defineExport(node.start, node.exported.name, `${importId}`) } else { - s.appendLeft(hoistIndex, `${ssrExportAllKey}(${importId});\n`) + s.appendLeft(node.start, `${ssrExportAllKey}(${importId});\n`) } } } diff --git a/playground/ssr/__tests__/ssr.spec.ts b/playground/ssr/__tests__/ssr.spec.ts index 812e9323aad289..6e5d227070db29 100644 --- a/playground/ssr/__tests__/ssr.spec.ts +++ b/playground/ssr/__tests__/ssr.spec.ts @@ -12,6 +12,14 @@ test(`circular dependencies modules doesn't throw`, async () => { ) }) +test(`circular import doesn't throw`, async () => { + await page.goto(`${url}/circular-import`) + + expect(await page.textContent('.circ-import')).toMatchInlineSnapshot( + '"A is: __A__"', + ) +}) + test(`deadlock doesn't happen`, async () => { await page.goto(`${url}/forked-deadlock`) diff --git a/playground/ssr/src/app.js b/playground/ssr/src/app.js index 5e10dfe45937e3..b151504d973401 100644 --- a/playground/ssr/src/app.js +++ b/playground/ssr/src/app.js @@ -3,6 +3,7 @@ import { escapeHtml } from './utils' const pathRenderers = { '/': renderRoot, '/circular-dep': renderCircularDep, + '/circular-import': renderCircularImport, '/forked-deadlock': renderForkedDeadlock, } @@ -34,6 +35,11 @@ async function renderCircularDep(rootDir) { return `
    ${escapeHtml(getValueAB())}
    ` } +async function renderCircularImport(rootDir) { + const { logA } = await import('./circular-import/index.js') + return `
    ${escapeHtml(logA())}
    ` +} + async function renderForkedDeadlock(rootDir) { const { commonModuleExport } = await import('./forked-deadlock/common-module') commonModuleExport() diff --git a/playground/ssr/src/circular-import/a.js b/playground/ssr/src/circular-import/a.js new file mode 100644 index 00000000000000..00c8645fd78b12 --- /dev/null +++ b/playground/ssr/src/circular-import/a.js @@ -0,0 +1,5 @@ +import { getB } from './b' + +export const A = '__A__' + +export const B = getB() diff --git a/playground/ssr/src/circular-import/b.js b/playground/ssr/src/circular-import/b.js new file mode 100644 index 00000000000000..c0e732b29e2035 --- /dev/null +++ b/playground/ssr/src/circular-import/b.js @@ -0,0 +1,5 @@ +export function getB() { + return '__B__' +} + +export { A } from './a' diff --git a/playground/ssr/src/circular-import/index.js b/playground/ssr/src/circular-import/index.js new file mode 100644 index 00000000000000..c9ec0fc50238b4 --- /dev/null +++ b/playground/ssr/src/circular-import/index.js @@ -0,0 +1,5 @@ +import { A } from './b' + +export function logA() { + return `A is: ${A}` +} From 6f77b2b22012ad1b810f4ec0511609ead35363dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 13 Mar 2024 19:18:09 +0900 Subject: [PATCH 425/656] fix(esbuild): preserve import.meta even if esbuild.target is set to lower versions (#16151) --- packages/vite/src/node/optimizer/index.ts | 8 +++++--- packages/vite/src/node/plugins/esbuild.ts | 18 +++++++++++++----- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index b3f6533c86ad09..591ea0cc8fa760 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -22,7 +22,10 @@ import { tryStatSync, unique, } from '../utils' -import { transformWithEsbuild } from '../plugins/esbuild' +import { + defaultEsbuildSupported, + transformWithEsbuild, +} from '../plugins/esbuild' import { ESBUILD_MODULES_TARGET, METADATA_FILENAME } from '../constants' import { isWindows } from '../../shared/utils' import { esbuildCjsExternalPlugin, esbuildDepPlugin } from './esbuildDepPlugin' @@ -799,8 +802,7 @@ async function prepareEsbuildOptimizerRun( charset: 'utf8', ...esbuildOptions, supported: { - 'dynamic-import': true, - 'import-meta': true, + ...defaultEsbuildSupported, ...esbuildOptions.supported, }, }) diff --git a/packages/vite/src/node/plugins/esbuild.ts b/packages/vite/src/node/plugins/esbuild.ts index 7076d0e6291c1b..54f1796afd6381 100644 --- a/packages/vite/src/node/plugins/esbuild.ts +++ b/packages/vite/src/node/plugins/esbuild.ts @@ -33,6 +33,14 @@ const IIFE_BEGIN_RE = const validExtensionRE = /\.\w+$/ const jsxExtensionsRE = /\.(?:j|t)sx\b/ +// the final build should always support dynamic import and import.meta. +// if they need to be polyfilled, plugin-legacy should be used. +// plugin-legacy detects these two features when checking for modern code. +export const defaultEsbuildSupported = { + 'dynamic-import': true, + 'import-meta': true, +} + let server: ViteDevServer export interface ESBuildOptions extends TransformOptions { @@ -235,6 +243,10 @@ export function esbuildPlugin(config: ResolvedConfig): Plugin { // Also transforming multiple times with keepNames enabled breaks // tree-shaking. (#9164) keepNames: false, + supported: { + ...defaultEsbuildSupported, + ...esbuildTransformOptions.supported, + }, } return { @@ -360,12 +372,8 @@ export function resolveEsbuildTranspileOptions( loader: 'js', target: target || undefined, format: rollupToEsbuildFormatMap[format], - // the final build should always support dynamic import and import.meta. - // if they need to be polyfilled, plugin-legacy should be used. - // plugin-legacy detects these two features when checking for modern code. supported: { - 'dynamic-import': true, - 'import-meta': true, + ...defaultEsbuildSupported, ...esbuildOptions.supported, }, } From f377a840ad79e1f9b5a5aa3251c41d6c3445fef6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 13 Mar 2024 19:37:58 +0900 Subject: [PATCH 426/656] fix: `sideEffects: []` should work as `sideEffects: false` (#16152) --- packages/vite/src/node/packages.ts | 34 ++++++++++++++++++------------ 1 file changed, 20 insertions(+), 14 deletions(-) diff --git a/packages/vite/src/node/packages.ts b/packages/vite/src/node/packages.ts index 67b83eddfda8e9..5af667d2417cc9 100644 --- a/packages/vite/src/node/packages.ts +++ b/packages/vite/src/node/packages.ts @@ -176,21 +176,27 @@ export function loadPackageData(pkgPath: string): PackageData { if (typeof sideEffects === 'boolean') { hasSideEffects = () => sideEffects } else if (Array.isArray(sideEffects)) { - const finalPackageSideEffects = sideEffects.map((sideEffect) => { - /* - * The array accepts simple glob patterns to the relevant files... Patterns like *.css, which do not include a /, will be treated like **\/*.css. - * https://webpack.js.org/guides/tree-shaking/ - * https://github.com/vitejs/vite/pull/11807 - */ - if (sideEffect.includes('/')) { - return sideEffect - } - return `**/${sideEffect}` - }) + if (sideEffects.length <= 0) { + // createFilter always returns true if `includes` is an empty array + // but here we want it to always return false + hasSideEffects = () => false + } else { + const finalPackageSideEffects = sideEffects.map((sideEffect) => { + /* + * The array accepts simple glob patterns to the relevant files... Patterns like *.css, which do not include a /, will be treated like **\/*.css. + * https://webpack.js.org/guides/tree-shaking/ + * https://github.com/vitejs/vite/pull/11807 + */ + if (sideEffect.includes('/')) { + return sideEffect + } + return `**/${sideEffect}` + }) - hasSideEffects = createFilter(finalPackageSideEffects, null, { - resolve: pkgDir, - }) + hasSideEffects = createFilter(finalPackageSideEffects, null, { + resolve: pkgDir, + }) + } } else { hasSideEffects = () => null } From 1d5eec477e5f1951e024e2105fd4a7ad536cb48b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 13 Mar 2024 23:47:33 +0900 Subject: [PATCH 427/656] feat: csp nonce support (#16052) Co-authored-by: Andrew <8158705+maccuaa@users.noreply.github.com> Co-authored-by: Justin Tay <49700559+justin-tay@users.noreply.github.com> --- docs/config/shared-options.md | 7 ++ docs/guide/features.md | 22 ++++++ packages/vite/src/client/client.ts | 8 +++ packages/vite/src/node/config.ts | 13 ++++ packages/vite/src/node/index.ts | 1 + packages/vite/src/node/plugins/html.ts | 68 +++++++++++++++++-- .../src/node/plugins/importAnalysisBuild.ts | 10 +++ .../src/node/server/middlewares/indexHtml.ts | 4 ++ playground/csp/__tests__/csp.spec.ts | 33 +++++++++ playground/csp/dynamic.css | 3 + playground/csp/dynamic.js | 3 + playground/csp/from-js.css | 3 + playground/csp/index.html | 13 ++++ playground/csp/index.js | 5 ++ playground/csp/linked.css | 3 + playground/csp/package.json | 12 ++++ playground/csp/vite.config.js | 67 ++++++++++++++++++ .../__tests__/js-sourcemap.spec.ts | 2 +- pnpm-lock.yaml | 2 + 19 files changed, 273 insertions(+), 6 deletions(-) create mode 100644 playground/csp/__tests__/csp.spec.ts create mode 100644 playground/csp/dynamic.css create mode 100644 playground/csp/dynamic.js create mode 100644 playground/csp/from-js.css create mode 100644 playground/csp/index.html create mode 100644 playground/csp/index.js create mode 100644 playground/csp/linked.css create mode 100644 playground/csp/package.json create mode 100644 playground/csp/vite.config.js diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index d8b81b4531f571..95ec386e3b811a 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -163,6 +163,13 @@ Enabling this setting causes vite to determine file identity by the original fil - **Related:** [esbuild#preserve-symlinks](https://esbuild.github.io/api/#preserve-symlinks), [webpack#resolve.symlinks ](https://webpack.js.org/configuration/resolve/#resolvesymlinks) +## html.cspNonce + +- **Type:** `string` +- **Related:** [Content Security Policy (CSP)](/guide/features#content-security-policy-csp) + +A nonce value placeholder that will be used when generating script / style tags. Setting this value will also generate a meta tag with nonce value. + ## css.modules - **Type:** diff --git a/docs/guide/features.md b/docs/guide/features.md index 19e4e3adc22617..cbb981a0e14282 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -642,6 +642,28 @@ import MyWorker from './worker?worker&url' See [Worker Options](/config/worker-options.md) for details on configuring the bundling of all workers. +## Content Security Policy (CSP) + +To deploy CSP, certain directives or configs must be set due to Vite's internals. + +### [`'nonce-{RANDOM}'`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/Sources#nonce-base64-value) + +When [`html.cspNonce`](/config/shared-options#html-cspnonce) is set, Vite adds a nonce attribute with the specified value to the output script tag and link tag for stylesheets. Note that Vite will not add a nonce attribute to other tags, such as ` + +

    direct

    +

    inline

    +

    from-js

    +

    dynamic

    +

    js: error

    +

    dynamic-js: error

    diff --git a/playground/csp/index.js b/playground/csp/index.js new file mode 100644 index 00000000000000..465359baca8297 --- /dev/null +++ b/playground/csp/index.js @@ -0,0 +1,5 @@ +import './from-js.css' + +document.querySelector('.js').textContent = 'js: ok' + +import('./dynamic.js') diff --git a/playground/csp/linked.css b/playground/csp/linked.css new file mode 100644 index 00000000000000..51636e6cfad81f --- /dev/null +++ b/playground/csp/linked.css @@ -0,0 +1,3 @@ +.linked { + color: blue; +} diff --git a/playground/csp/package.json b/playground/csp/package.json new file mode 100644 index 00000000000000..e8a834d93abd25 --- /dev/null +++ b/playground/csp/package.json @@ -0,0 +1,12 @@ +{ + "name": "@vitejs/test-csp", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "debug": "node --inspect-brk ../../packages/vite/bin/vite", + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + } +} diff --git a/playground/csp/vite.config.js b/playground/csp/vite.config.js new file mode 100644 index 00000000000000..08d2b74f9dde3c --- /dev/null +++ b/playground/csp/vite.config.js @@ -0,0 +1,67 @@ +import fs from 'node:fs/promises' +import url from 'node:url' +import path from 'node:path' +import crypto from 'node:crypto' +import { defineConfig } from 'vite' + +const __dirname = path.dirname(url.fileURLToPath(import.meta.url)) + +const noncePlaceholder = '#$NONCE$#' +const createNonce = () => crypto.randomBytes(16).toString('base64') + +/** + * @param {import('node:http').ServerResponse} res + * @param {string} nonce + */ +const setNonceHeader = (res, nonce) => { + res.setHeader( + 'Content-Security-Policy', + `default-src 'nonce-${nonce}'; connect-src 'self'`, + ) +} + +/** + * @param {string} file + * @param {(input: string, originalUrl: string) => Promise} transform + * @returns {import('vite').Connect.NextHandleFunction} + */ +const createMiddleware = (file, transform) => async (req, res) => { + const nonce = createNonce() + setNonceHeader(res, nonce) + const content = await fs.readFile(path.join(__dirname, file), 'utf8') + const transformedContent = await transform(content, req.originalUrl) + res.setHeader('Content-Type', 'text/html') + res.end(transformedContent.replaceAll(noncePlaceholder, nonce)) +} + +export default defineConfig({ + plugins: [ + { + name: 'nonce-inject', + config() { + return { + appType: 'custom', + html: { + cspNonce: noncePlaceholder, + }, + } + }, + configureServer({ transformIndexHtml, middlewares }) { + return () => { + middlewares.use( + createMiddleware('./index.html', (input, originalUrl) => + transformIndexHtml(originalUrl, input), + ), + ) + } + }, + configurePreviewServer({ middlewares }) { + return () => { + middlewares.use( + createMiddleware('./dist/index.html', async (input) => input), + ) + } + }, + }, + ], +}) diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index 145e1f0b35b5ab..fd5d91a26af1b1 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -138,7 +138,7 @@ describe.runIf(isBuild)('build tests', () => { expect(formatSourcemapForSnapshot(JSON.parse(map))).toMatchInlineSnapshot(` { "ignoreList": [], - "mappings": ";;;;;;i3BAAA,OAAO,2BAAuB,EAAC,wBAE/B,QAAQ,IAAI,uBAAuB", + "mappings": ";;;;;;w+BAAA,OAAO,2BAAuB,EAAC,wBAE/B,QAAQ,IAAI,uBAAuB", "sources": [ "../../after-preload-dynamic.js", ], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 421f405d232e43..03b925b3a34c11 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -545,6 +545,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 + playground/csp: {} + playground/css: devDependencies: '@vitejs/test-css-dep': From 7ee426194f2c675ec9c5f6ffcaffd3229f3271ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 13 Mar 2024 23:53:50 +0900 Subject: [PATCH 428/656] feat(optimizer): show a friendly warning with 404 instead of 504 outdated optimize dep (#16080) Co-authored-by: Bjorn Lu --- .../vite/src/node/plugins/optimizedDeps.ts | 22 +++++++++++++++++-- .../src/node/server/middlewares/transform.ts | 10 +++++++++ .../__tests__/optimize-deps.spec.ts | 8 +++++++ .../optimize-deps/dep-incompatible/index.js | 3 +++ .../dep-incompatible/package.json | 7 ++++++ .../optimize-deps/dep-incompatible/sub.js | 1 + playground/optimize-deps/index.html | 5 +++++ playground/optimize-deps/package.json | 1 + pnpm-lock.yaml | 10 +++++++++ 9 files changed, 65 insertions(+), 2 deletions(-) create mode 100644 playground/optimize-deps/dep-incompatible/index.js create mode 100644 playground/optimize-deps/dep-incompatible/package.json create mode 100644 playground/optimize-deps/dep-incompatible/sub.js diff --git a/packages/vite/src/node/plugins/optimizedDeps.ts b/packages/vite/src/node/plugins/optimizedDeps.ts index cdde20891b836b..6d6a8d22eb9468 100644 --- a/packages/vite/src/node/plugins/optimizedDeps.ts +++ b/packages/vite/src/node/plugins/optimizedDeps.ts @@ -10,6 +10,8 @@ import { cleanUrl } from '../../shared/utils' export const ERR_OPTIMIZE_DEPS_PROCESSING_ERROR = 'ERR_OPTIMIZE_DEPS_PROCESSING_ERROR' export const ERR_OUTDATED_OPTIMIZED_DEP = 'ERR_OUTDATED_OPTIMIZED_DEP' +export const ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR = + 'ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR' const debug = createDebugger('vite:optimize-deps') @@ -68,8 +70,12 @@ export function optimizedDepsPlugin(config: ResolvedConfig): Plugin { try { return await fsp.readFile(file, 'utf-8') } catch (e) { - // Outdated non-entry points (CHUNK), loaded after a rerun - throwOutdatedRequest(id) + const newMetadata = depsOptimizer.metadata + if (optimizedDepInfoFromFile(newMetadata, file)) { + // Outdated non-entry points (CHUNK), loaded after a rerun + throwOutdatedRequest(id) + } + throwFileNotFoundInOptimizedDep(id) } } }, @@ -97,3 +103,15 @@ export function throwOutdatedRequest(id: string): never { // send a 504 status code request timeout throw err } + +export function throwFileNotFoundInOptimizedDep(id: string): never { + const err: any = new Error( + `The file does not exist at "${id}" which is in the optimize deps directory. ` + + `The dependency might be incompatible with the dep optimizer. ` + + `Try adding it to \`optimizeDeps.exclude\`.`, + ) + err.code = ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR + // This error will be caught by the transform middleware that will + // send a 404 status code not found + throw err +} diff --git a/packages/vite/src/node/server/middlewares/transform.ts b/packages/vite/src/node/server/middlewares/transform.ts index a0239aab7fcb4e..12a440d4c10774 100644 --- a/packages/vite/src/node/server/middlewares/transform.ts +++ b/packages/vite/src/node/server/middlewares/transform.ts @@ -27,6 +27,7 @@ import { isDirectRequest, } from '../../plugins/css' import { + ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR, ERR_OPTIMIZE_DEPS_PROCESSING_ERROR, ERR_OUTDATED_OPTIMIZED_DEP, } from '../../plugins/optimizedDeps' @@ -253,6 +254,15 @@ export function transformMiddleware( // error but a normal part of the missing deps discovery flow return } + if (e?.code === ERR_FILE_NOT_FOUND_IN_OPTIMIZED_DEP_DIR) { + // Skip if response has already been sent + if (!res.writableEnded) { + res.statusCode = 404 + res.end() + } + server.config.logger.warn(colors.yellow(e.message)) + return + } if (e?.code === ERR_LOAD_URL) { // Let other middleware handle if we can't load the url via transformRequest return next() diff --git a/playground/optimize-deps/__tests__/optimize-deps.spec.ts b/playground/optimize-deps/__tests__/optimize-deps.spec.ts index f2ad3680cdac47..b07e5f8fe59a2a 100644 --- a/playground/optimize-deps/__tests__/optimize-deps.spec.ts +++ b/playground/optimize-deps/__tests__/optimize-deps.spec.ts @@ -319,3 +319,11 @@ test('long file name should work', async () => { `hello world`, ) }) + +test.runIf(isServe)('warn on incompatible dependency', () => { + expect(serverLogs).toContainEqual( + expect.stringContaining( + 'The dependency might be incompatible with the dep optimizer.', + ), + ) +}) diff --git a/playground/optimize-deps/dep-incompatible/index.js b/playground/optimize-deps/dep-incompatible/index.js new file mode 100644 index 00000000000000..6d67368a1d4df7 --- /dev/null +++ b/playground/optimize-deps/dep-incompatible/index.js @@ -0,0 +1,3 @@ +const subUrl = new URL('./sub.js', import.meta.url) + +export default () => import(subUrl) diff --git a/playground/optimize-deps/dep-incompatible/package.json b/playground/optimize-deps/dep-incompatible/package.json new file mode 100644 index 00000000000000..1d67c51eb4cbcc --- /dev/null +++ b/playground/optimize-deps/dep-incompatible/package.json @@ -0,0 +1,7 @@ +{ + "name": "@vitejs/test-dep-incompatible", + "private": true, + "version": "0.0.0", + "type": "module", + "main": "index.js" +} diff --git a/playground/optimize-deps/dep-incompatible/sub.js b/playground/optimize-deps/dep-incompatible/sub.js new file mode 100644 index 00000000000000..26f9a8a9430bf8 --- /dev/null +++ b/playground/optimize-deps/dep-incompatible/sub.js @@ -0,0 +1 @@ +export default 'sub' diff --git a/playground/optimize-deps/index.html b/playground/optimize-deps/index.html index 3839a4aa9951d0..9b992b7dd4892a 100644 --- a/playground/optimize-deps/index.html +++ b/playground/optimize-deps/index.html @@ -263,3 +263,8 @@

    Long file name import works

    text('.clonedeep-slash', cloneDeepSlash({ name: 'clonedeep-slash' }).name) text('.clonedeep-dot', cloneDeepDot({ name: 'clonedeep-dot' }).name) + + diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index a1cf32ebc73a22..99be592eb4972f 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -20,6 +20,7 @@ "@vitejs/test-dep-cjs-with-assets": "file:./dep-cjs-with-assets", "@vitejs/test-dep-css-require": "file:./dep-css-require", "@vitejs/test-dep-esbuild-plugin-transform": "file:./dep-esbuild-plugin-transform", + "@vitejs/test-dep-incompatible": "file:./dep-incompatible", "@vitejs/test-dep-linked": "link:./dep-linked", "@vitejs/test-dep-linked-include": "link:./dep-linked-include", "@vitejs/test-dep-node-env": "file:./dep-node-env", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03b925b3a34c11..929c39d3b8ce48 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -906,6 +906,9 @@ importers: '@vitejs/test-dep-esbuild-plugin-transform': specifier: file:./dep-esbuild-plugin-transform version: file:playground/optimize-deps/dep-esbuild-plugin-transform + '@vitejs/test-dep-incompatible': + specifier: file:./dep-incompatible + version: file:playground/optimize-deps/dep-incompatible '@vitejs/test-dep-linked': specifier: link:./dep-linked version: link:dep-linked @@ -1019,6 +1022,8 @@ importers: playground/optimize-deps/dep-esbuild-plugin-transform: {} + playground/optimize-deps/dep-incompatible: {} + playground/optimize-deps/dep-linked: dependencies: lodash-es: @@ -9901,6 +9906,11 @@ packages: name: '@vitejs/test-dep-esbuild-plugin-transform' dev: false + file:playground/optimize-deps/dep-incompatible: + resolution: {directory: playground/optimize-deps/dep-incompatible, type: directory} + name: '@vitejs/test-dep-incompatible' + dev: false + file:playground/optimize-deps/dep-node-env: resolution: {directory: playground/optimize-deps/dep-node-env, type: directory} name: '@vitejs/test-dep-node-env' From 5aabad32b276ebc7940a8ce415243f5b526613db Mon Sep 17 00:00:00 2001 From: Sean Washington Date: Wed, 13 Mar 2024 22:48:42 -0700 Subject: [PATCH 429/656] fix(docs): fix load error handling window reload example (#16159) --- docs/guide/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/build.md b/docs/guide/build.md index 4da2ef514c1bfa..b50a4d021ebbc6 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -70,7 +70,7 @@ Vite emits `vite:preloadError` event when it fails to load dynamic imports. `eve ```js window.addEventListener('vite:preloadError', (event) => { - window.reload() // for example, refresh the page + window.location.reload() // for example, refresh the page }) ``` From 1645fc0b284d98998348cddbd6945d6e7f897104 Mon Sep 17 00:00:00 2001 From: wChenonly <37658262+wChenonly@users.noreply.github.com> Date: Thu, 14 Mar 2024 15:56:19 +0800 Subject: [PATCH 430/656] fix(create-vite): remove vue3 deprecated plugin (TypeScript Vue Plugin) (#16158) --- packages/create-vite/template-vue-ts/.vscode/extensions.json | 2 +- packages/create-vite/template-vue/.vscode/extensions.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create-vite/template-vue-ts/.vscode/extensions.json b/packages/create-vite/template-vue-ts/.vscode/extensions.json index c0a6e5a48110e4..a7cea0b0678120 100644 --- a/packages/create-vite/template-vue-ts/.vscode/extensions.json +++ b/packages/create-vite/template-vue-ts/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] + "recommendations": ["Vue.volar"] } diff --git a/packages/create-vite/template-vue/.vscode/extensions.json b/packages/create-vite/template-vue/.vscode/extensions.json index c0a6e5a48110e4..a7cea0b0678120 100644 --- a/packages/create-vite/template-vue/.vscode/extensions.json +++ b/packages/create-vite/template-vue/.vscode/extensions.json @@ -1,3 +1,3 @@ { - "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] + "recommendations": ["Vue.volar"] } From 90556ebaeb1a1eaf143070b5625f032aca2458fd Mon Sep 17 00:00:00 2001 From: Andrew Brown Date: Thu, 14 Mar 2024 07:09:07 -0400 Subject: [PATCH 431/656] docs: backend integration clarify tags to include in production HTML (#16086) --- docs/guide/backend-integration.md | 56 ++++++++++++++++++++++++++++--- 1 file changed, 51 insertions(+), 5 deletions(-) diff --git a/docs/guide/backend-integration.md b/docs/guide/backend-integration.md index 6e391e48b23261..16757116d054bb 100644 --- a/docs/guide/backend-integration.md +++ b/docs/guide/backend-integration.md @@ -66,7 +66,8 @@ If you need a custom integration, you can follow the steps in this guide to conf "isEntry": true, "dynamicImports": ["views/foo.js"], "css": ["assets/main.b82dbe22.css"], - "assets": ["assets/asset.0ab0f9cd.png"] + "assets": ["assets/asset.0ab0f9cd.png"], + "imports": ["_shared.83069a53.js"] }, "views/foo.js": { "file": "assets/foo.869aea0d.js", @@ -75,7 +76,8 @@ If you need a custom integration, you can follow the steps in this guide to conf "imports": ["_shared.83069a53.js"] }, "_shared.83069a53.js": { - "file": "assets/shared.83069a53.js" + "file": "assets/shared.83069a53.js", + "css": ["assets/shared.a834bfc3.css"] } } ``` @@ -85,10 +87,54 @@ If you need a custom integration, you can follow the steps in this guide to conf - For non entry chunks, the key is the base name of the generated file prefixed with `_`. - Chunks will contain information on its static and dynamic imports (both are keys that map to the corresponding chunk in the manifest), and also its corresponding CSS and asset files (if any). - You can use this file to render links or preload directives with hashed filenames (note: the syntax here is for explanation only, substitute with your server templating language): +4. You can use this file to render links or preload directives with hashed filenames. + + Here is an example HTML template to render the proper links. The syntax here is for + explanation only, substitute with your server templating language. The `importedChunks` + function is for illustration and isn't provided by Vite. ```html - - + + + + + + + + + + + + + ``` + + Specifically, a backend generating HTML should include the following tags given a manifest + file and an entry point: + + - A `` tag for each file in the entry point chunk's `css` list + - Recursively follow all chunks in the entry point's `imports` list and include a + `` tag for each css file of each imported chunk. + - A tag for the `file` key of the entry point chunk (` + + + ``` + + While the following should be included for the entry point `views/foo.js`: + + ```html + + + + ``` From 7970aa6ede5c6b321dd1dbab03c667c969be8085 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Thu, 14 Mar 2024 20:48:28 +0900 Subject: [PATCH 432/656] docs: fix a small typo in `backend-integration.md` (#16161) --- docs/guide/backend-integration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/backend-integration.md b/docs/guide/backend-integration.md index 16757116d054bb..1de57e8117b808 100644 --- a/docs/guide/backend-integration.md +++ b/docs/guide/backend-integration.md @@ -99,7 +99,7 @@ If you need a custom integration, you can follow the steps in this guide to conf - + From 98888439e07c1dc6425deea3474330ad27b8bf33 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Thu, 14 Mar 2024 13:52:09 +0100 Subject: [PATCH 433/656] feat: formalize waitForRequestsIdle (experimental) (#16135) --- docs/guide/api-javascript.md | 12 ++ packages/vite/src/node/optimizer/index.ts | 1 - packages/vite/src/node/optimizer/optimizer.ts | 103 +++------------- packages/vite/src/node/server/index.ts | 114 ++++++++++++++++++ .../vite/src/node/server/transformRequest.ts | 5 +- playground/tailwind/vite.config.ts | 18 +++ 6 files changed, 165 insertions(+), 88 deletions(-) diff --git a/docs/guide/api-javascript.md b/docs/guide/api-javascript.md index fbfba3b7d9e2c8..0c625a4998a083 100644 --- a/docs/guide/api-javascript.md +++ b/docs/guide/api-javascript.md @@ -183,9 +183,21 @@ interface ViteDevServer { * Bind CLI shortcuts */ bindCLIShortcuts(options?: BindCLIShortcutsOptions): void + /** + * Calling `await server.waitForRequestsIdle(id)` will wait until all static imports + * are processed. If called from a load or transform plugin hook, the id needs to be + * passed as a parameter to avoid deadlocks. Calling this function after the first + * static imports section of the module graph has been processed will resolve immediately. + * @experimental + */ + waitForRequestsIdle: (ignoredId?: string) => Promise } ``` +:::info +`waitForRequestsIdle` is meant to be used as a escape hatch to improve DX for features that can't be implemented following the on-demand nature of the Vite dev server. It can be used during startup by tools like Tailwind to delay generating the app CSS classes until the app code has been seen, avoiding flashes of style changes. When this function is used in a load or transform hook, and the default HTTP1 server is used, one of the six http channels will be blocked until the server processes all static imports. Vite's dependency optimizer currently uses this function to avoid full-page reloads on missing dependencies by delaying loading of pre-bundled dependencies until all imported dependencies have been collected from static imported sources. Vite may switch to a different strategy in a future major release, setting `optimizeDeps.crawlUntilStaticImports: false` by default to avoid the performance hit in large applications during cold start. +::: + ## `build` **Type Signature:** diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 591ea0cc8fa760..4c98a289c5077a 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -59,7 +59,6 @@ export interface DepsOptimizer { isOptimizedDepFile: (id: string) => boolean isOptimizedDepUrl: (url: string) => boolean getOptimizedDepId: (depInfo: OptimizedDepInfo) => string - delayDepsOptimizerUntil: (id: string, done: () => Promise) => void close: () => Promise diff --git a/packages/vite/src/node/optimizer/optimizer.ts b/packages/vite/src/node/optimizer/optimizer.ts index 721a2f45c8035c..096d0bef2cdd54 100644 --- a/packages/vite/src/node/optimizer/optimizer.ts +++ b/packages/vite/src/node/optimizer/optimizer.ts @@ -41,7 +41,7 @@ export function getDepsOptimizer( export async function initDepsOptimizer( config: ResolvedConfig, - server?: ViteDevServer, + server: ViteDevServer, ): Promise { if (!getDepsOptimizer(config, false)) { await createDepsOptimizer(config, server) @@ -78,7 +78,7 @@ export async function initDevSsrDepsOptimizer( async function createDepsOptimizer( config: ResolvedConfig, - server?: ViteDevServer, + server: ViteDevServer, ): Promise { const { logger } = config const ssr = false @@ -105,7 +105,6 @@ async function createDepsOptimizer( isOptimizedDepUrl: createIsOptimizedDepUrl(config), getOptimizedDepId: (depInfo: OptimizedDepInfo) => `${depInfo.file}?v=${depInfo.browserHash}`, - delayDepsOptimizerUntil, close, options, } @@ -167,9 +166,10 @@ async function createDepsOptimizer( // from the first request before resolving to minimize full page reloads. // On warm start or after the first optimization is run, we use a simpler // debounce strategy each time a new dep is discovered. - let crawlEndFinder: CrawlEndFinder | undefined + let waitingForCrawlEnd = false if (!cachedMetadata) { - crawlEndFinder = setupOnCrawlEnd(onCrawlEnd) + server._onCrawlEnd(onCrawlEnd) + waitingForCrawlEnd = true } let optimizationResult: @@ -188,7 +188,6 @@ async function createDepsOptimizer( async function close() { closed = true - crawlEndFinder?.cancel() await Promise.allSettled([ discover?.cancel(), depsOptimizer.scanProcessing, @@ -271,7 +270,7 @@ async function createDepsOptimizer( optimizationResult.result.then((result) => { // Check if the crawling of static imports has already finished. In that // case, the result is handled by the onCrawlEnd callback - if (!crawlEndFinder) return + if (!waitingForCrawlEnd) return optimizationResult = undefined // signal that we'll be using the result @@ -535,17 +534,15 @@ async function createDepsOptimizer( } function fullReload() { - if (server) { - // Cached transform results have stale imports (resolved to - // old locations) so they need to be invalidated before the page is - // reloaded. - server.moduleGraph.invalidateAll() - - server.hot.send({ - type: 'full-reload', - path: '*', - }) - } + // Cached transform results have stale imports (resolved to + // old locations) so they need to be invalidated before the page is + // reloaded. + server.moduleGraph.invalidateAll() + + server.hot.send({ + type: 'full-reload', + path: '*', + }) } async function rerun() { @@ -594,7 +591,7 @@ async function createDepsOptimizer( // we can get a list of every missing dependency before giving to the // browser a dependency that may be outdated, thus avoiding full page reloads - if (!crawlEndFinder) { + if (!waitingForCrawlEnd) { // Debounced rerun, let other missing dependencies be discovered before // the running next optimizeDeps debouncedProcessing() @@ -649,7 +646,7 @@ async function createDepsOptimizer( // be crawled if the browser requests them right away). async function onCrawlEnd() { // switch after this point to a simple debounce strategy - crawlEndFinder = undefined + waitingForCrawlEnd = false debug?.(colors.green(`✨ static imports crawl ended`)) if (closed) { @@ -757,71 +754,6 @@ async function createDepsOptimizer( debouncedProcessing(0) } } - - function delayDepsOptimizerUntil(id: string, done: () => Promise) { - if (crawlEndFinder && !depsOptimizer.isOptimizedDepFile(id)) { - crawlEndFinder.delayDepsOptimizerUntil(id, done) - } - } -} - -const callCrawlEndIfIdleAfterMs = 50 - -interface CrawlEndFinder { - delayDepsOptimizerUntil: (id: string, done: () => Promise) => void - cancel: () => void -} - -function setupOnCrawlEnd(onCrawlEnd: () => void): CrawlEndFinder { - const registeredIds = new Set() - const seenIds = new Set() - let timeoutHandle: NodeJS.Timeout | undefined - - let cancelled = false - function cancel() { - cancelled = true - } - - let crawlEndCalled = false - function callOnCrawlEnd() { - if (!cancelled && !crawlEndCalled) { - crawlEndCalled = true - onCrawlEnd() - } - } - - function delayDepsOptimizerUntil(id: string, done: () => Promise): void { - if (!seenIds.has(id)) { - seenIds.add(id) - registeredIds.add(id) - done() - .catch(() => {}) - .finally(() => markIdAsDone(id)) - } - } - function markIdAsDone(id: string): void { - registeredIds.delete(id) - checkIfCrawlEndAfterTimeout() - } - - function checkIfCrawlEndAfterTimeout() { - if (cancelled || registeredIds.size > 0) return - - if (timeoutHandle) clearTimeout(timeoutHandle) - timeoutHandle = setTimeout( - callOnCrawlEndWhenIdle, - callCrawlEndIfIdleAfterMs, - ) - } - async function callOnCrawlEndWhenIdle() { - if (cancelled || registeredIds.size > 0) return - callOnCrawlEnd() - } - - return { - delayDepsOptimizerUntil, - cancel, - } } async function createDevSsrDepsOptimizer( @@ -844,7 +776,6 @@ async function createDevSsrDepsOptimizer( // noop, there is no scanning during dev SSR // the optimizer blocks the server start run: () => {}, - delayDepsOptimizerUntil: (id: string, done: () => Promise) => {}, close: async () => {}, options: config.ssr.optimizeDeps, diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index bfc413db1a029c..8a508dbbd46c5c 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -32,6 +32,7 @@ import { isParentDirectory, mergeConfig, normalizePath, + promiseWithResolvers, resolveHostname, resolveServerUrls, } from '../utils' @@ -344,6 +345,22 @@ export interface ViteDevServer { * Open browser */ openBrowser(): void + /** + * Calling `await server.waitForRequestsIdle(id)` will wait until all static imports + * are processed. If called from a load or transform plugin hook, the id needs to be + * passed as a parameter to avoid deadlocks. Calling this function after the first + * static imports section of the module graph has been processed will resolve immediately. + * @experimental + */ + waitForRequestsIdle: (ignoredId?: string) => Promise + /** + * @internal + */ + _registerRequestProcessing: (id: string, done: () => Promise) => void + /** + * @internal + */ + _onCrawlEnd(cb: () => void): void /** * @internal */ @@ -459,6 +476,20 @@ export async function _createServer( const devHtmlTransformFn = createDevHtmlTransformFn(config) + const onCrawlEndCallbacks: (() => void)[] = [] + const crawlEndFinder = setupOnCrawlEnd(() => { + onCrawlEndCallbacks.forEach((cb) => cb()) + }) + function waitForRequestsIdle(ignoredId?: string): Promise { + return crawlEndFinder.waitForRequestsIdle(ignoredId) + } + function _registerRequestProcessing(id: string, done: () => Promise) { + crawlEndFinder.registerRequestProcessing(id, done) + } + function _onCrawlEnd(cb: () => void) { + onCrawlEndCallbacks.push(cb) + } + let server: ViteDevServer = { config, middlewares, @@ -590,6 +621,7 @@ export async function _createServer( watcher.close(), hot.close(), container.close(), + crawlEndFinder?.cancel(), getDepsOptimizer(server.config)?.close(), getDepsOptimizer(server.config, true)?.close(), closeHttpServer(), @@ -638,6 +670,10 @@ export async function _createServer( return server._restartPromise }, + waitForRequestsIdle, + _registerRequestProcessing, + _onCrawlEnd, + _setInternalServer(_server: ViteDevServer) { // Rebind internal the server variable so functions reference the user // server instance after a restart @@ -1133,3 +1169,81 @@ export async function restartServerWithUrls( server.printUrls() } } + +const callCrawlEndIfIdleAfterMs = 50 + +interface CrawlEndFinder { + registerRequestProcessing: (id: string, done: () => Promise) => void + waitForRequestsIdle: (ignoredId?: string) => Promise + cancel: () => void +} + +function setupOnCrawlEnd(onCrawlEnd: () => void): CrawlEndFinder { + const registeredIds = new Set() + const seenIds = new Set() + const onCrawlEndPromiseWithResolvers = promiseWithResolvers() + + let timeoutHandle: NodeJS.Timeout | undefined + + let cancelled = false + function cancel() { + cancelled = true + } + + let crawlEndCalled = false + function callOnCrawlEnd() { + if (!cancelled && !crawlEndCalled) { + crawlEndCalled = true + onCrawlEnd() + } + onCrawlEndPromiseWithResolvers.resolve() + } + + function registerRequestProcessing( + id: string, + done: () => Promise, + ): void { + if (!seenIds.has(id)) { + seenIds.add(id) + registeredIds.add(id) + done() + .catch(() => {}) + .finally(() => markIdAsDone(id)) + } + } + + function waitForRequestsIdle(ignoredId?: string): Promise { + if (ignoredId) { + seenIds.add(ignoredId) + markIdAsDone(ignoredId) + } + return onCrawlEndPromiseWithResolvers.promise + } + + function markIdAsDone(id: string): void { + if (registeredIds.has(id)) { + registeredIds.delete(id) + checkIfCrawlEndAfterTimeout() + } + } + + function checkIfCrawlEndAfterTimeout() { + if (cancelled || registeredIds.size > 0) return + + if (timeoutHandle) clearTimeout(timeoutHandle) + timeoutHandle = setTimeout( + callOnCrawlEndWhenIdle, + callCrawlEndIfIdleAfterMs, + ) + } + async function callOnCrawlEndWhenIdle() { + if (cancelled || registeredIds.size > 0) return + callOnCrawlEnd() + } + + return { + registerRequestProcessing, + waitForRequestsIdle, + cancel, + } +} diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index 2813128af5b1dd..8341f14a70a737 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -181,7 +181,10 @@ async function doTransform( resolved, ) - getDepsOptimizer(config, ssr)?.delayDepsOptimizerUntil(id, () => result) + const depsOptimizer = getDepsOptimizer(config, ssr) + if (!depsOptimizer?.isOptimizedDepFile(id)) { + server._registerRequestProcessing(id, () => result) + } return result } diff --git a/playground/tailwind/vite.config.ts b/playground/tailwind/vite.config.ts index 5b97ed1053e382..86521cff913e97 100644 --- a/playground/tailwind/vite.config.ts +++ b/playground/tailwind/vite.config.ts @@ -1,4 +1,21 @@ import { defineConfig } from 'vite' +import type { Plugin } from 'vite' + +function delayIndexCssPlugin(): Plugin { + let server + return { + name: 'delay-index-css', + enforce: 'pre', + configureServer(_server) { + server = _server + }, + async load(id) { + if (server && id.includes('index.css')) { + await server.waitForRequestsIdle(id) + } + }, + } +} export default defineConfig({ resolve: { @@ -25,5 +42,6 @@ export default defineConfig({ } }, }, + delayIndexCssPlugin(), ], }) From 1574f3565d28ec15a3a5708d2214b75b42d8a44f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 14 Mar 2024 21:56:16 +0900 Subject: [PATCH 434/656] docs: remove `vue` from the example when `skipLibCheck` needs to be enabled (#16162) --- docs/guide/features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index cbb981a0e14282..e5fbb3b1cdb23e 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -65,7 +65,7 @@ It is because `esbuild` only performs transpilation without type information, it You must set `"isolatedModules": true` in your `tsconfig.json` under `compilerOptions`, so that TS will warn you against the features that do not work with isolated transpilation. -However, some libraries (e.g. [`vue`](https://github.com/vuejs/core/issues/1228)) don't work well with `"isolatedModules": true`. You can use `"skipLibCheck": true` to temporarily suppress the errors until it is fixed upstream. +If a dependency doesn't work well with `"isolatedModules": true`. You can use `"skipLibCheck": true` to temporarily suppress the errors until it is fixed upstream. #### `useDefineForClassFields` From 20bf97d6a99f1ab449a10a2be7f29a6a4e179fef Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 14 Mar 2024 20:58:29 +0800 Subject: [PATCH 435/656] release: v5.2.0-beta.1 --- packages/vite/CHANGELOG.md | 11 +++++++++++ packages/vite/package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 941a974cbb8d39..c5f6c5a84db58c 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,14 @@ +## 5.2.0-beta.1 (2024-03-14) + +* feat: csp nonce support (#16052) ([1d5eec4](https://github.com/vitejs/vite/commit/1d5eec4)), closes [#16052](https://github.com/vitejs/vite/issues/16052) +* feat: formalize waitForRequestsIdle (experimental) (#16135) ([9888843](https://github.com/vitejs/vite/commit/9888843)), closes [#16135](https://github.com/vitejs/vite/issues/16135) +* feat(optimizer): show a friendly warning with 404 instead of 504 outdated optimize dep (#16080) ([7ee4261](https://github.com/vitejs/vite/commit/7ee4261)), closes [#16080](https://github.com/vitejs/vite/issues/16080) +* fix: `sideEffects: []` should work as `sideEffects: false` (#16152) ([f377a84](https://github.com/vitejs/vite/commit/f377a84)), closes [#16152](https://github.com/vitejs/vite/issues/16152) +* fix(esbuild): preserve import.meta even if esbuild.target is set to lower versions (#16151) ([6f77b2b](https://github.com/vitejs/vite/commit/6f77b2b)), closes [#16151](https://github.com/vitejs/vite/issues/16151) +* fix(ssr): crash on circular import (#14441) ([8cd846c](https://github.com/vitejs/vite/commit/8cd846c)), closes [#14441](https://github.com/vitejs/vite/issues/14441) + + + ## 5.2.0-beta.0 (2024-03-12) * chore: use `@polka/compression` (#16146) ([592c95a](https://github.com/vitejs/vite/commit/592c95a)), closes [#16146](https://github.com/vitejs/vite/issues/16146) diff --git a/packages/vite/package.json b/packages/vite/package.json index 20751ff93c61be..d2c5c98b57c8ce 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.0-beta.0", + "version": "5.2.0-beta.1", "type": "module", "license": "MIT", "author": "Evan You", From 6f8a3206653127a1ca9e20880af117d3a7c4fadc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 15 Mar 2024 17:24:38 +0900 Subject: [PATCH 436/656] docs: add `@shikiji/vitepress-twoslash` (#16168) --- docs/.vitepress/config.ts | 4 + docs/.vitepress/theme/index.ts | 3 + docs/.vitepress/tsconfig.json | 13 + docs/config/build-options.md | 13 +- docs/config/dep-optimization-options.md | 8 +- docs/config/index.md | 10 +- docs/config/server-options.md | 12 +- docs/config/shared-options.md | 2 +- docs/guide/api-hmr.md | 39 +- docs/guide/api-javascript.md | 102 ++-- docs/guide/api-plugin.md | 4 +- docs/guide/assets.md | 28 +- docs/guide/backend-integration.md | 4 +- docs/guide/build.md | 50 +- docs/guide/dep-pre-bundling.md | 4 +- docs/guide/features.md | 105 +++- docs/guide/ssr.md | 29 +- docs/guide/using-plugins.md | 6 +- docs/package.json | 16 + package.json | 10 +- packages/vite/src/node/config.ts | 7 +- packages/vite/types/customEvent.d.ts | 3 + pnpm-lock.yaml | 676 +++++++++++++++++++++++- pnpm-workspace.yaml | 1 + 24 files changed, 997 insertions(+), 152 deletions(-) create mode 100644 docs/.vitepress/tsconfig.json create mode 100644 docs/package.json diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index ad88cf1e2618dc..ea73fa458aa64b 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,4 +1,5 @@ import { defineConfig, DefaultTheme } from 'vitepress' +import { transformerTwoslash } from '@shikijs/vitepress-twoslash' import { buildEnd } from './buildEnd.config' const ogDescription = 'Next Generation Frontend Tooling' @@ -342,5 +343,8 @@ export default defineConfig({ ]) return pageData }, + markdown: { + codeTransformers: [transformerTwoslash()], + }, buildEnd, }) diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts index a85c67e1df22f5..5fa0d638a3f9a1 100644 --- a/docs/.vitepress/theme/index.ts +++ b/docs/.vitepress/theme/index.ts @@ -1,6 +1,8 @@ import { h } from 'vue' import type { Theme } from 'vitepress' 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 AsideSponsors from './components/AsideSponsors.vue' @@ -16,5 +18,6 @@ export default { }, enhanceApp({ app }) { app.component('SvgImage', SvgImage) + app.use(TwoslashFloatingVue) }, } satisfies Theme diff --git a/docs/.vitepress/tsconfig.json b/docs/.vitepress/tsconfig.json new file mode 100644 index 00000000000000..20b9618d576e3e --- /dev/null +++ b/docs/.vitepress/tsconfig.json @@ -0,0 +1,13 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ESNext", + "moduleResolution": "Bundler", + "strict": true, + "noImplicitOverride": true, + "noUnusedLocals": true, + "esModuleInterop": true, + "noEmit": true + }, + "exclude": ["cache", "dist"] +} diff --git a/docs/config/build-options.md b/docs/config/build-options.md index 86de923fcf8590..4d4214e6a6b73b 100644 --- a/docs/config/build-options.md +++ b/docs/config/build-options.md @@ -48,13 +48,22 @@ type ResolveModulePreloadDependenciesFn = ( The `resolveDependencies` function will be called for each dynamic import with a list of the chunks it depends on, and it will also be called for each chunk imported in entry HTML files. A new dependencies array can be returned with these filtered or more dependencies injected, and their paths modified. The `deps` paths are relative to the `build.outDir`. Returning a relative path to the `hostId` for `hostType === 'js'` is allowed, in which case `new URL(dep, import.meta.url)` is used to get an absolute path when injecting this module preload in the HTML head. -```js + +```js twoslash +/** @type {import('vite').UserConfig} */ +const config = { + build: { +// ---cut-before--- modulePreload: { resolveDependencies: (filename, deps, { hostId, hostType }) => { return deps.filter(condition) - } + }, +}, +// ---cut-after--- + }, } ``` + The resolved dependency paths can be further modified using [`experimental.renderBuiltUrl`](../guide/build.md#advanced-base-options). diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index e8ddddb09ceaf0..6f8b52d0ad7e78 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -19,7 +19,9 @@ Dependencies to exclude from pre-bundling. :::warning CommonJS CommonJS dependencies should not be excluded from optimization. If an ESM dependency is excluded from optimization, but has a nested CommonJS dependency, the CommonJS dependency should be added to `optimizeDeps.include`. Example: -```js +```js twoslash +import { defineConfig } from 'vite' +// ---cut--- export default defineConfig({ optimizeDeps: { include: ['esm-dep > cjs-dep'], @@ -37,7 +39,9 @@ By default, linked packages not inside `node_modules` are not pre-bundled. Use t **Experimental:** If you're using a library with many deep imports, you can also specify a trailing glob pattern to pre-bundle all deep imports at once. This will avoid constantly pre-bundling whenever a new deep import is used. [Give Feedback](https://github.com/vitejs/vite/discussions/15833). For example: -```js +```js twoslash +import { defineConfig } from 'vite' +// ---cut--- export default defineConfig({ optimizeDeps: { include: ['my-lib/components/**/*.vue'], diff --git a/docs/config/index.md b/docs/config/index.md index d5da4fdf6c95c8..e599295b3bd80b 100644 --- a/docs/config/index.md +++ b/docs/config/index.md @@ -50,7 +50,9 @@ Vite also directly supports TS config files. You can use `vite.config.ts` with t If the config needs to conditionally determine options based on the command (`serve` or `build`), the [mode](/guide/env-and-mode) being used, if it's an SSR build (`isSsrBuild`), or is previewing the build (`isPreview`), it can export a function instead: -```js +```js twoslash +import { defineConfig } from 'vite' +// ---cut--- export default defineConfig(({ command, mode, isSsrBuild, isPreview }) => { if (command === 'serve') { return { @@ -73,7 +75,9 @@ It is important to note that in Vite's API the `command` value is `serve` during If the config needs to call async functions, it can export an async function instead. And this async function can also be passed through `defineConfig` for improved intellisense support: -```js +```js twoslash +import { defineConfig } from 'vite' +// ---cut--- export default defineConfig(async ({ command, mode }) => { const data = await asyncFunction() return { @@ -88,7 +92,7 @@ Environmental Variables can be obtained from `process.env` as usual. Note that Vite doesn't load `.env` files by default as the files to load can only be determined after evaluating the Vite config, for example, the `root` and `envDir` options affect the loading behaviour. However, you can use the exported `loadEnv` helper to load the specific `.env` file if needed. -```js +```js twoslash import { defineConfig, loadEnv } from 'vite' export default defineConfig(({ command, mode }) => { diff --git a/docs/config/server-options.md b/docs/config/server-options.md index 8ae5f5cb5f3624..8008562de02509 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -18,10 +18,10 @@ 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 +```js twoslash // vite.config.js import { defineConfig } from 'vite' -import dns from 'dns' +import dns from 'node:dns' dns.setDefaultResultOrder('verbatim') @@ -238,7 +238,7 @@ Create Vite server in middleware mode. - **Example:** -```js +```js twoslash import express from 'express' import { createServer as createViteServer } from 'vite' @@ -358,9 +358,9 @@ export default defineConfig({ // in their paths to the ignore list. sourcemapIgnoreList(sourcePath, sourcemapPath) { return sourcePath.includes('node_modules') - } - } -}; + }, + }, +}) ``` ::: tip Note diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index 95ec386e3b811a..45bfe61859f80c 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -415,7 +415,7 @@ Adjust console output verbosity. Default is `'info'`. Use a custom logger to log messages. You can use Vite's `createLogger` API to get the default logger and customize it to, for example, change the message or filter out certain warnings. -```js +```ts twoslash import { createLogger, defineConfig } from 'vite' const logger = createLogger() diff --git a/docs/guide/api-hmr.md b/docs/guide/api-hmr.md index e0cd9485527e1c..189fe693cf02f0 100644 --- a/docs/guide/api-hmr.md +++ b/docs/guide/api-hmr.md @@ -8,15 +8,15 @@ The manual HMR API is primarily intended for framework and tooling authors. As a Vite exposes its manual HMR API via the special `import.meta.hot` object: -```ts +```ts twoslash +import type { ModuleNamespace } from 'vite/types/hot.d.ts' +import type { InferCustomEventPayload } from 'vite/types/customEvent.d.ts' + +// ---cut--- interface ImportMeta { readonly hot?: ViteHotContext } -type ModuleNamespace = Record & { - [Symbol.toStringTag]: 'Module' -} - interface ViteHotContext { readonly data: any @@ -32,7 +32,6 @@ interface ViteHotContext { prune(cb: (data: any) => void): void invalidate(message?: string): void - // `InferCustomEventPayload` provides types for built-in Vite events on( event: T, cb: (payload: InferCustomEventPayload) => void, @@ -67,7 +66,9 @@ Vite provides type definitions for `import.meta.hot` in [`vite/client.d.ts`](htt For a module to self-accept, use `import.meta.hot.accept` with a callback which receives the updated module: -```js +```js twoslash +import 'vite/client' +// ---cut--- export const count = 1 if (import.meta.hot) { @@ -90,7 +91,13 @@ Vite requires that the call to this function appears as `import.meta.hot.accept( A module can also accept updates from direct dependencies without reloading itself: -```js +```js twoslash +// @filename: /foo.d.ts +export declare const foo: () => void + +// @filename: /example.js +import 'vite/client' +// ---cut--- import { foo } from './foo.js' foo() @@ -117,7 +124,9 @@ if (import.meta.hot) { A self-accepting module or a module that expects to be accepted by others can use `hot.dispose` to clean-up any persistent side effects created by its updated copy: -```js +```js twoslash +import 'vite/client' +// ---cut--- function setupSideEffect() {} setupSideEffect() @@ -133,7 +142,9 @@ if (import.meta.hot) { Register a callback that will call when the module is no longer imported on the page. Compared to `hot.dispose`, this can be used if the source code cleans up side-effects by itself on updates and you only need to clean-up when it's removed from the page. Vite currently uses this for `.css` imports. -```js +```js twoslash +import 'vite/client' +// ---cut--- function setupOrReuseSideEffect() {} setupOrReuseSideEffect() @@ -151,7 +162,9 @@ The `import.meta.hot.data` object is persisted across different instances of the Note that re-assignment of `data` itself is not supported. Instead, you should mutate properties of the `data` object so information added from other handlers are preserved. -```js +```js twoslash +import 'vite/client' +// ---cut--- // ok import.meta.hot.data.someValue = 'hello' @@ -169,7 +182,9 @@ A self-accepting module may realize during runtime that it can't handle a HMR up Note that you should always call `import.meta.hot.accept` even if you plan to call `invalidate` immediately afterwards, or else the HMR client won't listen for future changes to the self-accepting module. To communicate your intent clearly, we recommend calling `invalidate` within the `accept` callback like so: -```js +```js twoslash +import 'vite/client' +// ---cut--- import.meta.hot.accept((module) => { // You may use the new module instance to decide whether to invalidate. if (cannotHandleUpdate(module)) { diff --git a/docs/guide/api-javascript.md b/docs/guide/api-javascript.md index 0c625a4998a083..eda204c2cf951d 100644 --- a/docs/guide/api-javascript.md +++ b/docs/guide/api-javascript.md @@ -12,26 +12,24 @@ async function createServer(inlineConfig?: InlineConfig): Promise **Example Usage:** -```js -import { fileURLToPath } from 'url' +```ts twoslash +import { fileURLToPath } from 'node:url' import { createServer } from 'vite' const __dirname = fileURLToPath(new URL('.', import.meta.url)) -;(async () => { - const server = await createServer({ - // any valid user config options, plus `mode` and `configFile` - configFile: false, - root: __dirname, - server: { - port: 1337, - }, - }) - await server.listen() +const server = await createServer({ + // any valid user config options, plus `mode` and `configFile` + configFile: false, + root: __dirname, + server: { + port: 1337, + }, +}) +await server.listen() - server.printUrls() - server.bindCLIShortcuts({ print: true }) -})() +server.printUrls() +server.bindCLIShortcuts({ print: true }) ``` ::: tip NOTE @@ -44,7 +42,7 @@ When using [middleware mode](/config/server-options.html#server-middlewaremode)
    Example -```ts +```ts twoslash import http from 'http' import { createServer } from 'vite' @@ -57,16 +55,17 @@ const vite = await createServer({ // Provide the parent http server for proxy WebSocket server: parentServer, }, - }, - proxy: { - '/ws': { - target: 'ws://localhost:3000', - // Proxying WebSocket - ws: true, + proxy: { + '/ws': { + target: 'ws://localhost:3000', + // Proxying WebSocket + ws: true, + }, }, }, }) +// @noErrors: 2339 parentServer.use(vite.middlewares) ``` @@ -210,24 +209,22 @@ async function build( **Example Usage:** -```js -import path from 'path' -import { fileURLToPath } from 'url' +```ts twoslash +import path from 'node:path' +import { fileURLToPath } from 'node:url' import { build } from 'vite' const __dirname = fileURLToPath(new URL('.', import.meta.url)) -;(async () => { - await build({ - root: path.resolve(__dirname, './project'), - base: '/foo/', - build: { - rollupOptions: { - // ... - }, +await build({ + root: path.resolve(__dirname, './project'), + base: '/foo/', + build: { + rollupOptions: { + // ... }, - }) -})() + }, +}) ``` ## `preview` @@ -240,20 +237,19 @@ async function preview(inlineConfig?: InlineConfig): Promise **Example Usage:** -```js +```ts twoslash import { preview } from 'vite' -;(async () => { - const previewServer = await preview({ - // any valid user config options, plus `mode` and `configFile` - preview: { - port: 8080, - open: true, - }, - }) - previewServer.printUrls() - previewServer.bindCLIShortcuts({ print: true }) -})() +const previewServer = await preview({ + // any valid user config options, plus `mode` and `configFile` + preview: { + port: 8080, + open: true, + }, +}) + +previewServer.printUrls() +previewServer.bindCLIShortcuts({ print: true }) ``` ## `PreviewServer` @@ -328,7 +324,17 @@ Deeply merge two Vite configs. `isRoot` represents the level within the Vite con You can use the `defineConfig` helper to merge a config in callback form with another config: -```ts +```ts twoslash +import { + defineConfig, + mergeConfig, + type UserConfigFnObject, + type UserConfig, +} from 'vite' +declare const configAsCallback: UserConfigFnObject +declare const configAsObject: UserConfig + +// ---cut--- export default defineConfig((configEnv) => mergeConfig(configAsCallback(configEnv), configAsObject), ) diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index eb62b70cc809d8..4d8066ff4dddb3 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -579,7 +579,9 @@ We recommend **always prefixing** your event names to avoid collisions with othe On the client side, use [`hot.on`](/guide/api-hmr.html#hot-on-event-cb) to listen to the events: -```ts +```ts twoslash +import 'vite/client' +// ---cut--- // client side if (import.meta.hot) { import.meta.hot.on('my:greetings', (data) => { diff --git a/docs/guide/assets.md b/docs/guide/assets.md index 657db9de24fca0..4f81d04e496a80 100644 --- a/docs/guide/assets.md +++ b/docs/guide/assets.md @@ -7,7 +7,9 @@ Importing a static asset will return the resolved public URL when it is served: -```js +```js twoslash +import 'vite/client' +// ---cut--- import imgUrl from './img.png' document.getElementById('hero-img').src = imgUrl ``` @@ -33,7 +35,9 @@ The behavior is similar to webpack's `file-loader`. The difference is that the i ::: tip Inlining SVGs through `url()` When passing a URL of SVG to a manually constructed `url()` by JS, the variable should be wrapped within double quotes. -```js +```js twoslash +import 'vite/client' +// ---cut--- import imgUrl from './img.svg' document.getElementById('hero-img').style.background = `url("${imgUrl}")` ``` @@ -44,7 +48,9 @@ document.getElementById('hero-img').style.background = `url("${imgUrl}")` Assets that are not included in the internal list or in `assetsInclude`, can be explicitly imported as a URL using the `?url` suffix. This is useful, for example, to import [Houdini Paint Worklets](https://houdini.how/usage). -```js +```js twoslash +import 'vite/client' +// ---cut--- import workletURL from 'extra-scalloped-border/worklet.js?url' CSS.paintWorklet.addModule(workletURL) ``` @@ -53,7 +59,9 @@ CSS.paintWorklet.addModule(workletURL) Assets can be imported as strings using the `?raw` suffix. -```js +```js twoslash +import 'vite/client' +// ---cut--- import shaderString from './shader.glsl?raw' ``` @@ -61,19 +69,25 @@ import shaderString from './shader.glsl?raw' Scripts can be imported as web workers with the `?worker` or `?sharedworker` suffix. -```js +```js twoslash +import 'vite/client' +// ---cut--- // Separate chunk in the production build import Worker from './shader.js?worker' const worker = new Worker() ``` -```js +```js twoslash +import 'vite/client' +// ---cut--- // sharedworker import SharedWorker from './shader.js?sharedworker' const sharedWorker = new SharedWorker() ``` -```js +```js twoslash +import 'vite/client' +// ---cut--- // Inlined as base64 strings import InlineWorker from './shader.js?worker&inline' ``` diff --git a/docs/guide/backend-integration.md b/docs/guide/backend-integration.md index 1de57e8117b808..f154be130eefb4 100644 --- a/docs/guide/backend-integration.md +++ b/docs/guide/backend-integration.md @@ -8,7 +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 + ```js twoslash + import { defineConfig } from 'vite' + // ---cut--- // vite.config.js export default defineConfig({ build: { diff --git a/docs/guide/build.md b/docs/guide/build.md index b50a4d021ebbc6..6fe034e8df735e 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -34,7 +34,6 @@ 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 -// vite.config.js export default defineConfig({ build: { rollupOptions: { @@ -68,7 +67,7 @@ You should use `build.rollupOptions.output.manualChunks` function form when usin Vite emits `vite:preloadError` event when it fails to load dynamic imports. `event.payload` contains the original import error. If you call `event.preventDefault()`, the error will not be thrown. -```js +```js twoslash window.addEventListener('vite:preloadError', (event) => { window.location.reload() // for example, refresh the page }) @@ -111,7 +110,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 +```js twoslash // vite.config.js import { resolve } from 'path' import { defineConfig } from 'vite' @@ -138,7 +137,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 +```js twoslash // vite.config.js import { resolve } from 'path' import { defineConfig } from 'vite' @@ -253,33 +252,44 @@ A user may choose to deploy in three different paths: A single static [base](#public-base-path) isn't enough in these scenarios. Vite provides experimental support for advanced base options during build, using `experimental.renderBuiltUrl`. -```ts + +```ts twoslash +import type { UserConfig } from 'vite' +const config: UserConfig = { +// ---cut-before--- experimental: { - renderBuiltUrl(filename: string, { hostType }: { hostType: 'js' | 'css' | 'html' }) { + renderBuiltUrl(filename, { hostType }) { if (hostType === 'js') { return { runtime: `window.__toCdnUrl(${JSON.stringify(filename)})` } } else { return { relative: true } } - } + }, +}, +// ---cut-after--- } ``` + If the hashed assets and public files aren't deployed together, options for each group can be defined independently using asset `type` included in the second `context` param given to the function. -```ts -experimental: { - renderBuiltUrl(filename: string, { hostId, hostType, type }: { hostId: string, hostType: 'js' | 'css' | 'html', type: 'public' | 'asset' }) { - if (type === 'public') { - return 'https://www.domain.com/' + filename - } - else if (path.extname(hostId) === '.js') { - return { runtime: `window.__assetsPath(${JSON.stringify(filename)})` } - } - else { - return 'https://cdn.domain.com/assets/' + filename - } - } +```ts twoslash +import type { UserConfig } from 'vite' +import path from 'node:path' +const config: UserConfig = { + // ---cut-before--- + experimental: { + renderBuiltUrl(filename, { hostId, hostType, type }) { + if (type === 'public') { + return 'https://www.domain.com/' + filename + } else if (path.extname(hostId) === '.js') { + return { runtime: `window.__assetsPath(${JSON.stringify(filename)})` } + } else { + return 'https://cdn.domain.com/assets/' + filename + } + }, + }, + // ---cut-after--- } ``` diff --git a/docs/guide/dep-pre-bundling.md b/docs/guide/dep-pre-bundling.md index 331563fd4c36af..e387a6ae1b8a48 100644 --- a/docs/guide/dep-pre-bundling.md +++ b/docs/guide/dep-pre-bundling.md @@ -37,7 +37,9 @@ 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 +```js twoslash +import { defineConfig } from 'vite' +// ---cut--- export default defineConfig({ optimizeDeps: { include: ['linked-dep'], diff --git a/docs/guide/features.md b/docs/guide/features.md index e5fbb3b1cdb23e..4d7d674f413743 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -176,7 +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 +```js twoslash // vite.config.js import { defineConfig } from 'vite' @@ -192,7 +192,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 +```js twoslash // vite.config.js import { defineConfig } from 'vite' @@ -230,7 +230,9 @@ Any CSS file ending with `.module.css` is considered a [CSS modules file](https: } ``` -```js +```js twoslash +import 'vite/client' +// ---cut--- import classes from './example.module.css' document.getElementById('foo').className = classes.red ``` @@ -239,7 +241,9 @@ CSS modules behavior can be configured via the [`css.modules` option](/config/sh If `css.modules.localsConvention` is set to enable camelCase locals (e.g. `localsConvention: 'camelCaseOnly'`), you can also use named imports: -```js +```js twoslash +import 'vite/client' +// ---cut--- // .apply-color -> applyColor import { applyColor } from './example.module.css' document.getElementById('foo').className = applyColor @@ -274,7 +278,9 @@ You can also use CSS modules combined with pre-processors by prepending `.module The automatic injection of CSS contents can be turned off via the `?inline` query parameter. In this case, the processed CSS string is returned as the module's default export as usual, but the styles aren't injected to the page. -```js +```js twoslash +import 'vite/client' +// ---cut--- import './foo.css' // will be injected into the page import otherStyles from './bar.css?inline' // will not be injected ``` @@ -305,29 +311,39 @@ By default, Vite uses esbuild to minify CSS. Lightning CSS can also be used as t Importing a static asset will return the resolved public URL when it is served: -```js +```js twoslash +import 'vite/client' +// ---cut--- import imgUrl from './img.png' document.getElementById('hero-img').src = imgUrl ``` Special queries can modify how assets are loaded: -```js +```js twoslash +import 'vite/client' +// ---cut--- // Explicitly load assets as URL import assetAsURL from './asset.js?url' ``` -```js +```js twoslash +import 'vite/client' +// ---cut--- // Load assets as strings import assetAsString from './shader.glsl?raw' ``` -```js +```js twoslash +import 'vite/client' +// ---cut--- // Load Web Workers import Worker from './worker.js?worker' ``` -```js +```js twoslash +import 'vite/client' +// ---cut--- // Web Workers inlined as base64 strings at build time import InlineWorker from './worker.js?worker&inline' ``` @@ -338,7 +354,9 @@ More details in [Static Asset Handling](./assets). JSON files can be directly imported - named imports are also supported: -```js +```js twoslash +import 'vite/client' +// ---cut--- // import the entire object import json from './example.json' // import a root field as named exports - helps with tree-shaking! @@ -349,7 +367,9 @@ import { field } from './example.json' Vite supports importing multiple modules from the file system via the special `import.meta.glob` function: -```js +```js twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob('./dir/*.js') ``` @@ -375,7 +395,9 @@ for (const path in modules) { Matched files are by default lazy-loaded via dynamic import and will be split into separate chunks during build. If you'd rather import all the modules directly (e.g. relying on side-effects in these modules to be applied first), you can pass `{ eager: true }` as the second argument: -```js +```js twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob('./dir/*.js', { eager: true }) ``` @@ -395,7 +417,9 @@ const modules = { The first argument can be an array of globs, for example -```js +```js twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob(['./dir/*.js', './another/*.js']) ``` @@ -403,7 +427,9 @@ const modules = import.meta.glob(['./dir/*.js', './another/*.js']) Negative glob patterns are also supported (prefixed with `!`). To ignore some files from the result, you can add exclude glob patterns to the first argument: -```js +```js twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob(['./dir/*.js', '!**/bar.js']) ``` @@ -418,7 +444,9 @@ const modules = { It's possible to only import parts of the modules with the `import` options. -```ts +```ts twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob('./dir/*.js', { import: 'setup' }) ``` @@ -432,7 +460,9 @@ const modules = { When combined with `eager` it's even possible to have tree-shaking enabled for those modules. -```ts +```ts twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob('./dir/*.js', { import: 'setup', eager: true, @@ -451,7 +481,9 @@ const modules = { Set `import` to `default` to import the default export. -```ts +```ts twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob('./dir/*.js', { import: 'default', eager: true, @@ -472,7 +504,9 @@ const modules = { 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): -```ts +```ts twoslash +import 'vite/client' +// ---cut--- const moduleStrings = import.meta.glob('./dir/*.svg', { query: '?raw', import: 'default', @@ -497,7 +531,9 @@ const moduleUrls = { You can also provide custom queries for other plugins to consume: -```ts +```ts twoslash +import 'vite/client' +// ---cut--- const modules = import.meta.glob('./dir/*.js', { query: { foo: 'bar', bar: true }, }) @@ -527,7 +563,9 @@ Note that variables only represent file names one level deep. If `file` is `'foo Pre-compiled `.wasm` files can be imported with `?init`. The default export will be an initialization function that returns a Promise of the [`WebAssembly.Instance`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/Instance): -```js +```js twoslash +import 'vite/client' +// ---cut--- import init from './example.wasm?init' init().then((instance) => { @@ -537,7 +575,10 @@ init().then((instance) => { The init function can also take an importObject which is passed along to [`WebAssembly.instantiate`](https://developer.mozilla.org/en-US/docs/WebAssembly/JavaScript_interface/instantiate) as its second argument: -```js +```js twoslash +import 'vite/client' +import init from './example.wasm?init' +// ---cut--- init({ imports: { someFunc: () => { @@ -560,7 +601,9 @@ Use [`vite-plugin-wasm`](https://github.com/Menci/vite-plugin-wasm) or other com If you need access to the `Module` object, e.g. to instantiate it multiple times, use an [explicit URL import](./assets#explicit-url-imports) to resolve the asset, and then perform the instantiation: -```js +```js twoslash +import 'vite/client' +// ---cut--- import wasmUrl from 'foo.wasm?url' const main = async () => { @@ -580,7 +623,9 @@ See the issue [Support wasm in SSR](https://github.com/vitejs/vite/issues/8882). Here is an alternative, assuming the project base is the current directory: -```js +```js twoslash +import 'vite/client' +// ---cut--- import wasmUrl from 'foo.wasm?url' import { readFile } from 'node:fs/promises' @@ -620,7 +665,9 @@ The worker detection will only work if the `new URL()` constructor is used direc A web worker script can be directly imported by appending `?worker` or `?sharedworker` to the import request. The default export will be a custom worker constructor: -```js +```js twoslash +import 'vite/client' +// ---cut--- import MyWorker from './worker?worker' const worker = new MyWorker() @@ -630,13 +677,17 @@ The worker script can also use ESM `import` statements instead of `importScripts By default, the worker script will be emitted as a separate chunk in the production build. If you wish to inline the worker as base64 strings, add the `inline` query: -```js +```js twoslash +import 'vite/client' +// ---cut--- import MyWorker from './worker?worker&inline' ``` If you wish to retrieve the worker as a URL, add the `url` query: -```js +```js twoslash +import 'vite/client' +// ---cut--- import MyWorker from './worker?worker&url' ``` diff --git a/docs/guide/ssr.md b/docs/guide/ssr.md index a5e61a93b1172d..60ed03b5ccc406 100644 --- a/docs/guide/ssr.md +++ b/docs/guide/ssr.md @@ -53,7 +53,9 @@ You can use any placeholder you prefer instead of ``, as long a If you need to perform conditional logic based on SSR vs. client, you can use -```js +```js twoslash +import 'vite/client' +// ---cut--- if (import.meta.env.SSR) { // ... server only logic } @@ -67,10 +69,10 @@ When building an SSR app, you likely want to have full control over your main se **server.js** -```js{15-18} -import fs from 'fs' -import path from 'path' -import { fileURLToPath } from 'url' +```js{15-18} twoslash +import fs from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' import express from 'express' import { createServer as createViteServer } from 'vite' @@ -109,7 +111,18 @@ Here `vite` is an instance of [ViteDevServer](./api-javascript#vitedevserver). ` The next step is implementing the `*` handler to serve server-rendered HTML: -```js +```js twoslash +// @noErrors +import fs from 'node:fs' +import path from 'node:path' +import { fileURLToPath } from 'node:url' + +/** @type {import('express').Express} */ +var app +/** @type {import('vite').ViteDevServer} */ +var vite + +// ---cut--- app.use('*', async (req, res, next) => { const url = req.originalUrl @@ -246,7 +259,9 @@ Some frameworks such as Vue or Svelte compile components into different formats **Example:** -```js +```js twoslash +/** @type {() => import('vite').Plugin} */ +// ---cut--- export function mySSRPlugin() { return { name: 'my-ssr', diff --git a/docs/guide/using-plugins.md b/docs/guide/using-plugins.md index f8691d28d96eb5..d936fee153b4dd 100644 --- a/docs/guide/using-plugins.md +++ b/docs/guide/using-plugins.md @@ -10,7 +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 +```js twoslash // vite.config.js import legacy from '@vitejs/plugin-legacy' import { defineConfig } from 'vite' @@ -46,7 +46,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 +```js twoslash // vite.config.js import image from '@rollup/plugin-image' import { defineConfig } from 'vite' @@ -67,7 +67,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 +```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 new file mode 100644 index 00000000000000..0ebc64d8394a7c --- /dev/null +++ b/docs/package.json @@ -0,0 +1,16 @@ +{ + "name": "docs", + "private": true, + "type": "module", + "scripts": { + "docs": "vitepress dev", + "docs-build": "vitepress build", + "docs-serve": "vitepress serve" + }, + "devDependencies": { + "@shikijs/vitepress-twoslash": "^1.1.7", + "@types/express": "^4.17.21", + "vitepress": "1.0.0-rc.45", + "vue": "^3.4.21" + } +} diff --git a/package.json b/package.json index f7c32b7066ffe6..69b937e99a7709 100644 --- a/package.json +++ b/package.json @@ -30,9 +30,9 @@ "test-docs": "pnpm run docs-build", "debug-serve": "VITE_DEBUG_SERVE=1 vitest run -c vitest.config.e2e.ts", "debug-build": "VITE_TEST_BUILD=1 VITE_PRESERVE_BUILD_ARTIFACTS=1 vitest run -c vitest.config.e2e.ts", - "docs": "vitepress dev docs", - "docs-build": "vitepress build docs", - "docs-serve": "vitepress serve docs", + "docs": "pnpm --filter=docs run docs", + "docs-build": "pnpm --filter=docs run docs-build", + "docs-serve": "pnpm --filter=docs run docs-serve", "build": "pnpm -r --filter='./packages/*' run build", "dev": "pnpm -r --parallel --filter='./packages/*' run dev", "release": "tsx scripts/release.ts", @@ -85,9 +85,7 @@ "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", - "vitepress": "1.0.0-rc.45", - "vitest": "^1.3.1", - "vue": "^3.4.21" + "vitest": "^1.3.1" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false" diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 6a781739907115..83a5e455609a0c 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -76,6 +76,10 @@ const debug = createDebugger('vite:config') const promisifiedRealpath = promisify(fs.realpath) export interface ConfigEnv { + /** + * 'serve': during dev (`vite` command) + * 'build': when building for production (`vite build` command) + */ command: 'build' | 'serve' mode: string isSsrBuild?: boolean @@ -105,8 +109,7 @@ export type UserConfigExport = /** * Type helper to make it easier to use vite.config.ts * accepts a direct {@link UserConfig} object, or a function that returns it. - * The function receives a {@link ConfigEnv} object that exposes two properties: - * `command` (either `'build'` or `'serve'`), and `mode`. + * The function receives a {@link ConfigEnv} object. */ export function defineConfig(config: UserConfig): UserConfig export function defineConfig(config: Promise): Promise diff --git a/packages/vite/types/customEvent.d.ts b/packages/vite/types/customEvent.d.ts index a72c1b85fc1ad0..b816a4c6c22907 100644 --- a/packages/vite/types/customEvent.d.ts +++ b/packages/vite/types/customEvent.d.ts @@ -31,5 +31,8 @@ export interface InvalidatePayload { message: string | undefined } +/** + * provides types for built-in Vite events + */ export type InferCustomEventPayload = T extends keyof CustomEventMap ? CustomEventMap[T] : any diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 929c39d3b8ce48..59b2198f64e0ce 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -159,12 +159,21 @@ importers: vite: specifier: workspace:* version: link:packages/vite - vitepress: - specifier: 1.0.0-rc.45 - version: 1.0.0-rc.45(typescript@5.2.2) vitest: specifier: ^1.3.1 version: 1.3.1(@types/node@20.11.25) + + docs: + devDependencies: + '@shikijs/vitepress-twoslash': + specifier: ^1.1.7 + version: 1.1.7(typescript@5.2.2) + '@types/express': + specifier: ^4.17.21 + version: 4.17.21 + vitepress: + specifier: 1.0.0-rc.45 + version: 1.0.0-rc.45(typescript@5.2.2) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.2.2) @@ -3607,6 +3616,22 @@ packages: engines: {node: '>=14'} dev: true + /@floating-ui/core@1.6.0: + resolution: {integrity: sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==} + dependencies: + '@floating-ui/utils': 0.2.1 + dev: true + + /@floating-ui/dom@1.1.1: + resolution: {integrity: sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==} + dependencies: + '@floating-ui/core': 1.6.0 + dev: true + + /@floating-ui/utils@0.2.1: + resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + dev: true + /@humanwhocodes/config-array@0.11.14: resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -4068,12 +4093,44 @@ packages: resolution: {integrity: sha512-cKc5vGQ4p/4sjx48BHIO7CvLaN32vqpz5Wh7v2n+U1EezGdfX4Wms7khBctKz3iCg9yYq4sfGUc2t+JWj6EUsw==} dev: true + /@shikijs/core@1.1.7: + resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==} + dev: true + /@shikijs/transformers@1.1.5: resolution: {integrity: sha512-ot6KWPmLuSN9nA9FAhttOXZIjKIy7cnwpNtI9aWmYN72RUaDz8eojRfMGUXsXXUxW/buvcvdZQAQldk7/pFpdw==} dependencies: shiki: 1.1.5 dev: true + /@shikijs/twoslash@1.1.7(typescript@5.2.2): + resolution: {integrity: sha512-WH/Ee67eixqDWjsAUXIJQUgRzPDApsz7Bci65Yobc7SWHNc8T2sY1UBa+MCV2mAj0D6VCYBwWlNxMDTfhN7K0Q==} + dependencies: + '@shikijs/core': 1.1.7 + twoslash: 0.2.4(typescript@5.2.2) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@shikijs/vitepress-twoslash@1.1.7(typescript@5.2.2): + resolution: {integrity: sha512-rjPJlG1QvNDib5tQlQJKCZSN34lpqNwFRGO6hR50MkULmZRCMENRx22q1TZGJ4WJUeZYORIW7sxv5Y2s+TvLOQ==} + dependencies: + '@shikijs/twoslash': 1.1.7(typescript@5.2.2) + floating-vue: 5.2.2(vue@3.4.21) + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm: 3.0.0 + mdast-util-to-hast: 13.1.0 + shiki: 1.1.7 + twoslash: 0.2.4(typescript@5.2.2) + twoslash-vue: 0.2.4(typescript@5.2.2) + vue: 3.4.21(typescript@5.2.2) + transitivePeerDependencies: + - '@nuxt/kit' + - supports-color + - typescript + dev: true + /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true @@ -4123,10 +4180,23 @@ packages: '@babel/types': 7.24.0 dev: true + /@types/body-parser@1.19.5: + resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} + dependencies: + '@types/connect': 3.4.38 + '@types/node': 20.11.25 + dev: true + /@types/braces@3.0.1: resolution: {integrity: sha512-+euflG6ygo4bn0JHtn4pYqcXwRtLvElQ7/nnjDu7iYG56H0+OhCd7d6Ug0IE3WcFpZozBKW2+80FUbv5QGk5AQ==} dev: true + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.11.25 + dev: true + /@types/convert-source-map@2.0.3: resolution: {integrity: sha512-ag0BfJLZf6CQz8VIuRIEYQ5Ggwk/82uvTQf27RcpyDNbY0Vw49LIPqAxk5tqYfrCs9xDaIMvl4aj7ZopnYL8bA==} dev: true @@ -4164,6 +4234,24 @@ packages: '@types/node': 20.11.25 dev: true + /@types/express-serve-static-core@4.17.43: + resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} + dependencies: + '@types/node': 20.11.25 + '@types/qs': 6.9.12 + '@types/range-parser': 1.2.7 + '@types/send': 0.17.4 + dev: true + + /@types/express@4.17.21: + resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} + dependencies: + '@types/body-parser': 1.19.5 + '@types/express-serve-static-core': 4.17.43 + '@types/qs': 6.9.12 + '@types/serve-static': 1.15.5 + dev: true + /@types/fs-extra@11.0.4: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: @@ -4171,6 +4259,16 @@ packages: '@types/node': 20.11.25 dev: true + /@types/hast@3.0.4: + resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /@types/http-errors@2.0.4: + resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} + dev: true + /@types/json-schema@7.0.12: resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} dev: true @@ -4200,6 +4298,12 @@ packages: '@types/mdurl': 1.0.2 dev: true + /@types/mdast@4.0.3: + resolution: {integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==} + dependencies: + '@types/unist': 3.0.2 + dev: true + /@types/mdurl@1.0.2: resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} dev: true @@ -4210,6 +4314,14 @@ packages: '@types/braces': 3.0.1 dev: true + /@types/mime@1.3.5: + resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} + dev: true + + /@types/mime@3.0.4: + resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} + dev: true + /@types/minimist@1.2.5: resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} dev: true @@ -4248,6 +4360,14 @@ packages: kleur: 3.0.3 dev: true + /@types/qs@6.9.12: + resolution: {integrity: sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==} + dev: true + + /@types/range-parser@1.2.7: + resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} + dev: true + /@types/resolve@1.20.2: resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} dev: true @@ -4262,12 +4382,31 @@ packages: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true + /@types/send@0.17.4: + resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} + dependencies: + '@types/mime': 1.3.5 + '@types/node': 20.11.25 + dev: true + + /@types/serve-static@1.15.5: + resolution: {integrity: sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==} + dependencies: + '@types/http-errors': 2.0.4 + '@types/mime': 3.0.4 + '@types/node': 20.11.25 + dev: true + /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: '@types/node': 20.11.25 dev: true + /@types/unist@3.0.2: + resolution: {integrity: sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ==} + dev: true + /@types/web-bluetooth@0.0.20: resolution: {integrity: sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==} dev: true @@ -4410,6 +4549,14 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@typescript/vfs@1.5.0: + resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -4475,6 +4622,18 @@ packages: pretty-format: 29.7.0 dev: true + /@volar/language-core@1.11.1: + resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + dependencies: + '@volar/source-map': 1.11.1 + dev: true + + /@volar/source-map@1.11.1: + resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + dependencies: + muggle-string: 0.3.1 + dev: true + /@vue/compiler-core@3.2.0: resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} dependencies: @@ -4561,6 +4720,26 @@ packages: rfdc: 1.3.1 dev: true + /@vue/language-core@1.8.27(typescript@5.2.2): + resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@volar/language-core': 1.11.1 + '@volar/source-map': 1.11.1 + '@vue/compiler-dom': 3.4.21 + '@vue/shared': 3.4.21 + computeds: 0.0.1 + minimatch: 9.0.3 + muggle-string: 0.3.1 + path-browserify: 1.0.1 + typescript: 5.2.2 + vue-template-compiler: 2.7.16 + dev: true + /@vue/reactivity@3.2.0: resolution: {integrity: sha512-39L3UJe8+jYeCTM/QrDglDM05O11UrmyhazUOHOOj7+a9pPVu95HGInh5CkKQf98mx2gq6t3PPN8bCN5wK8Wwg==} dependencies: @@ -5109,6 +5288,10 @@ packages: - supports-color dev: true + /ccount@2.0.1: + resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} + dev: true + /chai@4.3.10: resolution: {integrity: sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==} engines: {node: '>=4'} @@ -5144,6 +5327,10 @@ packages: engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true + /character-entities@2.0.2: + resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==} + dev: true + /character-parser@2.2.0: resolution: {integrity: sha1-x84o821LzZdE5f/CxfzeHHMmH8A=} dependencies: @@ -5276,6 +5463,10 @@ packages: dot-prop: 5.3.0 dev: true + /computeds@0.0.1: + resolution: {integrity: sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==} + dev: true + /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -5534,6 +5725,10 @@ packages: engines: {node: '>= 12'} dev: true + /de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + dev: true + /debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -5566,6 +5761,12 @@ packages: dependencies: ms: 2.1.2 + /decode-named-character-reference@1.0.2: + resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} + dependencies: + character-entities: 2.0.2 + dev: true + /deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} @@ -5608,6 +5809,11 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true + /destroy@1.2.0: resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -5623,6 +5829,12 @@ packages: engines: {node: '>=8'} dev: false + /devlop@1.1.0: + resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==} + dependencies: + dequal: 2.0.3 + dev: true + /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} @@ -5862,6 +6074,11 @@ packages: engines: {node: '>=10'} dev: true + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + /eslint-compat-utils@0.1.2(eslint@8.57.0): resolution: {integrity: sha512-Jia4JDldWnFNIru1Ehx1H5s9/yxiRHY/TimCuUc0jNexew3cF1gI6CYZil1ociakfWO3rRqFjl1mskBblB3RYg==} engines: {node: '>=12'} @@ -6291,6 +6508,20 @@ packages: resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true + /floating-vue@5.2.2(vue@3.4.21): + resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} + peerDependencies: + '@nuxt/kit': ^3.2.0 + vue: ^3.2.0 + peerDependenciesMeta: + '@nuxt/kit': + optional: true + dependencies: + '@floating-ui/dom': 1.1.1 + vue: 3.4.21(typescript@5.2.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.21) + dev: true + /focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} dependencies: @@ -6632,6 +6863,11 @@ packages: dependencies: function-bind: 1.1.2 + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + /hookable@5.5.3: resolution: {integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==} dev: true @@ -7240,6 +7476,10 @@ packages: wrap-ansi: 9.0.0 dev: true + /longest-streak@3.1.0: + resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==} + dev: true + /loose-envify@1.4.0: resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true @@ -7313,6 +7553,147 @@ packages: resolution: {integrity: sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==} dev: true + /markdown-table@3.0.3: + resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} + dev: true + + /mdast-util-find-and-replace@3.0.1: + resolution: {integrity: sha512-SG21kZHGC3XRTSUhtofZkBzZTJNM5ecCi0SK2IMKmSXR8vO3peL+kb1O0z7Zl83jKtutG4k5Wv/W7V3/YHvzPA==} + dependencies: + '@types/mdast': 4.0.3 + escape-string-regexp: 5.0.0 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: true + + /mdast-util-from-markdown@2.0.0: + resolution: {integrity: sha512-n7MTOr/z+8NAX/wmhhDji8O3bRvPTV/U0oTCaZJkjhPSKTPhS3xufVhKGF8s1pJ7Ox4QgoIU7KHseh09S+9rTA==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + mdast-util-to-string: 4.0.0 + micromark: 4.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-decode-string: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + unist-util-stringify-position: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-autolink-literal@2.0.0: + resolution: {integrity: sha512-FyzMsduZZHSc3i0Px3PQcBT4WJY/X/RCtEJKuybiC6sjPqLv7h1yqAkmILZtuxMSsUyaLUWNp71+vQH2zqp5cg==} + dependencies: + '@types/mdast': 4.0.3 + ccount: 2.0.1 + devlop: 1.1.0 + mdast-util-find-and-replace: 3.0.1 + micromark-util-character: 2.1.0 + dev: true + + /mdast-util-gfm-footnote@2.0.0: + resolution: {integrity: sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + micromark-util-normalize-identifier: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-strikethrough@2.0.0: + resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==} + dependencies: + '@types/mdast': 4.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-table@2.0.0: + resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + markdown-table: 3.0.3 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm-task-list-item@2.0.0: + resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==} + dependencies: + '@types/mdast': 4.0.3 + devlop: 1.1.0 + mdast-util-from-markdown: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-gfm@3.0.0: + resolution: {integrity: sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==} + dependencies: + mdast-util-from-markdown: 2.0.0 + mdast-util-gfm-autolink-literal: 2.0.0 + mdast-util-gfm-footnote: 2.0.0 + mdast-util-gfm-strikethrough: 2.0.0 + mdast-util-gfm-table: 2.0.0 + mdast-util-gfm-task-list-item: 2.0.0 + mdast-util-to-markdown: 2.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-phrasing@4.1.0: + resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} + dependencies: + '@types/mdast': 4.0.3 + unist-util-is: 6.0.0 + dev: true + + /mdast-util-to-hast@13.1.0: + resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + dependencies: + '@types/hast': 3.0.4 + '@types/mdast': 4.0.3 + '@ungap/structured-clone': 1.2.0 + devlop: 1.1.0 + micromark-util-sanitize-uri: 2.0.0 + trim-lines: 3.0.1 + unist-util-position: 5.0.0 + unist-util-visit: 5.0.0 + vfile: 6.0.1 + dev: true + + /mdast-util-to-markdown@2.1.0: + resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} + dependencies: + '@types/mdast': 4.0.3 + '@types/unist': 3.0.2 + longest-streak: 3.1.0 + mdast-util-phrasing: 4.1.0 + mdast-util-to-string: 4.0.0 + micromark-util-decode-string: 2.0.0 + unist-util-visit: 5.0.0 + zwitch: 2.0.4 + dev: true + + /mdast-util-to-string@4.0.0: + resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==} + dependencies: + '@types/mdast': 4.0.3 + dev: true + /media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -7347,6 +7728,181 @@ packages: resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} engines: {node: '>= 0.6'} + /micromark-core-commonmark@2.0.0: + resolution: {integrity: sha512-jThOz/pVmAYUtkroV3D5c1osFXAMv9e0ypGDOIZuCeAe91/sD6BoE2Sjzt30yuXtwOYUmySOhMas/PVyh02itA==} + dependencies: + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-factory-destination: 2.0.0 + micromark-factory-label: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-factory-title: 2.0.0 + micromark-factory-whitespace: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-classify-character: 2.0.0 + micromark-util-html-tag-name: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-factory-destination@2.0.0: + resolution: {integrity: sha512-j9DGrQLm/Uhl2tCzcbLhy5kXsgkHUrjJHg4fFAeoMRwJmJerT9aw4FEhIbZStWN8A3qMwOp1uzHr4UL8AInxtA==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-factory-label@2.0.0: + resolution: {integrity: sha512-RR3i96ohZGde//4WSe/dJsxOX6vxIg9TimLAS3i4EhBAFx8Sm5SmqVfR8E87DPSR31nEAjZfbt91OMZWcNgdZw==} + dependencies: + devlop: 1.1.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-factory-space@2.0.0: + resolution: {integrity: sha512-TKr+LIDX2pkBJXFLzpyPyljzYK3MtmllMUMODTQJIUfDGncESaqB90db9IAUcz4AZAJFdd8U9zOp9ty1458rxg==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-factory-title@2.0.0: + resolution: {integrity: sha512-jY8CSxmpWLOxS+t8W+FG3Xigc0RDQA9bKMY/EwILvsesiRniiVMejYTE4wumNc2f4UbAa4WsHqe3J1QS1sli+A==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-factory-whitespace@2.0.0: + resolution: {integrity: sha512-28kbwaBjc5yAI1XadbdPYHX/eDnqaUFVikLwrO7FDnKG7lpgxnvk/XGRhX/PN0mOZ+dBSZ+LgunHS+6tYQAzhA==} + dependencies: + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-util-character@2.1.0: + resolution: {integrity: sha512-KvOVV+X1yLBfs9dCBSopq/+G1PcgT3lAK07mC4BzXi5E7ahzMAF8oIupDDJ6mievI6F+lAATkbQQlQixJfT3aQ==} + dependencies: + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-util-chunked@2.0.0: + resolution: {integrity: sha512-anK8SWmNphkXdaKgz5hJvGa7l00qmcaUQoMYsBwDlSKFKjc6gjGXPDw3FNL3Nbwq5L8gE+RCbGqTw49FK5Qyvg==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: true + + /micromark-util-classify-character@2.0.0: + resolution: {integrity: sha512-S0ze2R9GH+fu41FA7pbSqNWObo/kzwf8rN/+IGlW/4tC6oACOs8B++bh+i9bVyNnwCcuksbFwsBme5OCKXCwIw==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-util-combine-extensions@2.0.0: + resolution: {integrity: sha512-vZZio48k7ON0fVS3CUgFatWHoKbbLTK/rT7pzpJ4Bjp5JjkZeasRfrS9wsBdDJK2cJLHMckXZdzPSSr1B8a4oQ==} + dependencies: + micromark-util-chunked: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-util-decode-numeric-character-reference@2.0.1: + resolution: {integrity: sha512-bmkNc7z8Wn6kgjZmVHOX3SowGmVdhYS7yBpMnuMnPzDq/6xwVA604DuOXMZTO1lvq01g+Adfa0pE2UKGlxL1XQ==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: true + + /micromark-util-decode-string@2.0.0: + resolution: {integrity: sha512-r4Sc6leeUTn3P6gk20aFMj2ntPwn6qpDZqWvYmAG6NgvFTIlj4WtrAudLi65qYoaGdXYViXYw2pkmn7QnIFasA==} + dependencies: + decode-named-character-reference: 1.0.2 + micromark-util-character: 2.1.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-symbol: 2.0.0 + dev: true + + /micromark-util-encode@2.0.0: + resolution: {integrity: sha512-pS+ROfCXAGLWCOc8egcBvT0kf27GoWMqtdarNfDcjb6YLuV5cM3ioG45Ys2qOVqeqSbjaKg72vU+Wby3eddPsA==} + dev: true + + /micromark-util-html-tag-name@2.0.0: + resolution: {integrity: sha512-xNn4Pqkj2puRhKdKTm8t1YHC/BAjx6CEwRFXntTaRf/x16aqka6ouVoutm+QdkISTlT7e2zU7U4ZdlDLJd2Mcw==} + dev: true + + /micromark-util-normalize-identifier@2.0.0: + resolution: {integrity: sha512-2xhYT0sfo85FMrUPtHcPo2rrp1lwbDEEzpx7jiH2xXJLqBuy4H0GgXk5ToU8IEwoROtXuL8ND0ttVa4rNqYK3w==} + dependencies: + micromark-util-symbol: 2.0.0 + dev: true + + /micromark-util-resolve-all@2.0.0: + resolution: {integrity: sha512-6KU6qO7DZ7GJkaCgwBNtplXCvGkJToU86ybBAUdavvgsCiG8lSSvYxr9MhwmQ+udpzywHsl4RpGJsYWG1pDOcA==} + dependencies: + micromark-util-types: 2.0.0 + dev: true + + /micromark-util-sanitize-uri@2.0.0: + resolution: {integrity: sha512-WhYv5UEcZrbAtlsnPuChHUAsu/iBPOVaEVsntLBIdpibO0ddy8OzavZz3iL2xVvBZOpolujSliP65Kq0/7KIYw==} + dependencies: + micromark-util-character: 2.1.0 + micromark-util-encode: 2.0.0 + micromark-util-symbol: 2.0.0 + dev: true + + /micromark-util-subtokenize@2.0.0: + resolution: {integrity: sha512-vc93L1t+gpR3p8jxeVdaYlbV2jTYteDje19rNSS/H5dlhxUYll5Fy6vJ2cDwP8RnsXi818yGty1ayP55y3W6fg==} + dependencies: + devlop: 1.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + dev: true + + /micromark-util-symbol@2.0.0: + resolution: {integrity: sha512-8JZt9ElZ5kyTnO94muPxIGS8oyElRJaiJO8EzV6ZSyGQ1Is8xwl4Q45qU5UOg+bGH4AikWziz0iN4sFLWs8PGw==} + dev: true + + /micromark-util-types@2.0.0: + resolution: {integrity: sha512-oNh6S2WMHWRZrmutsRmDDfkzKtxF+bc2VxLC9dvtrDIRFln627VsFP6fLMgTryGDljgLPjkrzQSDcPrjPyDJ5w==} + dev: true + + /micromark@4.0.0: + resolution: {integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==} + dependencies: + '@types/debug': 4.1.12 + debug: 4.3.4 + decode-named-character-reference: 1.0.2 + devlop: 1.1.0 + micromark-core-commonmark: 2.0.0 + micromark-factory-space: 2.0.0 + micromark-util-character: 2.1.0 + micromark-util-chunked: 2.0.0 + micromark-util-combine-extensions: 2.0.0 + micromark-util-decode-numeric-character-reference: 2.0.1 + micromark-util-encode: 2.0.0 + micromark-util-normalize-identifier: 2.0.0 + micromark-util-resolve-all: 2.0.0 + micromark-util-sanitize-uri: 2.0.0 + micromark-util-subtokenize: 2.0.0 + micromark-util-symbol: 2.0.0 + micromark-util-types: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + /micromatch@4.0.5: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} @@ -7537,6 +8093,10 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + /muggle-string@0.3.1: + resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + dev: true + /mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} hasBin: true @@ -7840,6 +8400,10 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + /path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + dev: true + /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -8729,6 +9293,12 @@ packages: '@shikijs/core': 1.1.5 dev: true + /shiki@1.1.7: + resolution: {integrity: sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==} + dependencies: + '@shikijs/core': 1.1.7 + dev: true + /side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} dependencies: @@ -9170,6 +9740,10 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /trim-lines@3.0.1: + resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} + dev: true + /ts-api-utils@1.0.1(typescript@5.2.2): resolution: {integrity: sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==} engines: {node: '>=16.13.0'} @@ -9240,6 +9814,35 @@ packages: fsevents: 2.3.3 dev: true + /twoslash-protocol@0.2.4: + resolution: {integrity: sha512-AEGTJj4mFGfvQc/M6qi0+s82Zq+mxLcjWZU+EUHGG8LQElyHDs+uDR+/3+m1l+WP7WL+QmWrVzFXgFX+hBg+bg==} + dev: true + + /twoslash-vue@0.2.4(typescript@5.2.2): + resolution: {integrity: sha512-AIcsYRSxn5WuZC+dD7/n99s1UEY6e5IljoGL3YijQvI/pylgsKk5sWXptp5NrRTH0srBLXoeVpE1re1Eo6eiJw==} + peerDependencies: + typescript: '*' + dependencies: + '@vue/language-core': 1.8.27(typescript@5.2.2) + twoslash: 0.2.4(typescript@5.2.2) + twoslash-protocol: 0.2.4 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /twoslash@0.2.4(typescript@5.2.2): + resolution: {integrity: sha512-hc3y11BjLHP4kV37TR6lUKksxpZp0LQi9kCy95ka6qobye/gV49PqXZIuWlRaRVGNvp4AJBMg8aiwkp0M8x/nQ==} + peerDependencies: + typescript: '*' + dependencies: + '@typescript/vfs': 1.5.0 + twoslash-protocol: 0.2.4 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + /type-check@0.4.0: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} @@ -9371,6 +9974,39 @@ packages: engines: {node: '>=4'} dev: false + /unist-util-is@6.0.0: + resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /unist-util-position@5.0.0: + resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /unist-util-stringify-position@4.0.0: + resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==} + dependencies: + '@types/unist': 3.0.2 + dev: true + + /unist-util-visit-parents@6.0.1: + resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + dev: true + + /unist-util-visit@5.0.0: + resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==} + dependencies: + '@types/unist': 3.0.2 + unist-util-is: 6.0.0 + unist-util-visit-parents: 6.0.1 + dev: true + /universalify@2.0.0: resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} engines: {node: '>= 10.0.0'} @@ -9438,6 +10074,21 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} + /vfile-message@4.0.2: + resolution: {integrity: sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + dev: true + + /vfile@6.0.1: + resolution: {integrity: sha512-1bYqc7pt6NIADBJ98UiG0Bn/CHIVOoZ/IyEkqIruLg0mE1BKzkOXY2D6CSqQIcKqgadppE5lrxgWXJmXd7zZJw==} + dependencies: + '@types/unist': 3.0.2 + unist-util-stringify-position: 4.0.0 + vfile-message: 4.0.2 + dev: true + /vite-node@1.3.1: resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9571,6 +10222,14 @@ packages: vue: 3.4.21(typescript@5.2.2) dev: true + /vue-resize@2.0.0-alpha.1(vue@3.4.21): + resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} + peerDependencies: + vue: ^3.0.0 + dependencies: + vue: 3.4.21(typescript@5.2.2) + dev: true + /vue-router@4.3.0(vue@3.4.21): resolution: {integrity: sha512-dqUcs8tUeG+ssgWhcPbjHvazML16Oga5w34uCUmsk7i0BcnskoLGwjpa15fqMr2Fa5JgVBrdL2MEgqz6XZ/6IQ==} peerDependencies: @@ -9580,6 +10239,13 @@ packages: vue: 3.4.21(typescript@5.2.2) dev: false + /vue-template-compiler@2.7.16: + resolution: {integrity: sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==} + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + dev: true + /vue@3.2.0: resolution: {integrity: sha512-eMo5yCdkWRmBfqp/acBI/Y1Omgk0NyGqPViaU66eOpKarXNtkdImzDA57+E76jnWVr6MEp/rg1n0vnxaVvALMQ==} dependencies: @@ -9768,6 +10434,10 @@ packages: resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} dev: true + /zwitch@2.0.4: + resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} + dev: true + file:playground/alias/dir/module: resolution: {directory: playground/alias/dir/module, type: directory} name: '@vitejs/test-aliased-module' diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 19efe2ba1fc494..da71b7757cde0f 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -2,3 +2,4 @@ packages: - 'packages/*' - 'playground/**' - 'packages/**/__tests__/**' + - docs From 50caf673f635f5a77f4cd72297c40fb4d77ead9b Mon Sep 17 00:00:00 2001 From: Casey Carroll Date: Sun, 17 Mar 2024 07:35:04 -0700 Subject: [PATCH 437/656] fix(assets): avoid splitting `,` inside query parameter of image URI in srcset property (#16081) --- packages/vite/src/node/__tests__/utils.spec.ts | 14 ++++++++++++++ packages/vite/src/node/utils.ts | 11 +++++++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/__tests__/utils.spec.ts b/packages/vite/src/node/__tests__/utils.spec.ts index 549371a2f395de..ac10229fc1b2e5 100644 --- a/packages/vite/src/node/__tests__/utils.spec.ts +++ b/packages/vite/src/node/__tests__/utils.spec.ts @@ -339,6 +339,20 @@ describe('processSrcSetSync', () => { expect(processSrcSetSync(base64, ({ url }) => url)).toBe(base64) }) + test('should not split the comma inside image URI', async () => { + const imageURIWithComma = + 'asset.png?param1=true,param2=false 400w, asset.png?param1=true,param2=false 800w' + expect(processSrcSetSync(imageURIWithComma, ({ url }) => url)).toBe( + imageURIWithComma, + ) + }) + + test('should handle srcset when descriptor is not present', async () => { + const srcsetNoDescriptor = 'asset.png, test.png 400w' + const result = 'asset.png, test.png 400w' + expect(processSrcSetSync(srcsetNoDescriptor, ({ url }) => url)).toBe(result) + }) + test('should not break a regular URL in srcSet', async () => { const source = 'https://anydomain/image.jpg' expect( diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 69f6cb0a91ab39..da754f215dac61 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -772,10 +772,17 @@ export function processSrcSetSync( } const cleanSrcSetRE = - /(?:url|image|gradient|cross-fade)\([^)]*\)|"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|data:\w+\/[\w.+\-]+;base64,[\w+/=]+/g + /(?:url|image|gradient|cross-fade)\([^)]*\)|"([^"]|(?<=\\)")*"|'([^']|(?<=\\)')*'|data:\w+\/[\w.+\-]+;base64,[\w+/=]+|\?\S+,/g function splitSrcSet(srcs: string) { const parts: string[] = [] - // There could be a ',' inside of url(data:...), linear-gradient(...), "data:..." or data:... + /** + * There could be a ',' inside of: + * - url(data:...) + * - linear-gradient(...) + * - "data:..." + * - data:... + * - query parameter ?... + */ const cleanedSrcs = srcs.replace(cleanSrcSetRE, blankReplacer) let startIndex = 0 let splitIndex: number From de60f1e3d1eb03167362cf8ce0c6c4071430f812 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Sun, 17 Mar 2024 23:25:48 +0800 Subject: [PATCH 438/656] perf(transformRequest): fast-path watch and sourcemap handling (#16170) --- packages/vite/src/node/server/sourcemap.ts | 32 +++++++++++++++- .../vite/src/node/server/transformRequest.ts | 37 +++++++------------ 2 files changed, 45 insertions(+), 24 deletions(-) diff --git a/packages/vite/src/node/server/sourcemap.ts b/packages/vite/src/node/server/sourcemap.ts index eafde8c25b67d1..a0ed31968b6c41 100644 --- a/packages/vite/src/node/server/sourcemap.ts +++ b/packages/vite/src/node/server/sourcemap.ts @@ -1,8 +1,9 @@ import path from 'node:path' import fsp from 'node:fs/promises' +import convertSourceMap from 'convert-source-map' import type { ExistingRawSourceMap, SourceMap } from 'rollup' import type { Logger } from '../logger' -import { createDebugger } from '../utils' +import { blankReplacer, createDebugger } from '../utils' const debug = createDebugger('vite:sourcemap', { onlyWhenFocused: true, @@ -143,3 +144,32 @@ export function applySourcemapIgnoreList( if (!map.x_google_ignoreList) map.x_google_ignoreList = x_google_ignoreList } } + +export async function extractSourcemapFromFile( + code: string, + filePath: string, +): Promise<{ code: string; map: SourceMap } | undefined> { + const map = ( + convertSourceMap.fromSource(code) || + (await convertSourceMap.fromMapFileSource( + code, + createConvertSourceMapReadMap(filePath), + )) + )?.toObject() + + if (map) { + return { + code: code.replace(convertSourceMap.mapFileCommentRegex, blankReplacer), + map, + } + } +} + +function createConvertSourceMapReadMap(originalFileName: string) { + return (filename: string) => { + return fsp.readFile( + path.resolve(path.dirname(originalFileName), filename), + 'utf-8', + ) + } +} diff --git a/packages/vite/src/node/server/transformRequest.ts b/packages/vite/src/node/server/transformRequest.ts index 8341f14a70a737..5dc6e3921215af 100644 --- a/packages/vite/src/node/server/transformRequest.ts +++ b/packages/vite/src/node/server/transformRequest.ts @@ -2,14 +2,12 @@ import fsp from 'node:fs/promises' import path from 'node:path' import { performance } from 'node:perf_hooks' import getEtag from 'etag' -import convertSourceMap from 'convert-source-map' import MagicString from 'magic-string' import { init, parse as parseImports } from 'es-module-lexer' import type { PartialResolvedId, SourceDescription, SourceMap } from 'rollup' import colors from 'picocolors' import type { ModuleNode, ViteDevServer } from '..' import { - blankReplacer, createDebugger, ensureWatchedFile, injectQuery, @@ -24,7 +22,11 @@ import { checkPublicFile } from '../publicDir' import { isDepsOptimizerEnabled } from '../config' import { getDepsOptimizer, initDevSsrDepsOptimizer } from '../optimizer' import { cleanUrl, unwrapId } from '../../shared/utils' -import { applySourcemapIgnoreList, injectSourcesContent } from './sourcemap' +import { + applySourcemapIgnoreList, + extractSourcemapFromFile, + injectSourcesContent, +} from './sourcemap' import { isFileServingAllowed } from './middlewares/static' import { throwClosedServerError } from './pluginContainer' @@ -263,21 +265,19 @@ async function loadAndTransform( throw e } } - ensureWatchedFile(server.watcher, file, config.root) + if (code != null) { + ensureWatchedFile(server.watcher, file, config.root) + } } if (code) { try { - map = ( - convertSourceMap.fromSource(code) || - (await convertSourceMap.fromMapFileSource( - code, - createConvertSourceMapReadMap(file), - )) - )?.toObject() - - code = code.replace(convertSourceMap.mapFileCommentRegex, blankReplacer) + const extracted = await extractSourcemapFromFile(code, file) + if (extracted) { + code = extracted.code + map = extracted.map + } } catch (e) { - logger.warn(`Failed to load source map for ${url}.`, { + logger.warn(`Failed to load source map for ${file}.\n${e}`, { timestamp: true, }) } @@ -406,15 +406,6 @@ async function loadAndTransform( return result } -function createConvertSourceMapReadMap(originalFileName: string) { - return (filename: string) => { - return fsp.readFile( - path.resolve(path.dirname(originalFileName), filename), - 'utf-8', - ) - } -} - /** * When a module is soft-invalidated, we can preserve its previous `transformResult` and * return similar code to before: From 842643d82b5fc2b17e994cf47f8fc1a39c09201e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:23:16 +0800 Subject: [PATCH 439/656] chore(deps): update all non-major dependencies (#16186) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docs/package.json | 2 +- package.json | 12 +- .../template-preact-ts/package.json | 2 +- .../create-vite/template-preact/package.json | 2 +- .../template-react-ts/package.json | 10 +- .../create-vite/template-react/package.json | 8 +- .../template-solid-ts/package.json | 2 +- .../create-vite/template-solid/package.json | 2 +- .../template-svelte-ts/package.json | 2 +- packages/vite/package.json | 6 +- playground/backend-integration/package.json | 2 +- .../config/packages/siblings/package.json | 2 +- .../css-lightningcss-proxy/package.json | 2 +- playground/css-lightningcss/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/package.json | 2 +- playground/legacy/package.json | 2 +- playground/multiple-entrypoints/package.json | 2 +- playground/optimize-deps/package.json | 2 +- playground/preload/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- pnpm-lock.yaml | 483 +++++++++--------- 22 files changed, 269 insertions(+), 284 deletions(-) diff --git a/docs/package.json b/docs/package.json index 0ebc64d8394a7c..47d8e05eed31ce 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,7 +8,7 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.1.7", + "@shikijs/vitepress-twoslash": "^1.2.0", "@types/express": "^4.17.21", "vitepress": "1.0.0-rc.45", "vue": "^3.4.21" diff --git a/package.json b/package.json index 69b937e99a7709..e38b96874e04f0 100644 --- a/package.json +++ b/package.json @@ -53,14 +53,14 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.6", - "@types/node": "^20.11.25", + "@types/node": "^20.11.28", "@types/picomatch": "^2.3.3", "@types/sass": "~1.43.1", "@types/semver": "^7.5.8", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^4.1.0", "eslint": "^8.57.0", @@ -79,13 +79,13 @@ "rimraf": "^5.0.5", "rollup": "^4.13.0", "semver": "^7.6.0", - "simple-git-hooks": "^2.10.0", + "simple-git-hooks": "^2.11.0", "tslib": "^2.6.2", "tsx": "^4.7.1", "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", - "vitest": "^1.3.1" + "vitest": "^1.4.0" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false" @@ -104,7 +104,7 @@ "eslint --cache --fix" ] }, - "packageManager": "pnpm@8.15.4", + "packageManager": "pnpm@8.15.5", "pnpm": { "overrides": { "vite": "workspace:*" diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 02051b46893175..af5014bd09e2ac 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -12,7 +12,7 @@ "preact": "^10.19.6" }, "devDependencies": { - "@preact/preset-vite": "^2.8.1", + "@preact/preset-vite": "^2.8.2", "typescript": "^5.2.2", "vite": "^5.1.6" } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index eacc247f2c978e..fd28212a9cf1da 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -12,7 +12,7 @@ "preact": "^10.19.6" }, "devDependencies": { - "@preact/preset-vite": "^2.8.1", + "@preact/preset-vite": "^2.8.2", "vite": "^5.1.6" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 9ed0c5c7796e53..7f9e555a6cedad 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,14 +14,14 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.64", - "@types/react-dom": "^18.2.21", - "@typescript-eslint/eslint-plugin": "^7.1.1", - "@typescript-eslint/parser": "^7.1.1", + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", + "@typescript-eslint/eslint-plugin": "^7.2.0", + "@typescript-eslint/parser": "^7.2.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.5", + "eslint-plugin-react-refresh": "^0.4.6", "typescript": "^5.2.2", "vite": "^5.1.6" } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 0c4845465968bc..8de2303b57197e 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,13 +14,13 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.64", - "@types/react-dom": "^18.2.21", + "@types/react": "^18.2.66", + "@types/react-dom": "^18.2.22", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", - "eslint-plugin-react": "^7.34.0", + "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-react-refresh": "^0.4.5", + "eslint-plugin-react-refresh": "^0.4.6", "vite": "^5.1.6" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 0eb4e4abda3db2..78854f1f4b3a9b 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -14,6 +14,6 @@ "devDependencies": { "typescript": "^5.2.2", "vite": "^5.1.6", - "vite-plugin-solid": "^2.10.1" + "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 092772e79b4ec0..4a0cd09abd1aef 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "vite": "^5.1.6", - "vite-plugin-solid": "^2.10.1" + "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 e7b53915ec9764..1bbbf24e3dbe3e 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.0.2", "@tsconfig/svelte": "^5.0.2", "svelte": "^4.2.12", - "svelte-check": "^3.6.6", + "svelte-check": "^3.6.7", "tslib": "^2.6.2", "typescript": "^5.2.2", "vite": "^5.1.6" diff --git a/packages/vite/package.json b/packages/vite/package.json index d2c5c98b57c8ce..12368df3123ad3 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -86,7 +86,7 @@ "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", "dependencies": { "esbuild": "^0.20.1", - "postcss": "^8.4.35", + "postcss": "^8.4.36", "rollup": "^4.13.0" }, "optionalDependencies": { @@ -126,7 +126,7 @@ "fast-glob": "^3.3.2", "http-proxy": "^1.18.1", "launch-editor-middleware": "^2.6.1", - "lightningcss": "^1.24.0", + "lightningcss": "^1.24.1", "magic-string": "^0.30.8", "micromatch": "^4.0.5", "mlly": "^1.6.1", @@ -151,7 +151,7 @@ "tsconfck": "^3.0.3", "tslib": "^2.6.2", "types": "link:./types", - "ufo": "^1.4.0", + "ufo": "^1.5.1", "ws": "^8.16.0" }, "peerDependencies": { diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index 8318b694028b76..7df8a58df61ff6 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.71.1", + "sass": "^1.72.0", "tailwindcss": "^3.4.1", "fast-glob": "^3.3.2" } diff --git a/playground/config/packages/siblings/package.json b/playground/config/packages/siblings/package.json index 14c8726811acb4..049019bd1abfd7 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.14.202", + "@types/lodash": "^4.17.0", "lodash": "^4.17.21" } } diff --git a/playground/css-lightningcss-proxy/package.json b/playground/css-lightningcss-proxy/package.json index 5ac9b0f4a804e2..4e335a3184b382 100644 --- a/playground/css-lightningcss-proxy/package.json +++ b/playground/css-lightningcss-proxy/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "devDependencies": { - "lightningcss": "^1.24.0", + "lightningcss": "^1.24.1", "express": "^4.18.3" } } diff --git a/playground/css-lightningcss/package.json b/playground/css-lightningcss/package.json index 1ebca75d1ab941..8a73fd408dcccc 100644 --- a/playground/css-lightningcss/package.json +++ b/playground/css-lightningcss/package.json @@ -9,6 +9,6 @@ "preview": "vite preview" }, "devDependencies": { - "lightningcss": "^1.24.0" + "lightningcss": "^1.24.1" } } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index 5a1ed1ce1c8fb0..53f41868add3bd 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.8", - "sass": "^1.71.1", + "sass": "^1.72.0", "stylus": "^0.63.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index 7c34140d9e9b53..02b8bb4baf2486 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.0.1", - "sass": "^1.71.1", + "sass": "^1.72.0", "stylus": "^0.63.0", "sugarss": "^4.0.1" }, diff --git a/playground/legacy/package.json b/playground/legacy/package.json index f98575286fde4d..f39cc6fba1e0eb 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -17,6 +17,6 @@ "devDependencies": { "@vitejs/plugin-legacy": "workspace:*", "express": "^4.18.3", - "terser": "^5.29.1" + "terser": "^5.29.2" } } diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index bbd738497c2000..61c745973af6df 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.71.1" + "sass": "^1.72.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 99be592eb4972f..1f64f6af5c587e 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "dependencies": { - "axios": "^1.6.7", + "axios": "^1.6.8", "clipboard": "^2.0.11", "@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": "file:./longfilename", "@vitejs/test-dep-alias-using-absolute-path": "file:./dep-alias-using-absolute-path", diff --git a/playground/preload/package.json b/playground/preload/package.json index a2b7d3a134db79..f5c01384a0f656 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.ts" }, "devDependencies": { - "terser": "^5.29.1", + "terser": "^5.29.2", "@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 99a4132aed73ff..1073d07516e519 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.20240304.0", + "miniflare": "^3.20240304.2", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 59b2198f64e0ce..9dd16c491ca257 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,8 +64,8 @@ importers: specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.11.25 - version: 20.11.25 + specifier: ^20.11.28 + version: 20.11.28 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -82,11 +82,11 @@ importers: specifier: ^8.5.10 version: 8.5.10 '@typescript-eslint/eslint-plugin': - specifier: ^7.1.1 - version: 7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.2.0 + version: 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^7.1.1 - version: 7.1.1(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.2.0 + version: 7.2.0(eslint@8.57.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -101,7 +101,7 @@ importers: version: 2.1.0 eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint@8.57.0) eslint-plugin-n: specifier: ^16.6.2 version: 16.6.2(eslint@8.57.0) @@ -142,8 +142,8 @@ importers: specifier: ^7.6.0 version: 7.6.0 simple-git-hooks: - specifier: ^2.10.0 - version: 2.10.0 + specifier: ^2.11.0 + version: 2.11.0 tslib: specifier: ^2.6.2 version: 2.6.2 @@ -160,14 +160,14 @@ importers: specifier: workspace:* version: link:packages/vite vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.25) + specifier: ^1.4.0 + version: 1.4.0(@types/node@20.11.28) docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.1.7 - version: 1.1.7(typescript@5.2.2) + specifier: ^1.2.0 + version: 1.2.0(typescript@5.2.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -245,8 +245,8 @@ importers: specifier: ^0.20.1 version: 0.20.1 postcss: - specifier: ^8.4.35 - version: 8.4.35 + specifier: ^8.4.36 + version: 8.4.36 rollup: specifier: ^4.13.0 version: 4.13.0 @@ -355,8 +355,8 @@ importers: specifier: ^2.6.1 version: 2.6.1 lightningcss: - specifier: ^1.24.0 - version: 1.24.0 + specifier: ^1.24.1 + version: 1.24.1 magic-string: specifier: ^0.30.8 version: 0.30.8 @@ -389,13 +389,13 @@ importers: version: 2.3.1 postcss-import: specifier: ^16.0.1 - version: 16.0.1(patch_hash=fjrm7xa2co7loa5ldk32oip4ly)(postcss@8.4.35) + version: 16.0.1(patch_hash=fjrm7xa2co7loa5ldk32oip4ly)(postcss@8.4.36) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.35)(ts-node@10.9.2) + version: 4.0.2(postcss@8.4.36)(ts-node@10.9.2) postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.35) + version: 6.0.0(postcss@8.4.36) resolve.exports: specifier: ^2.0.2 version: 2.0.2 @@ -430,8 +430,8 @@ importers: specifier: link:./types version: link:types ufo: - specifier: ^1.4.0 - version: 1.4.0 + specifier: ^1.5.1 + version: 1.5.1 ws: specifier: ^8.16.0 version: 8.16.0 @@ -521,8 +521,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.71.1 - version: 1.71.1 + specifier: ^1.72.0 + version: 1.72.0 tailwindcss: specifier: ^3.4.1 version: 3.4.1(ts-node@10.9.2) @@ -548,8 +548,8 @@ importers: playground/config/packages/siblings: devDependencies: '@types/lodash': - specifier: ^4.14.202 - version: 4.14.202 + specifier: ^4.17.0 + version: 4.17.0 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -581,10 +581,10 @@ importers: version: 4.2.0 postcss-nested: specifier: ^6.0.1 - version: 6.0.1(postcss@8.4.35) + version: 6.0.1(postcss@8.4.36) sass: - specifier: ^1.71.1 - version: 1.71.1 + specifier: ^1.72.0 + version: 1.72.0 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -601,8 +601,8 @@ importers: playground/css-lightningcss: devDependencies: lightningcss: - specifier: ^1.24.0 - version: 1.24.0 + specifier: ^1.24.1 + version: 1.24.1 playground/css-lightningcss-proxy: devDependencies: @@ -610,8 +610,8 @@ importers: specifier: ^4.18.3 version: 4.18.3 lightningcss: - specifier: ^1.24.0 - version: 1.24.0 + specifier: ^1.24.1 + version: 1.24.1 playground/css-sourcemap: devDependencies: @@ -622,8 +622,8 @@ importers: specifier: ^0.30.8 version: 0.30.8 sass: - specifier: ^1.71.1 - version: 1.71.1 + specifier: ^1.72.0 + version: 1.72.0 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -798,8 +798,8 @@ importers: specifier: ^4.18.3 version: 4.18.3 terser: - specifier: ^5.29.1 - version: 5.29.1 + specifier: ^5.29.2 + version: 5.29.2 playground/lib: devDependencies: @@ -820,8 +820,8 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.71.1 - version: 1.71.1 + specifier: ^1.72.0 + version: 1.72.0 playground/nested-deps: dependencies: @@ -964,8 +964,8 @@ importers: specifier: workspace:0.0.0 version: link:../resolve-linked axios: - specifier: ^1.6.7 - version: 1.6.7 + specifier: ^1.6.8 + version: 1.6.8 clipboard: specifier: ^2.0.11 version: 2.0.11 @@ -1106,8 +1106,8 @@ importers: specifier: file:./dep-including-a version: file:playground/preload/dep-including-a terser: - specifier: ^5.29.1 - version: 5.29.1 + specifier: ^5.29.2 + version: 5.29.2 playground/preload/dep-a: {} @@ -1519,8 +1519,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240304.0 - version: 3.20240304.0 + specifier: ^3.20240304.2 + version: 3.20240304.2 playground/ssr-webworker/browser-exports: {} @@ -1543,7 +1543,7 @@ importers: devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.25)(typescript@5.2.2) + version: 10.9.2(@types/node@20.11.28)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -1767,7 +1767,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -3676,14 +3676,6 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -3696,10 +3688,6 @@ packages: resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.1.2: - resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} - engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.2.1: resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} @@ -3707,7 +3695,7 @@ packages: /@jridgewell/source-map@0.3.3: resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 dev: true @@ -4093,8 +4081,8 @@ packages: resolution: {integrity: sha512-cKc5vGQ4p/4sjx48BHIO7CvLaN32vqpz5Wh7v2n+U1EezGdfX4Wms7khBctKz3iCg9yYq4sfGUc2t+JWj6EUsw==} dev: true - /@shikijs/core@1.1.7: - resolution: {integrity: sha512-gTYLUIuD1UbZp/11qozD3fWpUTuMqPSf3svDMMrL0UmlGU7D9dPw/V1FonwAorCUJBltaaESxq90jrSjQyGixg==} + /@shikijs/core@1.2.0: + resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==} dev: true /@shikijs/transformers@1.1.5: @@ -4103,25 +4091,25 @@ packages: shiki: 1.1.5 dev: true - /@shikijs/twoslash@1.1.7(typescript@5.2.2): - resolution: {integrity: sha512-WH/Ee67eixqDWjsAUXIJQUgRzPDApsz7Bci65Yobc7SWHNc8T2sY1UBa+MCV2mAj0D6VCYBwWlNxMDTfhN7K0Q==} + /@shikijs/twoslash@1.2.0(typescript@5.2.2): + resolution: {integrity: sha512-rVIpuL40tXG5hItVf+4aYTEEwQO6R5pvzqMZa5r6bLMpHK720Op25e/BnCohNIdsUOEaFH9xqRSJo8ubjCiM1w==} dependencies: - '@shikijs/core': 1.1.7 + '@shikijs/core': 1.2.0 twoslash: 0.2.4(typescript@5.2.2) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.1.7(typescript@5.2.2): - resolution: {integrity: sha512-rjPJlG1QvNDib5tQlQJKCZSN34lpqNwFRGO6hR50MkULmZRCMENRx22q1TZGJ4WJUeZYORIW7sxv5Y2s+TvLOQ==} + /@shikijs/vitepress-twoslash@1.2.0(typescript@5.2.2): + resolution: {integrity: sha512-gE2WxHmH+SDB+PVrmz3Aucf1OGe/RXfJVHIM/vx1R1H6ZtVP1SQ996qa6iPOcwF6/LNW+AODxrxZAAUUFS4GIQ==} dependencies: - '@shikijs/twoslash': 1.1.7(typescript@5.2.2) + '@shikijs/twoslash': 1.2.0(typescript@5.2.2) floating-vue: 5.2.2(vue@3.4.21) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 - shiki: 1.1.7 + shiki: 1.2.0 twoslash: 0.2.4(typescript@5.2.2) twoslash-vue: 0.2.4(typescript@5.2.2) vue: 3.4.21(typescript@5.2.2) @@ -4184,7 +4172,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/braces@3.0.1: @@ -4194,7 +4182,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/convert-source-map@2.0.3: @@ -4204,7 +4192,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/debug@4.1.12: @@ -4231,13 +4219,13 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -4256,7 +4244,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/hast@3.0.4: @@ -4276,7 +4264,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/less@3.0.6: @@ -4287,8 +4275,8 @@ packages: resolution: {integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==} dev: true - /@types/lodash@4.14.202: - resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + /@types/lodash@4.17.0: + resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} dev: true /@types/markdown-it@13.0.7: @@ -4336,8 +4324,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.25: - resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} dependencies: undici-types: 5.26.5 @@ -4375,7 +4363,7 @@ packages: /@types/sass@1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/semver@7.5.8: @@ -4386,7 +4374,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/serve-static@1.15.5: @@ -4394,13 +4382,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true /@types/unist@3.0.2: @@ -4414,11 +4402,11 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.28 dev: true - /@typescript-eslint/eslint-plugin@7.1.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-zioDz623d0RHNhvx0eesUmGfIjzrk18nSBC8xewepKXbBvN/7c1qImV7Hg8TI1URTxKax7/zxfxj3Uph8Chcuw==} + /@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -4429,11 +4417,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/type-utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 @@ -4446,8 +4434,8 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.1.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-ZWUFyL0z04R1nAEgr9e79YtV5LbafdOtN7yapNbn1ansMyaegl2D4bL7vHoJ4HPSc4CaLwuCVas8CVuneKzplQ==} + /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -4456,10 +4444,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 eslint: 8.57.0 typescript: 5.2.2 @@ -4467,16 +4455,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@7.1.1: - resolution: {integrity: sha512-cirZpA8bJMRb4WZ+rO6+mnOJrGFDd38WoXCEI57+CYBqta8Yc8aJym2i7vyqLL1vVYljgw0X27axkUXz32T8TA==} + /@typescript-eslint/scope-manager@7.2.0: + resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 dev: true - /@typescript-eslint/type-utils@7.1.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-5r4RKze6XHEEhlZnJtR3GYeCh1IueUHdbrukV2KSlLXaTjuSfeVF8mZUVPLovidCuZfbVjfhi4c0DNSa/Rdg5g==} + /@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -4485,8 +4473,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) - '@typescript-eslint/utils': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.2.2) + '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.0.1(typescript@5.2.2) @@ -4495,13 +4483,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@7.1.1: - resolution: {integrity: sha512-KhewzrlRMrgeKm1U9bh2z5aoL4s7K3tK5DwHDn8MHv0yQfWFz/0ZR6trrIHHa5CsF83j/GgHqzdbzCXJ3crx0Q==} + /@typescript-eslint/types@7.2.0: + resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@7.1.1(typescript@5.2.2): - resolution: {integrity: sha512-9ZOncVSfr+sMXVxxca2OJOPagRwT0u/UHikM2Rd6L/aB+kL/QAuTnsv6MeXtjzCJYb8PzrXarypSGIPx3Jemxw==} + /@typescript-eslint/typescript-estree@7.2.0(typescript@5.2.2): + resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4509,8 +4497,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/visitor-keys': 7.1.1 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4522,8 +4510,8 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.1.1(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-thOXM89xA03xAE0lW7alstvnyoBUbBX38YtY+zAUcpRPcq9EIhXPuJ0YTv948MbzmKh6e1AUszn5cBFK49Umqg==} + /@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^8.56.0 @@ -4531,9 +4519,9 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.1.1 - '@typescript-eslint/types': 7.1.1 - '@typescript-eslint/typescript-estree': 7.1.1(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.2.2) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -4541,11 +4529,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@7.1.1: - resolution: {integrity: sha512-yTdHDQxY7cSoCcAtiBzVzxleJhkGB9NncSIyMYe2+OGON1ZsP9zOPws/Pqgopa65jvknOjlk/w7ulPlZ78PiLQ==} + /@typescript-eslint/visitor-keys@7.2.0: + resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 7.1.1 + '@typescript-eslint/types': 7.2.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4583,38 +4571,38 @@ packages: semver: 7.6.0 dev: true - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 chai: 4.3.10 dev: true - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} dependencies: - '@vitest/utils': 1.3.1 + '@vitest/utils': 1.4.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: magic-string: 0.30.8 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -4676,7 +4664,7 @@ packages: '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.8 - postcss: 8.4.35 + postcss: 8.4.36 source-map-js: 1.0.2 /@vue/compiler-ssr@3.4.21: @@ -5099,10 +5087,10 @@ packages: postcss-value-parser: 4.2.0 dev: false - /axios@1.6.7: - resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: - follow-redirects: 1.15.4 + follow-redirects: 1.15.6 form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -6103,7 +6091,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -6124,7 +6112,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.1.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -6144,7 +6132,7 @@ packages: eslint-compat-utils: 0.1.2(eslint@8.57.0) dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.1.1)(eslint@8.57.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.2.0)(eslint@8.57.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -6154,7 +6142,7 @@ packages: doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.1.1)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -6540,8 +6528,8 @@ packages: debug: 4.3.4 dev: true - /follow-redirects@1.15.4: - resolution: {integrity: sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==} + /follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -6724,7 +6712,7 @@ packages: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.1 + minimatch: 9.0.3 minipass: 5.0.0 path-scurry: 1.10.1 dev: true @@ -6930,7 +6918,7 @@ packages: dev: true optional: true - /icss-utils@5.1.0(postcss@8.4.35): + /icss-utils@5.1.0(postcss@8.4.36): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -6939,7 +6927,7 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: true /ignore-walk@5.0.1: @@ -7270,8 +7258,8 @@ packages: type-check: 0.4.0 dev: true - /lightningcss-darwin-arm64@1.24.0: - resolution: {integrity: sha512-rTNPkEiynOu4CfGdd5ZfVOQe2gd2idfQd4EfX1l2ZUUwd+2SwSdbb7cG4rlwfnZckbzCAygm85xkpekRE5/wFw==} + /lightningcss-darwin-arm64@1.24.1: + resolution: {integrity: sha512-1jQ12jBy+AE/73uGQWGSafK5GoWgmSiIQOGhSEXiFJSZxzV+OXIx+a9h2EYHxdJfX864M+2TAxWPWb0Vv+8y4w==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [darwin] @@ -7279,8 +7267,8 @@ packages: dev: true optional: true - /lightningcss-darwin-x64@1.24.0: - resolution: {integrity: sha512-4KCeF2RJjzp9xdGY8zIH68CUtptEg8uz8PfkHvsIdrP4t9t5CIgfDBhiB8AmuO75N6SofdmZexDZIKdy9vA7Ww==} + /lightningcss-darwin-x64@1.24.1: + resolution: {integrity: sha512-R4R1d7VVdq2mG4igMU+Di8GPf0b64ZLnYVkubYnGG0Qxq1KaXQtAzcLI43EkpnoWvB/kUg8JKCWH4S13NfiLcQ==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [darwin] @@ -7288,8 +7276,8 @@ packages: dev: true optional: true - /lightningcss-freebsd-x64@1.24.0: - resolution: {integrity: sha512-FJAYlek1wXuVTsncNU0C6YD41q126dXcIUm97KAccMn9C4s/JfLSqGWT2gIzAblavPFkyGG2gIADTWp3uWfN1g==} + /lightningcss-freebsd-x64@1.24.1: + resolution: {integrity: sha512-z6NberUUw5ALES6Ixn2shmjRRrM1cmEn1ZQPiM5IrZ6xHHL5a1lPin9pRv+w6eWfcrEo+qGG6R9XfJrpuY3e4g==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [freebsd] @@ -7297,8 +7285,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm-gnueabihf@1.24.0: - resolution: {integrity: sha512-N55K6JqzMx7C0hYUu1YmWqhkHwzEJlkQRMA6phY65noO0I1LOAvP4wBIoFWrzRE+O6zL0RmXJ2xppqyTbk3sYw==} + /lightningcss-linux-arm-gnueabihf@1.24.1: + resolution: {integrity: sha512-NLQLnBQW/0sSg74qLNI8F8QKQXkNg4/ukSTa+XhtkO7v3BnK19TS1MfCbDHt+TTdSgNEBv0tubRuapcKho2EWw==} engines: {node: '>= 12.0.0'} cpu: [arm] os: [linux] @@ -7306,8 +7294,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm64-gnu@1.24.0: - resolution: {integrity: sha512-MqqUB2TpYtFWeBvvf5KExDdClU3YGLW5bHKs50uKKootcvG9KoS7wYwd5UichS+W3mYLc5yXUPGD1DNWbLiYKw==} + /lightningcss-linux-arm64-gnu@1.24.1: + resolution: {integrity: sha512-AQxWU8c9E9JAjAi4Qw9CvX2tDIPjgzCTrZCSXKELfs4mCwzxRkHh2RCxX8sFK19RyJoJAjA/Kw8+LMNRHS5qEg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -7315,8 +7303,8 @@ packages: dev: true optional: true - /lightningcss-linux-arm64-musl@1.24.0: - resolution: {integrity: sha512-5wn4d9tFwa5bS1ao9mLexYVJdh3nn09HNIipsII6ZF7z9ZA5J4dOEhMgKoeCl891axTGTUYd8Kxn+Hn3XUSYRQ==} + /lightningcss-linux-arm64-musl@1.24.1: + resolution: {integrity: sha512-JCgH/SrNrhqsguUA0uJUM1PvN5+dVuzPIlXcoWDHSv2OU/BWlj2dUYr3XNzEw748SmNZPfl2NjQrAdzaPOn1lA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] @@ -7324,8 +7312,8 @@ packages: dev: true optional: true - /lightningcss-linux-x64-gnu@1.24.0: - resolution: {integrity: sha512-3j5MdTh+LSDF3o6uDwRjRUgw4J+IfDCVtdkUrJvKxL79qBLUujXY7CTe5X3IQDDLKEe/3wu49r8JKgxr0MfjbQ==} + /lightningcss-linux-x64-gnu@1.24.1: + resolution: {integrity: sha512-TYdEsC63bHV0h47aNRGN3RiK7aIeco3/keN4NkoSQ5T8xk09KHuBdySltWAvKLgT8JvR+ayzq8ZHnL1wKWY0rw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -7333,8 +7321,8 @@ packages: dev: true optional: true - /lightningcss-linux-x64-musl@1.24.0: - resolution: {integrity: sha512-HI+rNnvaLz0o36z6Ki0gyG5igVGrJmzczxA5fznr6eFTj3cHORoR/j2q8ivMzNFR4UKJDkTWUH5LMhacwOHWBA==} + /lightningcss-linux-x64-musl@1.24.1: + resolution: {integrity: sha512-HLfzVik3RToot6pQ2Rgc3JhfZkGi01hFetHt40HrUMoeKitLoqUUT5owM6yTZPTytTUW9ukLBJ1pc3XNMSvlLw==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] @@ -7342,8 +7330,8 @@ packages: dev: true optional: true - /lightningcss-win32-x64-msvc@1.24.0: - resolution: {integrity: sha512-oeije/t7OZ5N9vSs6amyW/34wIYoBCpE6HUlsSKcP2SR1CVgx9oKEM00GtQmtqNnYiMIfsSm7+ppMb4NLtD5vg==} + /lightningcss-win32-x64-msvc@1.24.1: + resolution: {integrity: sha512-joEupPjYJ7PjZtDsS5lzALtlAudAbgIBMGJPNeFe5HfdmJXFd13ECmEM+5rXNxYVMRHua2w8132R6ab5Z6K9Ow==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [win32] @@ -7351,21 +7339,21 @@ packages: dev: true optional: true - /lightningcss@1.24.0: - resolution: {integrity: sha512-y36QEEDVx4IM7/yIZNsZJMRREIu26WzTsauIysf5s76YeCmlSbRZS7aC97IGPuoFRnyZ5Wx43OBsQBFB5Ne7ng==} + /lightningcss@1.24.1: + resolution: {integrity: sha512-kUpHOLiH5GB0ERSv4pxqlL0RYKnOXtgGtVe7shDGfhS0AZ4D1ouKFYAcLcZhql8aMspDNzaUCumGHZ78tb2fTg==} engines: {node: '>= 12.0.0'} dependencies: detect-libc: 1.0.3 optionalDependencies: - lightningcss-darwin-arm64: 1.24.0 - lightningcss-darwin-x64: 1.24.0 - lightningcss-freebsd-x64: 1.24.0 - lightningcss-linux-arm-gnueabihf: 1.24.0 - lightningcss-linux-arm64-gnu: 1.24.0 - lightningcss-linux-arm64-musl: 1.24.0 - lightningcss-linux-x64-gnu: 1.24.0 - lightningcss-linux-x64-musl: 1.24.0 - lightningcss-win32-x64-msvc: 1.24.0 + lightningcss-darwin-arm64: 1.24.1 + lightningcss-darwin-x64: 1.24.1 + lightningcss-freebsd-x64: 1.24.1 + lightningcss-linux-arm-gnueabihf: 1.24.1 + lightningcss-linux-arm64-gnu: 1.24.1 + lightningcss-linux-arm64-musl: 1.24.1 + lightningcss-linux-x64-gnu: 1.24.1 + lightningcss-linux-x64-musl: 1.24.1 + lightningcss-win32-x64-msvc: 1.24.1 dev: true /lilconfig@2.1.0: @@ -7935,8 +7923,8 @@ packages: engines: {node: '>=12'} dev: true - /miniflare@3.20240304.0: - resolution: {integrity: sha512-6bmFkwXbTy1x5dEfVCLg03Gd80OWUmKI8Li0BhG6nOO+bT3rlIYwctyyfXTfNMFjqbK07AnnPiMwgnfdaaAYVQ==} + /miniflare@3.20240304.2: + resolution: {integrity: sha512-yQ5TBKv7TlvF8khFvvH+1WWk8cBnaLgNzcbJ5DLQOdecxdDxUCVlN38HThd6Nhcz6EY+ckDkww8FkugUbSSpIQ==} engines: {node: '>=16.13'} hasBin: true dependencies: @@ -7970,13 +7958,6 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@9.0.1: - resolution: {integrity: sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} engines: {node: '>=16 || 14 >=14.17'} @@ -8058,7 +8039,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.4.0 + ufo: 1.5.1 dev: true /mlly@1.6.1: @@ -8067,7 +8048,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.4.0 + ufo: 1.5.1 dev: true /moment@2.30.1: @@ -8522,7 +8503,7 @@ packages: hasBin: true dev: true - /postcss-import@15.1.0(postcss@8.4.35): + /postcss-import@15.1.0(postcss@8.4.36): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: @@ -8531,12 +8512,12 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 - /postcss-import@16.0.1(patch_hash=fjrm7xa2co7loa5ldk32oip4ly)(postcss@8.4.35): + /postcss-import@16.0.1(patch_hash=fjrm7xa2co7loa5ldk32oip4ly)(postcss@8.4.36): resolution: {integrity: sha512-i2Pci0310NaLHr/5JUFSw1j/8hf1CzwMY13g6ZDxgOavmRHQi2ba3PmUHoihO+sjaum+KmCNzskNsw7JDrg03g==} engines: {node: '>=18.0.0'} peerDependencies: @@ -8545,14 +8526,14 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 dev: true patched: true - /postcss-js@4.0.1(postcss@8.4.35): + /postcss-js@4.0.1(postcss@8.4.36): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: @@ -8562,9 +8543,9 @@ packages: optional: true dependencies: camelcase-css: 2.0.1 - postcss: 8.4.35 + postcss: 8.4.36 - /postcss-load-config@4.0.2(postcss@8.4.35)(ts-node@10.9.2): + /postcss-load-config@4.0.2(postcss@8.4.36)(ts-node@10.9.2): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -8577,11 +8558,11 @@ packages: optional: true dependencies: lilconfig: 3.0.0 - postcss: 8.4.35 - ts-node: 10.9.2(@types/node@20.11.25)(typescript@5.2.2) + postcss: 8.4.36 + ts-node: 10.9.2(@types/node@20.11.28)(typescript@5.2.2) yaml: 2.3.4 - /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.36): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8590,10 +8571,10 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.35 + postcss: 8.4.36 dev: true - /postcss-modules-local-by-default@4.0.0(postcss@8.4.35): + /postcss-modules-local-by-default@4.0.0(postcss@8.4.36): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8602,13 +8583,13 @@ packages: postcss: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.36) + postcss: 8.4.36 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.35): + /postcss-modules-scope@3.0.0(postcss@8.4.36): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8617,11 +8598,11 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-selector-parser: 6.0.11 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.35): + /postcss-modules-values@4.0.0(postcss@8.4.36): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8630,11 +8611,11 @@ packages: postcss: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.35) - postcss: 8.4.35 + icss-utils: 5.1.0(postcss@8.4.36) + postcss: 8.4.36 dev: true - /postcss-modules@6.0.0(postcss@8.4.35): + /postcss-modules@6.0.0(postcss@8.4.36): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 @@ -8643,17 +8624,17 @@ packages: optional: true dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.35) + icss-utils: 5.1.0(postcss@8.4.36) lodash.camelcase: 4.3.0 - postcss: 8.4.35 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.35) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.35) - postcss-modules-scope: 3.0.0(postcss@8.4.35) - postcss-modules-values: 4.0.0(postcss@8.4.35) + postcss: 8.4.36 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.36) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.36) + postcss-modules-scope: 3.0.0(postcss@8.4.36) + postcss-modules-values: 4.0.0(postcss@8.4.36) string-hash: 1.1.3 dev: true - /postcss-nested@6.0.1(postcss@8.4.35): + /postcss-nested@6.0.1(postcss@8.4.36): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: @@ -8662,7 +8643,7 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.35 + postcss: 8.4.36 postcss-selector-parser: 6.0.11 /postcss-selector-parser@6.0.11: @@ -8675,13 +8656,13 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.36: + resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.0.2 + source-map-js: 1.1.0 /preact@10.7.3: resolution: {integrity: sha512-giqJXP8VbtA1tyGa3f1n9wiN7PrHtONrDyE3T+ifjr/tTkg+2N4d/6sjC9WyJKv8wM7rOYDveqy5ZoFmYlwo4w==} @@ -9174,8 +9155,8 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass@1.71.1: - resolution: {integrity: sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==} + /sass@1.72.0: + resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -9293,10 +9274,10 @@ packages: '@shikijs/core': 1.1.5 dev: true - /shiki@1.1.7: - resolution: {integrity: sha512-9kUTMjZtcPH3i7vHunA6EraTPpPOITYTdA5uMrvsJRexktqP0s7P3s9HVK80b4pP42FRVe03D7fT3NmJv2yYhw==} + /shiki@1.2.0: + resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==} dependencies: - '@shikijs/core': 1.1.7 + '@shikijs/core': 1.2.0 dev: true /side-channel@1.0.4: @@ -9318,8 +9299,8 @@ packages: engines: {node: '>=14'} dev: true - /simple-git-hooks@2.10.0: - resolution: {integrity: sha512-TtCytVYfV77pILCkzVxpOSgYKHQyaO7fBI/iwG5bLGb0dIo/v/K1Y1IZ5DN40RQu6WNNJiN0gkuRvSYjxOhFog==} + /simple-git-hooks@2.11.0: + resolution: {integrity: sha512-Wab2uzjGJEL8Kx+2UY8waUSfkiolt2RbaAJWvPCjaAEXrrKoS7JqPk4STiIVl/yt3asZRUzFoK2ryhwvgh5rYw==} hasBin: true requiresBuild: true dev: true @@ -9371,6 +9352,10 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /source-map-js@1.1.0: + resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} + engines: {node: '>=0.10.0'} + /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: @@ -9563,7 +9548,7 @@ packages: engines: {node: '>=8'} hasBin: true dependencies: - '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 glob: 7.1.6 lines-and-columns: 1.2.4 @@ -9626,11 +9611,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.35 - postcss-import: 15.1.0(postcss@8.4.35) - postcss-js: 4.0.1(postcss@8.4.35) - postcss-load-config: 4.0.2(postcss@8.4.35)(ts-node@10.9.2) - postcss-nested: 6.0.1(postcss@8.4.35) + postcss: 8.4.36 + postcss-import: 15.1.0(postcss@8.4.36) + postcss-js: 4.0.1(postcss@8.4.36) + postcss-load-config: 4.0.2(postcss@8.4.36)(ts-node@10.9.2) + postcss-nested: 6.0.1(postcss@8.4.36) postcss-selector-parser: 6.0.11 resolve: 1.22.4 sucrase: 3.32.0 @@ -9661,8 +9646,8 @@ packages: temp-dir: 3.0.0 dev: true - /terser@5.29.1: - resolution: {integrity: sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==} + /terser@5.29.2: + resolution: {integrity: sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9756,7 +9741,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.11.25)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.11.28)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -9775,7 +9760,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.11.25 + '@types/node': 20.11.28 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -9890,8 +9875,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + /ufo@1.5.1: + resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} dev: true /uglify-js@3.17.4: @@ -10089,8 +10074,8 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.3.1: - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + /vite-node@1.4.0: + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -10151,15 +10136,15 @@ packages: - universal-cookie dev: true - /vitest@1.3.1(@types/node@20.11.25): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + /vitest@1.4.0(@types/node@20.11.28): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -10176,12 +10161,12 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.25 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@types/node': 20.11.28 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 acorn-walk: 8.3.2(acorn@8.11.3) chai: 4.3.10 debug: 4.3.4 @@ -10195,7 +10180,7 @@ packages: tinybench: 2.5.1 tinypool: 0.8.2 vite: link:packages/vite - vite-node: 1.3.1 + vite-node: 1.4.0 why-is-node-running: 2.2.2 transitivePeerDependencies: - acorn From 72104f6de5398a1a0511404e8485b3b7721be537 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 13:24:35 +0800 Subject: [PATCH 440/656] chore(deps): update dependency vue-tsc to v2 (#16187) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/create-vite/template-vue-ts/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index be9a1d38878a5c..500d2f48c1267e 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -15,6 +15,6 @@ "@vitejs/plugin-vue": "^5.0.4", "typescript": "^5.2.2", "vite": "^5.1.6", - "vue-tsc": "^1.8.27" + "vue-tsc": "^2.0.6" } } From 1a3b1d73d7babdab6a52a5fb1ef193fd63666877 Mon Sep 17 00:00:00 2001 From: ferdisap <100170686+ferdisap@users.noreply.github.com> Date: Tue, 19 Mar 2024 14:59:17 +0700 Subject: [PATCH 441/656] fix: update client.ts@cleanUrl to accomodate blob protocol (#16182) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- packages/vite/src/client/client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 45c123213c5446..38b632cb945b57 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -111,7 +111,7 @@ function setupWebSocket( } function cleanUrl(pathname: string): string { - const url = new URL(pathname, location.toString()) + const url = new URL(pathname, 'http://vitejs.dev') url.searchParams.delete('direct') return url.pathname + url.search } From ea480df56d355d978e510ea017924bfd876804be Mon Sep 17 00:00:00 2001 From: Mark Dalgleish Date: Wed, 20 Mar 2024 09:06:34 +1100 Subject: [PATCH 442/656] fix(create-vite): switch to default Remix template (#16203) --- packages/create-vite/src/index.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/create-vite/src/index.ts b/packages/create-vite/src/index.ts index 71d04b00f44846..ea22e52c2384a7 100755 --- a/packages/create-vite/src/index.ts +++ b/packages/create-vite/src/index.ts @@ -115,8 +115,7 @@ const FRAMEWORKS: Framework[] = [ name: 'custom-remix', display: 'Remix ↗', color: cyan, - customCommand: - 'npm create remix@latest TARGET_DIR -- --template remix-run/remix/templates/vite', + customCommand: 'npm create remix@latest TARGET_DIR', }, ], }, From e4572b8eae561fffdd720686e3ccd001cc5beaf0 Mon Sep 17 00:00:00 2001 From: bluwy Date: Wed, 20 Mar 2024 17:19:29 +0800 Subject: [PATCH 443/656] release: v5.2.0 --- packages/vite/CHANGELOG.md | 10 ++++++++++ packages/vite/package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index c5f6c5a84db58c..d8436ea88db0df 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,13 @@ +## 5.2.0 (2024-03-20) + +* fix: update client.ts@cleanUrl to accomodate blob protocol (#16182) ([1a3b1d7](https://github.com/vitejs/vite/commit/1a3b1d7)), closes [#16182](https://github.com/vitejs/vite/issues/16182) +* fix(assets): avoid splitting `,` inside query parameter of image URI in srcset property (#16081) ([50caf67](https://github.com/vitejs/vite/commit/50caf67)), closes [#16081](https://github.com/vitejs/vite/issues/16081) +* chore(deps): update all non-major dependencies (#16186) ([842643d](https://github.com/vitejs/vite/commit/842643d)), closes [#16186](https://github.com/vitejs/vite/issues/16186) +* perf(transformRequest): fast-path watch and sourcemap handling (#16170) ([de60f1e](https://github.com/vitejs/vite/commit/de60f1e)), closes [#16170](https://github.com/vitejs/vite/issues/16170) +* docs: add `@shikiji/vitepress-twoslash` (#16168) ([6f8a320](https://github.com/vitejs/vite/commit/6f8a320)), closes [#16168](https://github.com/vitejs/vite/issues/16168) + + + ## 5.2.0-beta.1 (2024-03-14) * feat: csp nonce support (#16052) ([1d5eec4](https://github.com/vitejs/vite/commit/1d5eec4)), closes [#16052](https://github.com/vitejs/vite/issues/16052) diff --git a/packages/vite/package.json b/packages/vite/package.json index 12368df3123ad3..ef04d1904dc4aa 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.0-beta.1", + "version": "5.2.0", "type": "module", "license": "MIT", "author": "Evan You", From 0a56177272449489921fef5479b7385dc79a8beb Mon Sep 17 00:00:00 2001 From: Leon Fong Date: Wed, 20 Mar 2024 17:36:20 +0800 Subject: [PATCH 444/656] docs: update volar name and remove takeover mode related docs (#16171) Co-authored-by: patak --- packages/create-vite/template-vue-ts/README.md | 15 +++------------ packages/create-vite/template-vue/README.md | 2 +- 2 files changed, 4 insertions(+), 13 deletions(-) diff --git a/packages/create-vite/template-vue-ts/README.md b/packages/create-vite/template-vue-ts/README.md index ef72fd52424558..0bfecb08f8aa58 100644 --- a/packages/create-vite/template-vue-ts/README.md +++ b/packages/create-vite/template-vue-ts/README.md @@ -2,17 +2,8 @@ This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` asset for (const { start, end, url } of scriptUrls) { if (checkPublicFile(url, config)) { - s.update(start, end, partialEncodeURI(toOutputPublicFilePath(url))) + s.update( + start, + end, + partialEncodeURIPath(toOutputPublicFilePath(url)), + ) } else if (!isExcludedUrl(url)) { s.update( start, end, - partialEncodeURI(await urlToBuiltUrl(url, id, config, this)), + partialEncodeURIPath(await urlToBuiltUrl(url, id, config, this)), ) } } @@ -904,7 +909,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { if (chunk) { chunk.viteMetadata!.importedAssets.add(cleanUrl(file)) } - return encodeURI(toOutputAssetFilePath(file)) + postfix + return encodeURIPath(toOutputAssetFilePath(file)) + postfix }) result = result.replace(publicAssetUrlRE, (_, fileHash) => { @@ -912,7 +917,7 @@ export function buildHtmlPlugin(config: ResolvedConfig): Plugin { getPublicAssetFilename(fileHash, config)!, ) - return encodeURI( + return encodeURIPath( urlCanParse(publicAssetPath) ? publicAssetPath : normalizePath(publicAssetPath), diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index db8256ec3d9bbb..4f69d34401699b 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -40,7 +40,7 @@ import { joinUrlSegments, moduleListContains, normalizePath, - partialEncodeURI, + partialEncodeURIPath, prettifyUrl, removeImportQuery, removeTimestampQuery, @@ -594,7 +594,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { rewriteDone = true } if (!rewriteDone) { - const rewrittenUrl = JSON.stringify(partialEncodeURI(url)) + const rewrittenUrl = JSON.stringify(partialEncodeURIPath(url)) const s = isDynamicImport ? start : start - 1 const e = isDynamicImport ? end : end + 1 str().overwrite(s, e, rewrittenUrl, { diff --git a/packages/vite/src/node/plugins/worker.ts b/packages/vite/src/node/plugins/worker.ts index 0a200cdb71007d..4094b581a52b63 100644 --- a/packages/vite/src/node/plugins/worker.ts +++ b/packages/vite/src/node/plugins/worker.ts @@ -5,7 +5,13 @@ import type { ResolvedConfig } from '../config' import type { Plugin } from '../plugin' import type { ViteDevServer } from '../server' import { ENV_ENTRY, ENV_PUBLIC_PATH } from '../constants' -import { getHash, injectQuery, prettifyUrl, urlRE } from '../utils' +import { + encodeURIPath, + getHash, + injectQuery, + prettifyUrl, + urlRE, +} from '../utils' import { createToImportMetaURLBasedRelativeRuntime, onRollupWarning, @@ -411,7 +417,7 @@ export function webWorkerPlugin(config: ResolvedConfig): Plugin { ) const replacementString = typeof replacement === 'string' - ? JSON.stringify(encodeURI(replacement)).slice(1, -1) + ? JSON.stringify(encodeURIPath(replacement)).slice(1, -1) : `"+${replacement.runtime}+"` s.update(match.index, match.index + full.length, replacementString) } diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index da754f215dac61..0352cd19e969e2 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -1418,9 +1418,20 @@ export function displayTime(time: number): string { } /** - * Like `encodeURI`, but only replacing `%` as `%25`. This is useful for environments + * Encodes the URI path portion (ignores part after ? or #) + */ +export function encodeURIPath(uri: string): string { + const filePath = cleanUrl(uri) + const postfix = filePath !== uri ? uri.slice(filePath.length) : '' + return encodeURI(filePath) + postfix +} + +/** + * Like `encodeURIPath`, but only replacing `%` as `%25`. This is useful for environments * that can handle un-encoded URIs, where `%` is the only ambiguous character. */ -export function partialEncodeURI(uri: string): string { - return uri.replaceAll('%', '%25') +export function partialEncodeURIPath(uri: string): string { + const filePath = cleanUrl(uri) + const postfix = filePath !== uri ? uri.slice(filePath.length) : '' + return filePath.replaceAll('%', '%25') + postfix } From ee4d2bcfed7bc500b9b1dd43bfe9a6cb1c9737bd Mon Sep 17 00:00:00 2001 From: patak Date: Wed, 20 Mar 2024 13:35:40 +0100 Subject: [PATCH 447/656] release: v5.2.1 --- packages/vite/CHANGELOG.md | 6 ++++++ packages/vite/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index d8436ea88db0df..65f47dff2d7b5d 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.2.1 (2024-03-20) + +* fix: encode path uri only (#16212) ([0b2e40b](https://github.com/vitejs/vite/commit/0b2e40b)), closes [#16212](https://github.com/vitejs/vite/issues/16212) + + + ## 5.2.0 (2024-03-20) * fix: update client.ts@cleanUrl to accomodate blob protocol (#16182) ([1a3b1d7](https://github.com/vitejs/vite/commit/1a3b1d7)), closes [#16182](https://github.com/vitejs/vite/issues/16182) diff --git a/packages/vite/package.json b/packages/vite/package.json index ef04d1904dc4aa..3c6297ae729e9e 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.0", + "version": "5.2.1", "type": "module", "license": "MIT", "author": "Evan You", From e4d2d601177c2dd58fe672e2da9d9e487595fbf3 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Wed, 20 Mar 2024 21:01:58 +0800 Subject: [PATCH 448/656] fix(importAnalysis): skip encode in ssr (#16213) --- packages/vite/src/node/plugins/importAnalysis.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 4f69d34401699b..4c940aa109b00a 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -594,7 +594,9 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { rewriteDone = true } if (!rewriteDone) { - const rewrittenUrl = JSON.stringify(partialEncodeURIPath(url)) + const rewrittenUrl = JSON.stringify( + ssr ? url : partialEncodeURIPath(url), + ) const s = isDynamicImport ? start : start - 1 const e = isDynamicImport ? end : end + 1 str().overwrite(s, e, rewrittenUrl, { From d44342859a45a295b9497775f8716de83ca1c03d Mon Sep 17 00:00:00 2001 From: bluwy Date: Wed, 20 Mar 2024 21:15:32 +0800 Subject: [PATCH 449/656] release: v5.2.2 --- packages/vite/CHANGELOG.md | 6 ++++++ packages/vite/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 65f47dff2d7b5d..e6b2bc224925fe 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.2.2 (2024-03-20) + +* fix(importAnalysis): skip encode in ssr (#16213) ([e4d2d60](https://github.com/vitejs/vite/commit/e4d2d60)), closes [#16213](https://github.com/vitejs/vite/issues/16213) + + + ## 5.2.1 (2024-03-20) * fix: encode path uri only (#16212) ([0b2e40b](https://github.com/vitejs/vite/commit/0b2e40b)), closes [#16212](https://github.com/vitejs/vite/issues/16212) diff --git a/packages/vite/package.json b/packages/vite/package.json index 3c6297ae729e9e..9b0b94d8c1d108 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.1", + "version": "5.2.2", "type": "module", "license": "MIT", "author": "Evan You", From d7c52569963508a33516dc892e65edf0def36088 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Thu, 21 Mar 2024 17:48:58 +0900 Subject: [PATCH 450/656] fix: handle warmup request error correctly (#16223) --- packages/vite/src/node/server/index.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 8a508dbbd46c5c..6b254dab79f452 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -512,7 +512,9 @@ export async function _createServer( return transformRequest(url, server, options) }, async warmupRequest(url, options) { - await transformRequest(url, server, options).catch((e) => { + try { + await transformRequest(url, server, options) + } catch (e) { if ( e?.code === ERR_OUTDATED_OPTIMIZED_DEP || e?.code === ERR_CLOSED_SERVER @@ -525,7 +527,7 @@ export async function _createServer( error: e, timestamp: true, }) - }) + } }, transformIndexHtml(url, html, originalUrl) { return devHtmlTransformFn(server, url, html, originalUrl) From dad7f4f5a51433c2ac91a8aed1a5556a1e3fc640 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Thu, 21 Mar 2024 18:07:03 +0900 Subject: [PATCH 451/656] fix(runtime): fix sourcemap with `prepareStackTrace` (#16220) --- packages/vite/rollup.config.ts | 15 ---------- .../__tests__/fixtures/has-error-deep.ts | 7 +++++ .../__tests__/server-source-maps.spec.ts | 17 +++++++++++ .../ssr-html/__tests__/ssr-html.spec.ts | 6 ++++ playground/ssr-html/src/has-error-deep.ts | 7 +++++ .../ssr-html/test-stacktrace-runtime.js | 29 +++++++++++++++++++ 6 files changed, 66 insertions(+), 15 deletions(-) create mode 100644 packages/vite/src/node/ssr/runtime/__tests__/fixtures/has-error-deep.ts create mode 100644 playground/ssr-html/src/has-error-deep.ts create mode 100644 playground/ssr-html/test-stacktrace-runtime.js diff --git a/packages/vite/rollup.config.ts b/packages/vite/rollup.config.ts index 7a0a3305b6b794..716e75dbe2f48b 100644 --- a/packages/vite/rollup.config.ts +++ b/packages/vite/rollup.config.ts @@ -202,21 +202,6 @@ function createRuntimeConfig(isProduction: boolean) { isProduction ? false : './dist/node', ), esbuildMinifyPlugin({ minify: false, minifySyntax: true }), - { - name: 'replace bias', - transform(code, id) { - if (id.includes('@jridgewell+trace-mapping')) { - return { - code: code.replaceAll( - 'bias === LEAST_UPPER_BOUND', - 'true' + - `/*${'bias === LEAST_UPPER_BOUND'.length - '/**/'.length - 'true'.length}*/`, - ), - map: null, - } - } - }, - }, bundleSizeLimit(45), ], }) diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/has-error-deep.ts b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/has-error-deep.ts new file mode 100644 index 00000000000000..8da094a3fa4800 --- /dev/null +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/has-error-deep.ts @@ -0,0 +1,7 @@ +function crash(message: string) { + throw new Error(message) +} + +export function main(): void { + crash('crash') +} 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 c482a0464827f4..fd8973235af0b6 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 @@ -21,6 +21,11 @@ describe('vite-runtime initialization', async () => { const serializeStack = (runtime: ViteRuntime, err: Error) => { return err.stack!.split('\n')[1].replace(runtime.options.root, '') } + const serializeStackDeep = (runtime: ViteRuntime, err: Error) => { + return err + .stack!.split('\n') + .map((s) => s.replace(runtime.options.root, '')) + } it('source maps are correctly applied to stack traces', async ({ runtime, @@ -59,4 +64,16 @@ describe('vite-runtime initialization', async () => { ' at Module.throwError (/fixtures/throws-error-method.ts:11:9)', ) }) + + it('deep stacktrace', async ({ runtime }) => { + const methodError = await getError(async () => { + const mod = await runtime.executeUrl('/fixtures/has-error-deep.ts') + mod.main() + }) + expect(serializeStackDeep(runtime, methodError).slice(0, 3)).toEqual([ + 'Error: crash', + ' at crash (/fixtures/has-error-deep.ts:2:9)', + ' at Module.main (/fixtures/has-error-deep.ts:6:3)', + ]) + }) }) diff --git a/playground/ssr-html/__tests__/ssr-html.spec.ts b/playground/ssr-html/__tests__/ssr-html.spec.ts index fa9d12c7f6da41..92a2713420f2c3 100644 --- a/playground/ssr-html/__tests__/ssr-html.spec.ts +++ b/playground/ssr-html/__tests__/ssr-html.spec.ts @@ -98,6 +98,12 @@ describe.runIf(isServe)('stacktrace', () => { }) } } + + test('with Vite runtime', async () => { + await execFileAsync('node', ['test-stacktrace-runtime.js'], { + cwd: fileURLToPath(new URL('..', import.meta.url)), + }) + }) }) describe.runIf(isServe)('network-imports', () => { diff --git a/playground/ssr-html/src/has-error-deep.ts b/playground/ssr-html/src/has-error-deep.ts new file mode 100644 index 00000000000000..8da094a3fa4800 --- /dev/null +++ b/playground/ssr-html/src/has-error-deep.ts @@ -0,0 +1,7 @@ +function crash(message: string) { + throw new Error(message) +} + +export function main(): void { + crash('crash') +} diff --git a/playground/ssr-html/test-stacktrace-runtime.js b/playground/ssr-html/test-stacktrace-runtime.js new file mode 100644 index 00000000000000..c2b8f670b5a089 --- /dev/null +++ b/playground/ssr-html/test-stacktrace-runtime.js @@ -0,0 +1,29 @@ +import { fileURLToPath } from 'node:url' +import assert from 'node:assert' +import { createServer, createViteRuntime } from 'vite' + +// same test case as packages/vite/src/node/ssr/runtime/__tests__/server-source-maps.spec.ts +// implemented for e2e to catch build specific behavior + +const server = await createServer({ + configFile: false, + root: fileURLToPath(new URL('.', import.meta.url)), + server: { + middlewareMode: true, + }, +}) + +const runtime = await createViteRuntime(server, { + sourcemapInterceptor: 'prepareStackTrace', +}) + +const mod = await runtime.executeEntrypoint('/src/has-error-deep.ts') +let error +try { + mod.main() +} catch (e) { + error = e +} finally { + await server.close() +} +assert.match(error?.stack, /has-error-deep.ts:6:3/) From 9800c738b53f09da6d8f996255a831303983a376 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 22 Mar 2024 20:34:01 +0800 Subject: [PATCH 452/656] chore: `utf8` replaced with `utf-8` (#16232) --- packages/vite/rollupLicensePlugin.ts | 2 +- packages/vite/src/node/config.ts | 2 +- playground/csp/vite.config.js | 2 +- playground/json/server.js | 2 +- playground/resolve-config/__tests__/resolve-config.spec.ts | 2 +- playground/resolve-config/__tests__/serve.ts | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/vite/rollupLicensePlugin.ts b/packages/vite/rollupLicensePlugin.ts index d3dce56a7dfeb6..aa08c64f2903ff 100644 --- a/packages/vite/rollupLicensePlugin.ts +++ b/packages/vite/rollupLicensePlugin.ts @@ -88,7 +88,7 @@ export default function licensePlugin( `${sortLicenses(licenses).join(', ')}\n\n` + `# Bundled dependencies:\n` + dependencyLicenseTexts - const existingLicenseText = fs.readFileSync(licenseFilePath, 'utf8') + const existingLicenseText = fs.readFileSync(licenseFilePath, 'utf-8') if (existingLicenseText !== licenseText) { fs.writeFileSync(licenseFilePath, licenseText) console.warn( diff --git a/packages/vite/src/node/config.ts b/packages/vite/src/node/config.ts index 83a5e455609a0c..178e73b8137428 100644 --- a/packages/vite/src/node/config.ts +++ b/packages/vite/src/node/config.ts @@ -1174,7 +1174,7 @@ async function bundleConfigFile( name: 'inject-file-scope-variables', setup(build) { build.onLoad({ filter: /\.[cm]?[jt]s$/ }, async (args) => { - const contents = await fsp.readFile(args.path, 'utf8') + const contents = await fsp.readFile(args.path, 'utf-8') const injectValues = `const ${dirnameVarName} = ${JSON.stringify( path.dirname(args.path), diff --git a/playground/csp/vite.config.js b/playground/csp/vite.config.js index 08d2b74f9dde3c..84d6d92ba0d0bb 100644 --- a/playground/csp/vite.config.js +++ b/playground/csp/vite.config.js @@ -28,7 +28,7 @@ const setNonceHeader = (res, nonce) => { const createMiddleware = (file, transform) => async (req, res) => { const nonce = createNonce() setNonceHeader(res, nonce) - const content = await fs.readFile(path.join(__dirname, file), 'utf8') + const content = await fs.readFile(path.join(__dirname, file), 'utf-8') const transformedContent = await transform(content, req.originalUrl) res.setHeader('Content-Type', 'text/html') res.end(transformedContent.replaceAll(noncePlaceholder, nonce)) diff --git a/playground/json/server.js b/playground/json/server.js index 982b7dcc09d30b..fea792d4e6ab91 100644 --- a/playground/json/server.js +++ b/playground/json/server.js @@ -69,7 +69,7 @@ export async function createServer(root = process.cwd(), hmrPort) { } const htmlLoc = resolve(`.${url}`) - let html = fs.readFileSync(htmlLoc, 'utf8') + let html = fs.readFileSync(htmlLoc, 'utf-8') html = await vite.transformIndexHtml(url, html) res.status(200).set({ 'Content-Type': 'text/html' }).end(html) diff --git a/playground/resolve-config/__tests__/resolve-config.spec.ts b/playground/resolve-config/__tests__/resolve-config.spec.ts index eeb4f2c79edcbb..12f00aa168f142 100644 --- a/playground/resolve-config/__tests__/resolve-config.spec.ts +++ b/playground/resolve-config/__tests__/resolve-config.spec.ts @@ -13,7 +13,7 @@ const build = (configName: string) => { const getDistFile = (configName: string, extension: string) => { return fs.readFileSync( fromTestDir(`${configName}/dist/index.${extension}`), - 'utf8', + 'utf-8', ) } diff --git a/playground/resolve-config/__tests__/serve.ts b/playground/resolve-config/__tests__/serve.ts index 39e84860cfadfb..76172577f690c3 100644 --- a/playground/resolve-config/__tests__/serve.ts +++ b/playground/resolve-config/__tests__/serve.ts @@ -21,7 +21,7 @@ export async function serve() { await fs.rename(fromTestDir(configName, 'vite.config.ts'), pathToConf) if (['cjs', 'cts'].includes(configName)) { - const conf = await fs.readFile(pathToConf, 'utf8') + const conf = await fs.readFile(pathToConf, 'utf-8') await fs.writeFile( pathToConf, conf.replace('export default', 'module.exports = '), @@ -30,7 +30,7 @@ export async function serve() { // Remove TS annotation for plain JavaScript file. if (configName.endsWith('js')) { - const conf = await fs.readFile(pathToConf, 'utf8') + const conf = await fs.readFile(pathToConf, 'utf-8') await fs.writeFile(pathToConf, conf.replace(': boolean', '')) } From f184c8032bec6e668265a98d254a442e1024b6f3 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Fri, 22 Mar 2024 21:34:28 +0900 Subject: [PATCH 453/656] fix(optimizer): fix `optimizeDeps.include` glob syntax for `./*` exports (#16230) --- packages/vite/src/node/optimizer/resolve.ts | 10 ++++++++++ .../optimize-deps/__tests__/optimize-deps.spec.ts | 4 ++++ .../dep-optimize-exports-with-root-glob/dir/file2.js | 0 .../dep-optimize-exports-with-root-glob/file1.js | 0 .../dep-optimize-exports-with-root-glob/index.js | 0 .../dep-optimize-exports-with-root-glob/package.json | 10 ++++++++++ playground/optimize-deps/package.json | 1 + playground/optimize-deps/vite.config.js | 1 + pnpm-lock.yaml | 10 ++++++++++ 9 files changed, 36 insertions(+) create mode 100644 playground/optimize-deps/dep-optimize-exports-with-root-glob/dir/file2.js create mode 100644 playground/optimize-deps/dep-optimize-exports-with-root-glob/file1.js create mode 100644 playground/optimize-deps/dep-optimize-exports-with-root-glob/index.js create mode 100644 playground/optimize-deps/dep-optimize-exports-with-root-glob/package.json diff --git a/packages/vite/src/node/optimizer/resolve.ts b/packages/vite/src/node/optimizer/resolve.ts index aee532896a18d3..b76634dd8ae8cf 100644 --- a/packages/vite/src/node/optimizer/resolve.ts +++ b/packages/vite/src/node/optimizer/resolve.ts @@ -95,6 +95,16 @@ export function expandGlobIds(id: string, config: ResolvedConfig): string[] { ignore: ['node_modules'], }) .map((filePath) => { + // ensure "./" prefix for inconsistent fast-glob result + // glob.sync("./some-dir/**/*") -> "./some-dir/some-file" + // glob.sync("./**/*") -> "some-dir/some-file" + if ( + exportsValue.startsWith('./') && + !filePath.startsWith('./') + ) { + filePath = './' + filePath + } + // "./glob/*": "./dist/glob/*-browser/*.js" // `filePath`: "./dist/glob/foo-browser/foo.js" // we need to revert the file path back to the export key by diff --git a/playground/optimize-deps/__tests__/optimize-deps.spec.ts b/playground/optimize-deps/__tests__/optimize-deps.spec.ts index b07e5f8fe59a2a..ee691fddc4c686 100644 --- a/playground/optimize-deps/__tests__/optimize-deps.spec.ts +++ b/playground/optimize-deps/__tests__/optimize-deps.spec.ts @@ -304,6 +304,10 @@ describe.runIf(isServe)('optimizeDeps config', () => { '@vitejs/test-dep-optimize-exports-with-glob/glob-dir/foo', '@vitejs/test-dep-optimize-exports-with-glob/glob-dir/bar', '@vitejs/test-dep-optimize-exports-with-glob/glob-dir/nested/baz', + '@vitejs/test-dep-optimize-exports-with-root-glob', + '@vitejs/test-dep-optimize-exports-with-root-glob/file1.js', + '@vitejs/test-dep-optimize-exports-with-root-glob/index.js', + '@vitejs/test-dep-optimize-exports-with-root-glob/dir/file2.js', '@vitejs/test-dep-optimize-with-glob', '@vitejs/test-dep-optimize-with-glob/index.js', '@vitejs/test-dep-optimize-with-glob/named.js', diff --git a/playground/optimize-deps/dep-optimize-exports-with-root-glob/dir/file2.js b/playground/optimize-deps/dep-optimize-exports-with-root-glob/dir/file2.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/playground/optimize-deps/dep-optimize-exports-with-root-glob/file1.js b/playground/optimize-deps/dep-optimize-exports-with-root-glob/file1.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/playground/optimize-deps/dep-optimize-exports-with-root-glob/index.js b/playground/optimize-deps/dep-optimize-exports-with-root-glob/index.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/playground/optimize-deps/dep-optimize-exports-with-root-glob/package.json b/playground/optimize-deps/dep-optimize-exports-with-root-glob/package.json new file mode 100644 index 00000000000000..4594a7bbcc4cf7 --- /dev/null +++ b/playground/optimize-deps/dep-optimize-exports-with-root-glob/package.json @@ -0,0 +1,10 @@ +{ + "name": "@vitejs/test-dep-optimize-exports-with-root-glob", + "private": true, + "version": "1.0.0", + "type": "module", + "exports": { + ".": "./index.js", + "./*": "./*" + } +} diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 1f64f6af5c587e..e5f8d8a22dfcef 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -26,6 +26,7 @@ "@vitejs/test-dep-node-env": "file:./dep-node-env", "@vitejs/test-dep-not-js": "file:./dep-not-js", "@vitejs/test-dep-optimize-exports-with-glob": "file:./dep-optimize-exports-with-glob", + "@vitejs/test-dep-optimize-exports-with-root-glob": "file:./dep-optimize-exports-with-root-glob", "@vitejs/test-dep-optimize-with-glob": "file:./dep-optimize-with-glob", "@vitejs/test-dep-relative-to-main": "file:./dep-relative-to-main", "@vitejs/test-dep-with-builtin-module-cjs": "file:./dep-with-builtin-module-cjs", diff --git a/playground/optimize-deps/vite.config.js b/playground/optimize-deps/vite.config.js index cced96a66e94d5..a2c2fdf3c6d5e7 100644 --- a/playground/optimize-deps/vite.config.js +++ b/playground/optimize-deps/vite.config.js @@ -20,6 +20,7 @@ export default defineConfig({ // will throw if optimized (should log warning instead) '@vitejs/test-non-optimizable-include', '@vitejs/test-dep-optimize-exports-with-glob/**/*', + '@vitejs/test-dep-optimize-exports-with-root-glob/**/*.js', '@vitejs/test-dep-optimize-with-glob/**/*.js', ], exclude: ['@vitejs/test-nested-exclude', '@vitejs/test-dep-non-optimized'], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9dd16c491ca257..1bdb5276b02cae 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -936,6 +936,9 @@ importers: '@vitejs/test-dep-optimize-exports-with-glob': specifier: file:./dep-optimize-exports-with-glob version: file:playground/optimize-deps/dep-optimize-exports-with-glob + '@vitejs/test-dep-optimize-exports-with-root-glob': + specifier: file:./dep-optimize-exports-with-root-glob + version: file:playground/optimize-deps/dep-optimize-exports-with-root-glob '@vitejs/test-dep-optimize-with-glob': specifier: file:./dep-optimize-with-glob version: file:playground/optimize-deps/dep-optimize-with-glob @@ -1053,6 +1056,8 @@ importers: playground/optimize-deps/dep-optimize-exports-with-glob: {} + playground/optimize-deps/dep-optimize-exports-with-root-glob: {} + playground/optimize-deps/dep-optimize-with-glob: {} playground/optimize-deps/dep-relative-to-main: {} @@ -10586,6 +10591,11 @@ packages: name: '@vitejs/test-dep-optimize-exports-with-glob' dev: false + file:playground/optimize-deps/dep-optimize-exports-with-root-glob: + resolution: {directory: playground/optimize-deps/dep-optimize-exports-with-root-glob, type: directory} + name: '@vitejs/test-dep-optimize-exports-with-root-glob' + dev: false + file:playground/optimize-deps/dep-optimize-with-glob: resolution: {directory: playground/optimize-deps/dep-optimize-with-glob, type: directory} name: '@vitejs/test-dep-optimize-with-glob' From 8617e7638ec105c7a6019a7ebac3b3185297b90d Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 22 Mar 2024 20:46:20 +0800 Subject: [PATCH 454/656] fix: skip encode if is data uri (#16233) --- packages/vite/src/node/plugins/asset.ts | 4 +--- packages/vite/src/node/utils.ts | 2 ++ playground/assets/__tests__/assets.spec.ts | 20 ++++++++++++++++++++ playground/assets/index.html | 7 ++++++- playground/assets/nested/inlined.svg | 12 ++++++++++++ 5 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 playground/assets/nested/inlined.svg diff --git a/packages/vite/src/node/plugins/asset.ts b/packages/vite/src/node/plugins/asset.ts index e765a911ce0766..2ff5b101529982 100644 --- a/packages/vite/src/node/plugins/asset.ts +++ b/packages/vite/src/node/plugins/asset.ts @@ -207,9 +207,7 @@ export function assetPlugin(config: ResolvedConfig): Plugin { } return { - code: `export default ${JSON.stringify( - url.startsWith('data:') ? url : encodeURIPath(url), - )}`, + code: `export default ${JSON.stringify(encodeURIPath(url))}`, // Force rollup to keep this module from being shared between other entry points if it's an entrypoint. // If the resulting chunk is empty, it will be removed in generateBundle. moduleSideEffects: diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 0352cd19e969e2..90fa8daa038b74 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -1421,6 +1421,7 @@ export function displayTime(time: number): string { * Encodes the URI path portion (ignores part after ? or #) */ export function encodeURIPath(uri: string): string { + if (uri.startsWith('data:')) return uri const filePath = cleanUrl(uri) const postfix = filePath !== uri ? uri.slice(filePath.length) : '' return encodeURI(filePath) + postfix @@ -1431,6 +1432,7 @@ export function encodeURIPath(uri: string): string { * that can handle un-encoded URIs, where `%` is the only ambiguous character. */ export function partialEncodeURIPath(uri: string): string { + if (uri.startsWith('data:')) return uri const filePath = cleanUrl(uri) const postfix = filePath !== uri ? uri.slice(filePath.length) : '' return filePath.replaceAll('%', '%25') + postfix diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index 6fb337a9484bb6..8aeb61377844e8 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -282,6 +282,26 @@ describe('css url() references', () => { }) describe('image', () => { + test('src', async () => { + const img = await page.$('.img-src') + const src = await img.getAttribute('src') + expect(src).toMatch( + isBuild + ? /\/foo\/bar\/assets\/html-only-asset-[-\w]{8}\.jpg/ + : /\/foo\/bar\/nested\/html-only-asset.jpg/, + ) + }) + + test('src inline', async () => { + const img = await page.$('.img-src-inline') + const src = await img.getAttribute('src') + expect(src).toMatch( + isBuild + ? /^data:image\/svg\+xml,%3csvg/ + : /\/foo\/bar\/nested\/inlined.svg/, + ) + }) + test('srcset', async () => { const img = await page.$('.img-src-set') const srcset = await img.getAttribute('srcset') diff --git a/playground/assets/index.html b/playground/assets/index.html index 80fbf14be8bc59..de742628953db1 100644 --- a/playground/assets/index.html +++ b/playground/assets/index.html @@ -175,7 +175,12 @@

    Image Src Set

    HTML only asset

    - + +
    + +

    HTML inline asset

    +
    +

    SVG Fragments

    diff --git a/playground/assets/nested/inlined.svg b/playground/assets/nested/inlined.svg new file mode 100644 index 00000000000000..e00a25209ebd4e --- /dev/null +++ b/playground/assets/nested/inlined.svg @@ -0,0 +1,12 @@ + + + From a67f9f69456439baa727823ac604a68f7279b3bb Mon Sep 17 00:00:00 2001 From: bluwy Date: Fri, 22 Mar 2024 21:13:46 +0800 Subject: [PATCH 455/656] release: v5.2.3 --- packages/vite/CHANGELOG.md | 10 ++++++++++ packages/vite/package.json | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index e6b2bc224925fe..fe3308d896214a 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,13 @@ +## 5.2.3 (2024-03-22) + +* fix: handle warmup request error correctly (#16223) ([d7c5256](https://github.com/vitejs/vite/commit/d7c5256)), closes [#16223](https://github.com/vitejs/vite/issues/16223) +* fix: skip encode if is data uri (#16233) ([8617e76](https://github.com/vitejs/vite/commit/8617e76)), closes [#16233](https://github.com/vitejs/vite/issues/16233) +* fix(optimizer): fix `optimizeDeps.include` glob syntax for `./*` exports (#16230) ([f184c80](https://github.com/vitejs/vite/commit/f184c80)), closes [#16230](https://github.com/vitejs/vite/issues/16230) +* fix(runtime): fix sourcemap with `prepareStackTrace` (#16220) ([dad7f4f](https://github.com/vitejs/vite/commit/dad7f4f)), closes [#16220](https://github.com/vitejs/vite/issues/16220) +* chore: `utf8` replaced with `utf-8` (#16232) ([9800c73](https://github.com/vitejs/vite/commit/9800c73)), closes [#16232](https://github.com/vitejs/vite/issues/16232) + + + ## 5.2.2 (2024-03-20) * fix(importAnalysis): skip encode in ssr (#16213) ([e4d2d60](https://github.com/vitejs/vite/commit/e4d2d60)), closes [#16213](https://github.com/vitejs/vite/issues/16213) diff --git a/packages/vite/package.json b/packages/vite/package.json index 9b0b94d8c1d108..aa38301abaf624 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.2", + "version": "5.2.3", "type": "module", "license": "MIT", "author": "Evan You", From fbf69d5f6cef335fc18640fed7da16593b13c9b3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Sat, 23 Mar 2024 18:56:58 +0900 Subject: [PATCH 456/656] fix: dont resolve imports with malformed URI (#16244) --- .../vite/src/node/plugins/importAnalysis.ts | 5 +---- playground/assets/__tests__/assets.spec.ts | 4 ++-- playground/assets/asset/percent%.png | Bin 0 -> 160720 bytes playground/assets/index.html | 16 +++++++++++++--- ...0-\346\270\254\350\251\246-white space.png" | Bin ...10-\346\270\254\350\251\246-white space.js" | 0 6 files changed, 16 insertions(+), 9 deletions(-) create mode 100644 playground/assets/asset/percent%.png rename "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.png" => "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" (100%) rename "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.js" => "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" (100%) diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 4c940aa109b00a..6d758e04cd807c 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -40,7 +40,6 @@ import { joinUrlSegments, moduleListContains, normalizePath, - partialEncodeURIPath, prettifyUrl, removeImportQuery, removeTimestampQuery, @@ -594,9 +593,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { rewriteDone = true } if (!rewriteDone) { - const rewrittenUrl = JSON.stringify( - ssr ? url : partialEncodeURIPath(url), - ) + const rewrittenUrl = JSON.stringify(url) const s = isDynamicImport ? start : start - 1 const e = isDynamicImport ? end : end + 1 str().overwrite(s, e, rewrittenUrl, { diff --git a/playground/assets/__tests__/assets.spec.ts b/playground/assets/__tests__/assets.spec.ts index 8aeb61377844e8..5cf7e7c9dd62fc 100644 --- a/playground/assets/__tests__/assets.spec.ts +++ b/playground/assets/__tests__/assets.spec.ts @@ -389,11 +389,11 @@ test('?url import on css', async () => { describe('unicode url', () => { test('from js import', async () => { - const src = readFile('テスト-測試-white space%.js') + const src = readFile('テスト-測試-white space.js') expect(await page.textContent('.unicode-url')).toMatch( isBuild ? `data:text/javascript;base64,${Buffer.from(src).toString('base64')}` - : encodeURI(`/foo/bar/テスト-測試-white space%.js`), + : encodeURI(`/foo/bar/テスト-測試-white space.js`), ) }) }) diff --git a/playground/assets/asset/percent%.png b/playground/assets/asset/percent%.png new file mode 100644 index 0000000000000000000000000000000000000000..628bbd479129c03d60e208fa70b04c7f80436af2 GIT binary patch literal 160720 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 Dv9xFYvtk^sfDUE22x5?s^Ag~X)S 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
    |`8_Nm&b{E_c*pwwg7v3-oEh?ar9k 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%0D#V3c@6BVrFhc>W42)r-~tKId%bQt7M|P~ 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 url references

    m)b#5AE=`MMVx8d}o6G^Zmck!S|mZc-ukI*wWmL2Ql9_W{TOLCy%C5@&kdm%DNuJ9f;lbmHws?sUo4%=o7MbVrKx$kxEq zm7($em{qf8l9gK_W;bpWy){c7Fl)0LdO6EJ0Jly!ObzwHlKzyXrRCzeFL7eOZ_X$h zMKSb9vCY$&k%|$DgRRoLD+-gD-d;=xi?>v78Z*y%l=5upwkYv zp)_RZ!GIy)t@z1~6sBsELm`D(MP>(Dtva&?vSlxcS++1=d^HPe9M(T0L@81%+(Wn{ z&@gN1ZZ$0A@`y}4+iXyLwXi9Bpu*Gh*6rKhJ5zKGEIkT%hPqvD47^|M>ycdE8NQe- zx%mCK-d3E|%O%5)J!W7sG~DC2F?8nc8VAM5ijIm(kVRh}NAz2Ev;XdFv82x!!$KKE z)KwK-7Di=DY{nnF4ZOII*p)V=^m`|tR_A9YEC2DU-G*dSR}If&9IvD?F~dgayqA$) z&Ucgc`2#=^XVKicu2y0ddB^X?hqe2zbL!`Atx$aT(e`=Anl_ZeT!{?-?vOeD^F|prTNC@gPulDF_SeqY_&=0xqqrLV* z<)N~ta6z_nNAa8dlWFsshnxxzRWKawk73wOc*og$b~4Fksg$#?XJ5sgJVU)1lSodr z2-pT!KM%|H+;Utg8i*Mw>>VWd^tpeo*}@>&l10Qlj)DG0Hasc<^R7bgXJ%$rEf4jq z6k8>Xyz59z>3`sC#UgZiF!R-`viXBO)nzY=2?&UYl(4c|f~$5z<{qV6ZAC?9ESc%) z3le90AO7c&F4sbT^(u=ENilwoHhO6EqL?ABFST?;fJV`Md;P<7lR@G4{hLWcM-{*B zzkfZU-`dzXRnlX-xTZ&D{ZY%%WH!F=>U6&yxu*5{!j~m@4OVDtmWrI75gTYY!~c1F z&Y{!8z`*kDodd6}JmKm(XdVk1c}Y6c)xn2X`|@Ku)4xQ+)as~xL(Thuv9-Zq)+rjc zrtiBWF0vvygYQ*~t*x|*Pv_2F>67hPc@UNTN%(8)vX2juz?bX?jSlXmAu*0u;|I3v z^-D@hmbN#R52qIF?{>u-~aiSxku3G z(624+&wg#qzn3C#nxu_l2mbuD{}c+ilM5^|#KwweGP2$hz&}dz>ey^KBcJ~V>mQE% diff --git a/.github/pr-workflow.excalidraw b/.github/pr-workflow.excalidraw deleted file mode 100644 index bd85d16edf1749..00000000000000 --- a/.github/pr-workflow.excalidraw +++ /dev/null @@ -1,1954 +0,0 @@ -{ - "type": "excalidraw", - "version": 2, - "source": "https://excalidraw.com", - "elements": [ - { - "type": "diamond", - "version": 264, - "versionNonce": 290598110, - "isDeleted": false, - "id": "sQbLVqjpgdZXg0DrdESrv", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 735.9493670886075, - "y": 178.5833246155455, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 290.1012658227851, - "height": 161.833350768909, - "seed": 177114754, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086786 - }, - { - "type": "text", - "version": 205, - "versionNonce": 98179074, - "isDeleted": false, - "id": "Zo2OUf2C5ZeVhoM2q7Uni", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 816, - "y": 235.5, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 130, - "height": 48, - "seed": 478396126, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086786, - "fontSize": 20, - "fontFamily": 3, - "text": "Bug fix\nor feature?", - "baseline": 43, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Bug fix\nor feature?" - }, - { - "type": "text", - "version": 549, - "versionNonce": 2016741122, - "isDeleted": false, - "id": "-w-lI8s8rNBbK0EDBgrjg", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 342.29080030842067, - "y": 499.5156029443476, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 246, - "height": 96, - "seed": 1427727810, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086786, - "fontSize": 20, - "fontFamily": 3, - "text": "Is a \"strict fix\"\ni.e. fixes an obvious\noversight with no\nside effects?", - "baseline": 91, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Is a \"strict fix\"\ni.e. fixes an obvious\noversight with no\nside effects?" - }, - { - "type": "diamond", - "version": 608, - "versionNonce": 2122822558, - "isDeleted": false, - "id": "EjTMjKTsLZaR41AMwsmNy", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 272.6763813887976, - "y": 440.0654105718307, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 385.22883783924595, - "height": 214.90038474503385, - "seed": 1803796226, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086786 - }, - { - "type": "line", - "version": 1246, - "versionNonce": 1051442078, - "isDeleted": false, - "id": "YDKz6FIMNIlyOXN9eOsmk", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 698.1506535081975, - "y": 685.3181565485763, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 456.28561526150804, - "height": 0, - "seed": 1533033346, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086787, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -456.28561526150804, - 0 - ] - ] - }, - { - "type": "text", - "version": 1237, - "versionNonce": 1279345538, - "isDeleted": false, - "id": "2GhSpfbAxb6KdwUH_dCib", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 282.112356568573, - "y": 645.8893619128614, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 29, - "height": 19, - "seed": 913618334, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947344672, - "fontSize": 16, - "fontFamily": 3, - "text": "YES", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "YES" - }, - { - "type": "text", - "version": 1432, - "versionNonce": 1617063170, - "isDeleted": false, - "id": "8im9pL5oJz7NQJ8NLgnRe", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 639.4795755329188, - "y": 645.3669272112203, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 20, - "height": 19, - "seed": 546405186, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947336848, - "fontSize": 16, - "fontFamily": 3, - "text": "NO", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "NO" - }, - { - "type": "line", - "version": 1227, - "versionNonce": 42851586, - "isDeleted": false, - "id": "k4djJr0-qduIuEKzBQYCv", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 700.6365918164028, - "y": 684.7562574127057, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 68.9389053628438, - "seed": 130568670, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086788, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 68.9389053628438 - ] - ] - }, - { - "type": "text", - "version": 1557, - "versionNonce": 462154782, - "isDeleted": false, - "id": "qHmyXdhasjA8eOdNVyBIr", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.83291847520127, - "y": 776.8623273584287, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 282, - "height": 24, - "seed": 1964716162, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Verify the fix locally", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Verify the fix locally" - }, - { - "type": "rectangle", - "version": 1566, - "versionNonce": 613346498, - "isDeleted": false, - "id": "j--1q7-LLu6zXaPFAqLAC", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 100.20412395318385, - "y": 754.1165206591274, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 457.25758904403494, - "height": 167.4916133986022, - "seed": 1558079006, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "DNNnCdMRNJwMdJ9kccYg5", - "type": "arrow" - }, - { - "id": "BsVtWjyNfAaTD2juDwo4y", - "type": "arrow" - }, - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "9-0M_bcCrbauwjYk_9TfT", - "type": "arrow" - }, - { - "id": "HTv335lYKWtnkrIwtHQku", - "type": "arrow" - }, - { - "id": "aKq8DF78DWjpCfemhb5XX", - "type": "arrow" - }, - { - "id": "I3s4dbv-i4whr70NalFut", - "type": "arrow" - } - ], - "updated": 1641947086788 - }, - { - "type": "line", - "version": 537, - "versionNonce": 964295838, - "isDeleted": false, - "id": "l0bWHJVqhs_B31UG1rxwq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 240.26983738542606, - "y": 686.1858215233636, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 68.93908875127318, - "seed": 1005211202, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086788, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 68.93908875127318 - ] - ] - }, - { - "type": "text", - "version": 1624, - "versionNonce": 816325698, - "isDeleted": false, - "id": "lnaMqZ2QkzVhowWY1bT9O", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.83291847520127, - "y": 809.8623273584287, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 247, - "height": 24, - "seed": 163010974, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - } - ], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Review code quality", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Review code quality" - }, - { - "type": "text", - "version": 1686, - "versionNonce": 680311006, - "isDeleted": false, - "id": "eI2OuvQy_x4rapowl4CAr", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.83291847520127, - "y": 841.8623273584287, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 388, - "height": 24, - "seed": 1270788766, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Require test case if applicable", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Require test case if applicable" - }, - { - "type": "text", - "version": 1746, - "versionNonce": 2120109058, - "isDeleted": false, - "id": "Ab6Ypbk6c3nYNIMNKumY8", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.83291847520127, - "y": 872.8623273584287, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 353, - "height": 24, - "seed": 1963246338, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Request changes if necessary", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Request changes if necessary" - }, - { - "type": "text", - "version": 1797, - "versionNonce": 981136194, - "isDeleted": false, - "id": "d2OV-XorNMEgYi21Qgd2b", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 6.282101231183835, - "x": 286.9508930319074, - "y": 1016.6460651990882, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 83, - "height": 24, - "seed": 1674651870, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "Approve", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Approve" - }, - { - "type": "rectangle", - "version": 1945, - "versionNonce": 1968331230, - "isDeleted": false, - "id": "y3YlS22NXZHdevz-ZzYl6", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 6.282101231183835, - "x": 98.80297336665012, - "y": 993.901943508281, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 456.1871867260777, - "height": 69.49161339860235, - "seed": 1540938754, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "9-0M_bcCrbauwjYk_9TfT", - "type": "arrow" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - } - ], - "updated": 1641947086788 - }, - { - "id": "9-0M_bcCrbauwjYk_9TfT", - "type": "arrow", - "x": 327.0608817658424, - "y": 923.4043679975948, - "width": 1.1386196663628425, - "height": 65.95236612437759, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 90, - "groupIds": [], - "strokeSharpness": "round", - "seed": 1731023746, - "version": 2104, - "versionNonce": 50281218, - "isDeleted": false, - "boundElements": null, - "updated": 1641947086788, - "points": [ - [ - 0, - 0 - ], - [ - -1.1386196663628425, - 65.95236612437759 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "j--1q7-LLu6zXaPFAqLAC", - "focus": 0.0012831296632707053, - "gap": 1.7962339398652034 - }, - "endBinding": { - "elementId": "y3YlS22NXZHdevz-ZzYl6", - "focus": -0.007225371302232891, - "gap": 4.546242518557165 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "type": "text", - "version": 1787, - "versionNonce": 468151838, - "isDeleted": false, - "id": "RBx7JQHKRVEHkjai36KOM", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 672.0818031973912, - "y": 777.0349540879783, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 305, - "height": 48, - "seed": 1689229150, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "Discuss the potential side\neffects of the fix, e.g.", - "baseline": 43, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Discuss the potential side\neffects of the fix, e.g." - }, - { - "type": "rectangle", - "version": 1792, - "versionNonce": 186944194, - "isDeleted": false, - "id": "rwXJrcQo_SplPMRBcV5RZ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 639.4530086753738, - "y": 752.9002584997883, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 412.8131445995905, - "height": 254.99161339860223, - "seed": 826185090, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "DNNnCdMRNJwMdJ9kccYg5", - "type": "arrow" - }, - { - "id": "BsVtWjyNfAaTD2juDwo4y", - "type": "arrow" - }, - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - }, - { - "id": "iECy_Q-M9rMIvIFp5TFMF", - "type": "arrow" - } - ], - "updated": 1641947086788 - }, - { - "type": "text", - "version": 1926, - "versionNonce": 1233773186, - "isDeleted": false, - "id": "8kqLvDOHHelyQUyrgia7I", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 672.0818031973912, - "y": 843.4238429768673, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 340, - "height": 72, - "seed": 2009136030, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Could it introduce implicit\n behavior changes in other\n cases?", - "baseline": 67, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Could it introduce implicit\n behavior changes in other\n cases?" - }, - { - "type": "text", - "version": 1994, - "versionNonce": 1448935070, - "isDeleted": false, - "id": "dHM9p4Gz0tOJeZIIEdL4a", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 672.0818031973912, - "y": 930.0349540879783, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 328, - "height": 48, - "seed": 496276802, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Does it introduce too much\n changes?", - "baseline": 43, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Does it introduce too much\n changes?" - }, - { - "type": "text", - "version": 1980, - "versionNonce": 149832258, - "isDeleted": false, - "id": "DIdjL8bcCP67EuOMJAPGm", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.79811525412958, - "y": 1160.0947133527843, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 293, - "height": 48, - "seed": 1202955138, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "Merge if approved by 2 or\nmore team members", - "baseline": 43, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Merge if approved by 2 or\nmore team members" - }, - { - "type": "rectangle", - "version": 2122, - "versionNonce": 2051814686, - "isDeleted": false, - "id": "62ZHSfzhqzsrh4dVzLQiy", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 100.16932073211217, - "y": 1136.9600177645943, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 456.5631445995905, - "height": 294.0541133986022, - "seed": 2037108126, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "DNNnCdMRNJwMdJ9kccYg5", - "type": "arrow" - }, - { - "id": "BsVtWjyNfAaTD2juDwo4y", - "type": "arrow" - }, - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - }, - { - "id": "e19wFLrAWPdYqboa6YXdy", - "type": "arrow" - } - ], - "updated": 1641947126334 - }, - { - "type": "text", - "version": 2083, - "versionNonce": 1680910850, - "isDeleted": false, - "id": "V-myePWAh66gfv9Eh8hV1", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.79811525412958, - "y": 1226.4836022416735, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 282, - "height": 24, - "seed": 2117591874, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Use \"Squash and Merge\"", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Use \"Squash and Merge\"" - }, - { - "type": "text", - "version": 2202, - "versionNonce": 872967966, - "isDeleted": false, - "id": "6G0ZLaH1Ke-09BHdyVaN1", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.79811525412958, - "y": 1266.5322133527843, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 363, - "height": 48, - "seed": 1479479682, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- Edit commit message to follow\n convention", - "baseline": 43, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Edit commit message to follow\n convention" - }, - { - "type": "text", - "version": 2340, - "versionNonce": 1571347294, - "isDeleted": false, - "id": "qgXNTKjXhHEHFMg8H_1rC", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 132.79811525412958, - "y": 1332.1572133527843, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 352, - "height": 72, - "seed": 203188702, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "- In commit message body, list\n relevant issues being fixed\n e.g. \"fix #1234, fix #1235\"", - "baseline": 67, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- In commit message body, list\n relevant issues being fixed\n e.g. \"fix #1234, fix #1235\"" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow", - "x": 329.9373607609896, - "y": 1065.1741445425164, - "width": 1.830043903629985, - "height": 66.56469151842111, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 90, - "groupIds": [], - "strokeSharpness": "round", - "seed": 893045570, - "version": 2142, - "versionNonce": 364026114, - "isDeleted": false, - "boundElements": null, - "updated": 1641947086788, - "points": [ - [ - 0, - 0 - ], - [ - -1.830043903629985, - 66.56469151842111 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "y3YlS22NXZHdevz-ZzYl6", - "focus": -0.01765763497144198, - "gap": 1.7838626235180755 - }, - "endBinding": { - "elementId": "62ZHSfzhqzsrh4dVzLQiy", - "focus": -0.019495610197224435, - "gap": 5.221181703656839 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "type": "text", - "version": 2067, - "versionNonce": 1193340958, - "isDeleted": false, - "id": "erEE8G8FKvYhRr0-5lMCt", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 672.0818031973912, - "y": 1100.389792797655, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 341, - "height": 48, - "seed": 1659701278, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "Add priority labels\n(See issue triaging workflow)", - "baseline": 43, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "Add priority labels\n(See issue triaging workflow)" - }, - { - "type": "rectangle", - "version": 2040, - "versionNonce": 1807493314, - "isDeleted": false, - "id": "SsXRoiB6K85RJkG0cLHKt", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 639.4530086753738, - "y": 1077.8680004352714, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 412.8131445995905, - "height": 95.31419404376325, - "seed": 1452430430, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "DNNnCdMRNJwMdJ9kccYg5", - "type": "arrow" - }, - { - "id": "BsVtWjyNfAaTD2juDwo4y", - "type": "arrow" - }, - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - } - ], - "updated": 1641947086788 - }, - { - "id": "iECy_Q-M9rMIvIFp5TFMF", - "type": "arrow", - "x": 846.1502354837385, - "y": 1009.0048773144631, - "width": 1.4724394828381264, - "height": 68.99666593246332, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 90, - "groupIds": [], - "strokeSharpness": "round", - "seed": 488605278, - "version": 1617, - "versionNonce": 2124284062, - "isDeleted": false, - "boundElements": null, - "updated": 1641947086788, - "points": [ - [ - 0, - 0 - ], - [ - -1.4724394828381264, - 68.99666593246332 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "rwXJrcQo_SplPMRBcV5RZ", - "focus": -0.014513930519579882, - "gap": 1.1130054160725535 - }, - "endBinding": null, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "id": "DSjLArh7-2UnOKdJGzomr", - "type": "arrow", - "x": 845.0001977768175, - "y": 1172.2951998951075, - "width": 2.652485747952369, - "height": 68.02463696164841, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 90, - "groupIds": [], - "strokeSharpness": "round", - "seed": 1035607042, - "version": 1752, - "versionNonce": 1119248450, - "isDeleted": false, - "boundElements": null, - "updated": 1641947086788, - "points": [ - [ - 0, - 0 - ], - [ - -2.652485747952369, - 68.02463696164841 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": { - "elementId": "LgjfqFPAEinqw-48hD1DU", - "focus": -0.01634796150004538, - "gap": 2.064292610773464 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "type": "text", - "version": 2141, - "versionNonce": 848313566, - "isDeleted": false, - "id": "MWIPixVB7po50KFcFrK-t", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 720.7466777493628, - "y": 1266.7509039087658, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 247, - "height": 24, - "seed": 1252032606, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086788, - "fontSize": 20, - "fontFamily": 3, - "text": "Await input from Evan", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Await input from Evan" - }, - { - "type": "rectangle", - "version": 2154, - "versionNonce": 725944322, - "isDeleted": false, - "id": "LgjfqFPAEinqw-48hD1DU", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 637.8401054495674, - "y": 1242.3841294675294, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 412.8131445995905, - "height": 72.73354888247324, - "seed": 233618562, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "DNNnCdMRNJwMdJ9kccYg5", - "type": "arrow" - }, - { - "id": "BsVtWjyNfAaTD2juDwo4y", - "type": "arrow" - }, - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - }, - { - "id": "iECy_Q-M9rMIvIFp5TFMF", - "type": "arrow" - }, - { - "id": "DSjLArh7-2UnOKdJGzomr", - "type": "arrow" - } - ], - "updated": 1641947086788 - }, - { - "id": "I3s4dbv-i4whr70NalFut", - "type": "arrow", - "x": 845.5170912834428, - "y": 1314.944326268947, - "width": 284, - "height": 498.0232558139535, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 90, - "groupIds": [], - "strokeSharpness": "round", - "seed": 1762514946, - "version": 1327, - "versionNonce": 1869864414, - "isDeleted": false, - "boundElements": null, - "updated": 1641947086788, - "points": [ - [ - 0, - 0 - ], - [ - -18.83720930232562, - 38.348837209302474 - ], - [ - -120, - 41.02325581395348 - ], - [ - -224, - 36.186046511627865 - ], - [ - -248, - -11 - ], - [ - -250, - -93 - ], - [ - -249, - -183 - ], - [ - -247, - -268 - ], - [ - -247, - -347 - ], - [ - -251.48837209302337, - -437.3023255813954 - ], - [ - -284, - -457 - ] - ], - "lastCommittedPoint": null, - "startBinding": null, - "endBinding": { - "elementId": "j--1q7-LLu6zXaPFAqLAC", - "focus": -0.5439174079059673, - "gap": 4.055378286224027 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - }, - { - "type": "text", - "version": 1865, - "versionNonce": 1950155422, - "isDeleted": false, - "id": "JoRpLjElVazgNFj4cZiqq", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1164.7661471371505, - "y": 463.66908277859034, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 317, - "height": 24, - "seed": 1605394654, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086789, - "fontSize": 20, - "fontFamily": 3, - "text": "- Discuss feature necessity", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Discuss feature necessity" - }, - { - "type": "rectangle", - "version": 1868, - "versionNonce": 886994718, - "isDeleted": false, - "id": "6f4EO1ZMWYeKarDz8375U", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1132.137352615133, - "y": 439.53438719040014, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 425.1208369072829, - "height": 279.60699801398687, - "seed": 2057905154, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "DNNnCdMRNJwMdJ9kccYg5", - "type": "arrow" - }, - { - "id": "BsVtWjyNfAaTD2juDwo4y", - "type": "arrow" - }, - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - }, - { - "id": "iECy_Q-M9rMIvIFp5TFMF", - "type": "arrow" - }, - { - "id": "Tz2EigpQnKb294z7ILDj_", - "type": "arrow" - } - ], - "updated": 1641947090794 - }, - { - "type": "text", - "version": 2048, - "versionNonce": 1627324126, - "isDeleted": false, - "id": "o7tqZAe2UwoTuGvhH7EIu", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1164.7661471371505, - "y": 501.05797166747925, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 293, - "height": 48, - "seed": 988583198, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086789, - "fontSize": 20, - "fontFamily": 3, - "text": "- Is this the best way to\n address the need?", - "baseline": 43, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Is this the best way to\n address the need?" - }, - { - "type": "text", - "version": 2082, - "versionNonce": 1906009602, - "isDeleted": false, - "id": "MWLzSueAo93vByEHBi54p", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1164.7661471371505, - "y": 564.6690827785903, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 247, - "height": 24, - "seed": 1190884638, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086789, - "fontSize": 20, - "fontFamily": 3, - "text": "- Review code quality", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Review code quality" - }, - { - "type": "line", - "version": 465, - "versionNonce": 347566878, - "isDeleted": false, - "id": "ZqgvD11xSG3hXxpGNqSFO", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 465.3990233049102, - "y": 653.9851862944989, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 31.92990562768, - "seed": 1751912450, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086789, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 31.92990562768 - ] - ] - }, - { - "type": "line", - "version": 1467, - "versionNonce": 836128066, - "isDeleted": false, - "id": "kgReLARaeJtWLIucHDGFT", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1294.4362354574944, - "y": 371.9077923147119, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 831.391216879718, - "height": 0, - "seed": 122656158, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086789, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - -831.391216879718, - 0 - ] - ] - }, - { - "type": "text", - "version": 1268, - "versionNonce": 1611760450, - "isDeleted": false, - "id": "BWA8XBcQGAcRC30wZHVzw", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 500.83079843812163, - "y": 331.9405361405356, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 67, - "height": 19, - "seed": 122985282, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947346511, - "fontSize": 16, - "fontFamily": 3, - "text": "BUG FIX", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "BUG FIX" - }, - { - "type": "text", - "version": 1416, - "versionNonce": 836155870, - "isDeleted": false, - "id": "pDZYx50Ve5EU9-dHrW3yB", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1190.3134020178518, - "y": 331.4181014388942, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 67, - "height": 19, - "seed": 977744350, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947305581, - "fontSize": 16, - "fontFamily": 3, - "text": "FEATURE", - "baseline": 15, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "FEATURE" - }, - { - "type": "line", - "version": 1233, - "versionNonce": 640545822, - "isDeleted": false, - "id": "jr3dxD_dUYR4pXR-X_uoJ", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1293.8165721474898, - "y": 369.8074316403798, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 68.9389053628438, - "seed": 1449386754, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086789, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 68.9389053628438 - ] - ] - }, - { - "type": "line", - "version": 547, - "versionNonce": 317809858, - "isDeleted": false, - "id": "6P3oUr3EUMyTRa_-kJeNw", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 465.4498177165133, - "y": 371.2369957510378, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 68.93908875127318, - "seed": 478234142, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086789, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 68.93908875127318 - ] - ] - }, - { - "type": "line", - "version": 431, - "versionNonce": 1523957854, - "isDeleted": false, - "id": "Sl75qgdjG_g3QRVYYwaRC", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 882.5790036359972, - "y": 339.03636052217286, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 0, - "height": 31.92990562768, - "seed": 1538536130, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947086789, - "startBinding": null, - "endBinding": null, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": null, - "points": [ - [ - 0, - 0 - ], - [ - 0, - 31.92990562768 - ] - ] - }, - { - "type": "text", - "version": 2118, - "versionNonce": 2033845406, - "isDeleted": false, - "id": "IbwDGf9_heqir9YyW_RVW", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1164.7661471371505, - "y": 604.6690827785903, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 235, - "height": 24, - "seed": 413268510, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947086789, - "fontSize": 20, - "fontFamily": 3, - "text": "- Add feature labels", - "baseline": 19, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Add feature labels" - }, - { - "type": "text", - "version": 2210, - "versionNonce": 283705950, - "isDeleted": false, - "id": "YtIpxbcQQVbCSbV3q4QPH", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1164.7661471371505, - "y": 643.6690827785903, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 352, - "height": 48, - "seed": 665408450, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947089307, - "fontSize": 20, - "fontFamily": 3, - "text": "- Approve if you feel strongly\n that the feature is needed", - "baseline": 43, - "textAlign": "left", - "verticalAlign": "top", - "containerId": null, - "originalText": "- Approve if you feel strongly\n that the feature is needed" - }, - { - "type": "text", - "version": 2288, - "versionNonce": 1621749214, - "isDeleted": false, - "id": "_QI4-CZIy_nABUPn3RB7r", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1215.4374848433713, - "y": 814.0677609737774, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 247, - "height": 24, - "seed": 742373086, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [], - "updated": 1641947099203, - "fontSize": 20, - "fontFamily": 3, - "text": "Await input from Evan", - "baseline": 19, - "textAlign": "center", - "verticalAlign": "top", - "containerId": null, - "originalText": "Await input from Evan" - }, - { - "type": "rectangle", - "version": 2314, - "versionNonce": 2055471326, - "isDeleted": false, - "id": "cQeOM81IMRmQYPfSNDc_w", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 100, - "angle": 0, - "x": 1132.530912543576, - "y": 789.7009865325405, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 426.65929844574435, - "height": 72.73354888247324, - "seed": 31600130, - "groupIds": [], - "strokeSharpness": "sharp", - "boundElements": [ - { - "id": "DNNnCdMRNJwMdJ9kccYg5", - "type": "arrow" - }, - { - "id": "BsVtWjyNfAaTD2juDwo4y", - "type": "arrow" - }, - { - "id": "B_fXkAEkXbcQLinuLeg3e", - "type": "arrow" - }, - { - "id": "UfG_juqIBi1ZgfOvHtTUA", - "type": "arrow" - }, - { - "id": "iECy_Q-M9rMIvIFp5TFMF", - "type": "arrow" - }, - { - "id": "DSjLArh7-2UnOKdJGzomr", - "type": "arrow" - }, - { - "id": "Tz2EigpQnKb294z7ILDj_", - "type": "arrow" - }, - { - "id": "e19wFLrAWPdYqboa6YXdy", - "type": "arrow" - } - ], - "updated": 1641947126334 - }, - { - "type": "arrow", - "version": 1719, - "versionNonce": 806769858, - "isDeleted": false, - "id": "Tz2EigpQnKb294z7ILDj_", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "solid", - "roughness": 1, - "opacity": 90, - "angle": 0, - "x": 1348.6842784701294, - "y": 721.2617356998531, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "width": 1.5984643496256012, - "height": 64.5218005954606, - "seed": 1293204318, - "groupIds": [], - "strokeSharpness": "round", - "boundElements": [], - "updated": 1641947103757, - "startBinding": { - "elementId": "6f4EO1ZMWYeKarDz8375U", - "focus": -0.034730097781564113, - "gap": 2.120350495466141 - }, - "endBinding": { - "elementId": "cQeOM81IMRmQYPfSNDc_w", - "focus": 0.0010607736883342003, - "gap": 3.91745023722666 - }, - "lastCommittedPoint": null, - "startArrowhead": null, - "endArrowhead": "arrow", - "points": [ - [ - 0, - 0 - ], - [ - -1.5984643496256012, - 64.5218005954606 - ] - ] - }, - { - "id": "e19wFLrAWPdYqboa6YXdy", - "type": "arrow", - "x": 1351.2451771510634, - "y": 863.4523763583926, - "width": 784.6153846153845, - "height": 527.6923076923077, - "angle": 0, - "strokeColor": "#000000", - "backgroundColor": "transparent", - "fillStyle": "hachure", - "strokeWidth": 1, - "strokeStyle": "dashed", - "roughness": 1, - "opacity": 90, - "groupIds": [], - "strokeSharpness": "round", - "seed": 978982046, - "version": 477, - "versionNonce": 1389609758, - "isDeleted": false, - "boundElements": null, - "updated": 1641947142555, - "points": [ - [ - 0, - 0 - ], - [ - -3.0769230769230944, - 424.61538461538464 - ], - [ - -16.923076923076906, - 515.3846153846151 - ], - [ - -118.46153846153834, - 526.1538461538461 - ], - [ - -593.8461538461538, - 526.1538461538461 - ], - [ - -784.6153846153845, - 527.6923076923077 - ] - ], - "lastCommittedPoint": null, - "startBinding": { - "elementId": "cQeOM81IMRmQYPfSNDc_w", - "focus": -0.026477991878603318, - "gap": 1.0178409433789852 - }, - "endBinding": { - "elementId": "62ZHSfzhqzsrh4dVzLQiy", - "focus": 0.7327187841855894, - "gap": 9.89732720397626 - }, - "startArrowhead": null, - "endArrowhead": "arrow" - } - ], - "appState": { - "gridSize": null, - "viewBackgroundColor": "#ffffff" - }, - "files": {} -} \ No newline at end of file diff --git a/.github/pr-workflow.png b/.github/pr-workflow.png deleted file mode 100644 index 3d097dc47cfeca218160317097b3ee5d681a7061..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 231797 zcmZ^Lby!v1_B9|ViU^2;pu&+5k&;HKgNhOYf=Y)$N~bgju|Yygy1}5kK}AwPxpyT3nP^(D^Ud#$c@KBbAoAsf33|RE>v6xK4Z+ zzQTU(!ejUg-&*PRb-dJua})4CH}zDd_2uO7F2lcx@$g?8;SnM~0{_v%e|UI@qVe$# z!Qc4E*P;pbze`jdeQ5vRgzLx;N>U{L#lu76N#B&XZ;wCScf|fw+uHmBrK5Q>5s9QD z*K?(S)Hi&r?+BisI(?TSfFV}uHqrDYxrC!q5Bw6F2@@FkA4&vVK7XB<*}P$6$6$c) zI;!SkSHw>L*wG?kVe7H}#^f^%;i7_35#`7Pvk@LACq5fqoO|E>Rd0k|j%-C*#4eGiR75fS?y8P+ps{y(okSiN!l z|GYcGcs%??O!4#`+5?X_NAlwJYp1e%jyG}FMd8DRSWui=jJO9Smm*-i<>h-(F0}eJ zz3U}|#z@lm&%7$Q#S%Y_LeC~qdp|nxOM}J)FG;9_HkQU@^UV5mYXewI1w<-6aI05t zOF&qi#`x&a!S$@T^>C^^MJe{?QHSY_Dv{SK6D_wLSEpHHVqzjqMI>8cN?7P){ z`jN*aK-5t+JOyXQmVyX$e&of(XkgZc6~mP3_Ro6ANt!gk4`lh-2;9XWBT zw0bg$p77QC{ZGulgE?*$taUf>!2VzaiB@NNSja?|eaGVj>d$l(4oOHzWQf&&zLykl z+LN1U@#ng*-P&xQQoNL(>e>(d0~=v43!i5$-As1i_Bc-pIV{E#ediz2@ED4__5MS8 z`W2(LFAu_>56Sp5%TlSOKXfNNawP12Q>^5O`w=>Fj=t+R4(tRgY&gryYh$=wLzmws z;?yeC^)%P73zCDaVU7@fmfL)(a8Mt@t%T<(X`%7kKn3xgR;q>8m%>SRLjDGpP7vZw zfO{t~ETe$>wCDappfDIuBK^il4i5F~bQy=8K9m4Fs-2Z%2hnh=UM3F|otk=-pO4JCR zU-xgt+Yh2nt2fUdV!=Hpu?W6QGGRZzLFIwv{8;|Y<46M9ogi{>eQ~62%#56o5xFe3V(X?7-L7KcS_h-iYihxA0hx z-Z}fnAj;+9d0{)RrN3eQk%>WSpB3X?ofEeERT#Gie^uaD0xe$R$ns(ryAFpLMmnS%ccAI6n)LyOfHi``KezPp0mGq!_G)+p(roiHc>}eKJ|d4jKB;9T z{)!UU;W20k&-N&MnKd_1rc-D$!2m}nx5So0k#y16=nUm~y1k>{W-EoDL@0AoeEu za%JqD;uD%lU{12-VJbKeE^SzOjXz7m-I(jJQ{6en%zS*UTpmMD_lEryYD-F4d+&Qm{XBSnkq4Io56@aW0ZgzzTai4;+j31Vk0eE$l&I~cSHWc4a#ubqP_ zND;q2Q9kf;pyAaIk)lquBXz+Xs8K>C}3!Z-JjKmaAOx8Q%C5!y>R>UgRepLlW^0)%(6jJut}N%b>m4{ zE?agJ-8oO*=GF)Am(G@B53RxrPRCn64yeyW*RNksPJTmqPAAVSqK$^EVlZFZQ@7@Wbdr2T@^mfKu#u^>vLN?E zM{1FSDCNh%W7aEF0NGYaN1y?B3I;u(q`Az;UST@0gRzvqe+opotg1;ziIo@{`APd< zRC}l?>-oEaYG!+TsZr8RYrji<w+kWX{mZL+U7#Poli zAqiarDD)110^@D(fLKY-&F@!eaL@@&aLiXC5|eL(E$Ju>`VN89>a<^UG>XJ~>akyv zLR1h9uRi%XpQH7jbE4~m9+?hH`bMpv{Kl8~joYgm#rN3BMCLJp1rzNlVMqb+G>B)z zt*s6m$5~^Q7YjI$nXf%K-IZmvHIwJW6Yy-VpW_G_UBI0Xo&wj|Qh{%$Se2vz9_Uqh zpSSw+od}6)-D+QnT=N0WP3^ZQnc2fcAU$@xYOu$xe=!P;=_Pq%a{%j{*KF!v#*M%)B@(IseGrM|@WmN%dzRmAUS~Oct@0c5zjw?^4LwFK=e8T@+B`|7^r>I{Y$TbZ+ch#z*HaT4QS;M4% zFqe)tU=RkbvhB=p5r^ihFK*-RQyke=18T27xS(9mEl-dQj#tll`hi7(?(8RhU*o>X z-U92b)pD9XQle#b`EVh{(w$X}kgL{-M3s7WilD{3um z>Zc*@@H?vx=5%N;1t@Hc$N3C*8APr8Y2wMwKgO<^e^=XO$Q4`$Wa-Lcr4Kt5djJqX})t;hJmu=LNT>OqCsWxC& zVGwZBB3!E`TEb&E<~7}iynaVnyV+hN5(oX750W+)8X;KzzQmTy!6AYG)rAF;ig{dc zI;%V!D0QJC?ijRB)hrlZo@n85*|d2+RO(byEWlGw+hI-&$DyirEP(aiEx?YQ9N1rrYJM=*(D-^6nw5}7~WUz#R{UQPD20yJAQ z!fW8zacrEQ{+i7vlm6na=YJr_P}Xw}WITC&>hk^S%<8Sx8Dl|(RMDUg+=@tZ0qdMd z!)H9eJQ&^OBd$pUN*jTw_f^Z%?;;4NJ(WO|i{9Pd7+Go*&wDAdVy&3-^ug!5G0#o< z3Lki%7uF|na9#iNnthn2lb%w4zv78qLX%q27hgJl;3%vSmToV~vPHx&IxYO9)>|HL zDixHvHOxye;IbCMG3?M|ng@9oa98e2k-g0+E{*CeAShzI%7?L>i7*qk7G1je>pb>^ z4JHzV;%fq_>q&z|oC&3==^+cLd)QGpN0Jv6BH4k}1WdMl)nG;797({`^+@xwo!t9h z?oa6V&5PmcKLJ9V@GU0}94I#;SP%#W*2V6YiG?u3C?t z+VM)!E>U;gSy5rtDJ|}WBt~_qBaEAtot{_U>&45Ll2^T{akqSw1x>p6A}hh*K%Ssb z1#omfMZN8o27n5+Qs)BTecu&sHD1|y@NlL(N7)B*9bo*thZ|qhN-r1L&15=`0FCm6 z0^}A!H-r^Fwy$IG3Uo9t9)62G2fpM4w|(dWVKW^H#calXhZ`b#mO@#GnO>D|Z!9I4 z50oOAh=%*|i*QjVa(sub5Wf8_C+{SH{1*ht z%;EVEl-NwG%Y;>jwygc`XPNirXK>*46xtd?-hAtIR!}}sA&RrF(AGaG(orUq-&mi- zUQfZJYQW;MyFODK>pf`Byw7M9cn@NE~zQtMuf-3RhFfp~kD-<+lv#z{i! zo@hhEPkKH5E^B=P!zmhhwU7l6VztXdRQVQzzsTK5CJcSo{-$S7%sE`z#$e2k8BPSi5gIrws8@RmsjKEE0u(Qh%en&^ zl-^vOVS{59fT%U9svjYRS5bwZziJhKKUtMKNHkM;f2$#E09|fv@;dDwf$|3gIxZ`L z*=Bv+qpbZ%4lOoBsDL) zT4ubQ95wIp6DNXfCYlROzx+DlK1B$X_5$o>0DM{}LnN8_cKY-{*}(G=bw^2$5k&ff z+tPf-eij!syAZ133IzMBg~1FQHGKOvh(n|Mc~~ej0Kx(FuD1k4$JYBa&s-r`I4u<> zkg`14R!1-btm(t%%9Ly~|<)1#N^-Ma1eE%wg zX6|rrcRw)8UIYgH0qB_eLrq=-BVxirbP&5*^6okaRzSJ$)441wvT7A(d(n$)Uz88O zG*TPr4+;d)HOeI{?TIB$mohkYLi+&N`ce*O9)UdqB3f@OHWo)>nJ*d=qsU9j>D{&; z3Hrg~U3A%8_A7Q+sy%C7d?8d%%xYNbvueiUD;I@B`~5Ld8AdpfMn4d?(uxR_S58md|9tag};&O|UAqK1KpgvzVnP(N0S z)MQ7$Jx#5nnTU;~^(+LY4VP}sE)iCBq-q(D+~?a092Ij1C{|#<@Ysv8<>$o}YYEQ? z^k=06UEmo!rrmrY*KEHO1M}tq(yh^(D-(DbAsIkFRj04%nPV598Ny%7>O#n2>_c31 z2lgn9XjvYAVLdX4D*1hHQ(k>G8*ZrVGEAQ$IO8)j_|0Rnf>NRS{IlK*5OH}gnPHGP2HO(hnAV%LGLnw;pi@b@Rj*KNr9f^%;~ zu>nVYlpOV}>8I{xY$hus`4uLp@cj96-Olt!&53en3mjLz*vxdd4J3`UElhonSC_rE zr~s3`!0V)@M}|2*>nZEd$5+pRgX-_a60POBztWwCLo-<#fT5rfr{QXfre98^=Zv?evl=VtYjuA`2zONW z063ZW9pf=v?f2vP2ppHJnT}n>jK`82J8J`aAP!i?xulA|>JX&<9mYW)KZ*`4oqBY!#p3 z@A53IsATPuZkZ^Pfl{q^R2-K>OHxP-pXyt}?#Ek?H7Kt7%#hSmJ$t^cK09>Fv@28Z zFJUv|Tpa)8O4wn)9w;hYkO;HoIvO6xW{xuicBi^D3M{^E+wO>7Z&48Em@C^WC92|o zsGV=|h$Pzh>NyUV`AM3)B}#d9Qv^C@ry1n!dBoS@;USUWOvgi#ZK z)_WcRpOIe9q}Sb+n{MZ7WxZfLQeCz=$<~!^d{v*^7Svab(XKv2=kL^+Zc3gG5CuzKAtYxKDaZk1z(O>{noUh|?TdEf{&A9&y z`%Ho$Og;PYK=%apndpfPqjNxw7ifOk_N4}R7l&~h*{fOq8?7%-uZ(_o+uLCQ9QFYK zvFv2)XT9;?F(06{B=lZQw!e6}Sys7FlJ`{(XHHQ6N2m&h5%cTW9!JR3-=3Pev1Jp= zNwop{Ak39uzwnpJtBo|YFO}IodqM=14x`4nEk^iTK%R8fc(kDZ%x|x8K=x`Dn&u~< z5{MPv=%RX${?}6Z134&|g7MZzEl>=Z)iQMvp}vl20HjKP5X89AC}Km#_^>IQ zo=7#mg+7h;2@ZLq(REJ1iE1d%?Sb~rEFuy-;~1*L&QSe-ZCxFeM#bSGsc&h}di z;DL$>cBi%3oS`quDU(ONrw*sAY2})939U?=i_b~UX(-+W1pcGTL{B(;X7fzJaW8`; zRS_C7=lr&s6Gx9`{4x-=DaYU|L5ECr`Fm=|F~f^{N9dhVX9Y~sudRh945UB0p;4X% z05Vr7`Ciai_Y()Kc(o1;&`PKDnim#m&);wdHeF4^Rg9wH(M^9C+Md!5LY$USKV?2h zh$C?Ra_C8wpT0M(k8Vdj1CBOi6YI9SQRVH)`9r7fX+@IJjFpzx12?`OJx1zFyaHwea&>jiKvN?*mtTD|PAeI8sP|t#I-Vzy-P-_IfQg;`m(12Uf6J8Wm;0;;D&AS6 zE6cLLk_%sZD3g?pp}g2^no9k$?sjH2;*iRf{Cg zPK=TM5@;qSpVVn@l{Ni_LVMMAGC=(Jz+9y&B)1Szr(AZ`^l~v?XbT5|;vxfwVdT$i z`XB)Kn|c_#PkL<22vVqhLcU4ejM5Rjmkg#ga1;0yfkIgS;432ZhNk!HNNE?va<8z z2D*?I?4H~)Pal^HEVP}f^;ZyM-3*DvZfof!D4W!2$DUy6hqETS&bl>CXMpN{tI06n z7mZb*?2<0d!?QGz`ZJ@ofpxAn`1OF9YM?D=@*H7sLd=Tcj>C1qTzM}A`7KIyYff4| zedlwA`+F8Di8FG7um-XhD>U-ROS)ou`0hr2loMCU>$3|Z%IB|6$*F*B-fFtZ`=s)? zK^DQYvE$ zr9+i)nir>e0QSChc7fE+LhrKdck0sJ@+=?yIAJ++JCW7SCqYEXH06clPe33M^)x`# zt1kWqAHT6d!o{?iJG{OM;X;o_9J6(Of@Uqc3#`XPdbqTU4a1V;!t^C9Tw<2$pp9i} z-W2;XaJPvX*lxOd*Xm(6rcdaV$+nTCDAx}lRri|dj&~ClVv_pD&j?vO444XuJ`{s( z$qrs5kf12Dzs136?|;Z12PIHfi1_e6kFaI)L$?CR{w(VN#Ycu+e&ZBr*Xd4fR@L<8ip?n{%**=wy6mbYRYBab3T3I@}u>VYxi5Y3o6oZ%i`?*U;<_X--5F(U} z#A^Bi_;k^m4ww3aLD5O}>QcPizc>x^7z z{&FMte(nAL`h4zq6u*C-qjz0@)Rku*Rj+ES+VSN98(N<}zhxV+Typl?AnvQK+xcxi zy8u8*wfM0}mAf>IhtaJLe!o zw||=RPXq1Ai>(mD-V5GQLmKbdzM?u69T&YUI?$PHrrO_6H{fj?AFdBmIdT4)O`i$9 z{UCnGl}FbDx<@)@Dh?Aqz7XwhwR7wF;adK_5#0&zM zNXXE_hmpavM>R_vAIug`abC3;#LP4&tMP7ZPNkV=3-|0_5I^l0Icn`PO9VC*?6Un% z(-Ef;F!?Blp7K_KMywmlk7^1uw0D$KHCdsRlAU2U*(wd#h7p`0!(qo5!eee%IQFf}YG;uM{EV#8efv4#kahY2*p z-L(8qnE>+tQzo+L6}ENI)KVhWqh5OoFKE`^mjgv+l6-e+aUv;7rZG}fQrv_8Y3qF0 z0`J}b!V?Rmv++z@MIWo(RLG)b>1^iuwHl(txnMg30Vt}-1aora7HJ5}#5-wPf{qN>$6e&!0w=*WnHfjE?$%7v)SH7Xwqr~6^J*m`c@@( zq{HDx8fQn39_2p9@ioqUvBE^XAqfN}DqZsikNi+s56ZF-mcfDj(v(*OhH zptu#zj#+Dg%Fvx>&IK|jrEP07$}tY%pvt$MK&j`^|MgL5Z7%l^msTMYV$ta_E0Uw) z)V!2dy!bA~JX-KH$RYpfU1HLJ%dF+FeaAKL=&7nh`M*NP{YPyw;!M$YUXYXyVh@2< zcJ=Gq^}p|<4+YYWx0x&ekdgsKV*283?{im~?j_zq{X~(UI;A`E$|e};+eEqTvLb@X z-id6nvRu&d+vyJNkZHB5P_MN`uOqx0LL<-X4EJ>#mqS>u$Dk(xtFz@@uLHe^JR+;n zU#tk=JpPa)YJUC)Sr5kcLL&%Bo2!GAMmC|6TS)I5#Kp(_y*YeUH^@YFnOPXf{vbsL zIwKAOMz2Z_r`h&^x+j^nmc#V6-P~JYYsg1@dj9f*FTL6Eu)8XV{F!MtqfT;o03^)Z zkADG+n&!ka`V2uz4F;ys^VieyPy*;%s}9v+g66}0?C3q%uAW@roLxi1HU9N1i{7CQ z$q6ntQIIR!`X|ACOu}t{Vv)*T07R+1zM* z`IO}J<>9MQ`tKBgPpIdbu!7`1Z_;sm0$gsj;(OaetZG9JyycPOf+v?pzd`HKWYqCT z`G(Vl@=G5%|688c!_XC6?pWpkx#TZ1ImH<=pLNkrSBA{nKNzVNy;R(GUFTupskI@8 z`n-J-=c83<^OmOsDwtrcD+T|+4|p~@y)ZgzKYY58{LWHC5Y<;`6fZMX-T*F3;|kBL z^UU@9jS7a8KNRkJm#V1Ql&1?_7zuj+P~fj#+L9zJNbBLs^jy-M$v!XU+?llpn29za z4PZu(lX>yND+4FZbBt8%qze8Q-;aqjoM}!{aFgu^fOEW~VA2wi#l4t)Bgbvu9U1pc$oU%kR2R@ChhHQ0a+{vB7YNw(eJyp{hyW&z&;s}*V+B;L2*^CWOOar z8fXIM8MHFh(NiuAN&pyKa9tJG$oGaD>VZ}l^cThxcT8O*e+zdZOlU9d|*aXjb^CTna38o82b zVL=U_b;?S23`f@>LT^&5Z7;Vdi~#0cnjV0PgTQV*=c!IxZwd)Bht)0vQwrI!vqTCa z3ooGGSm`|lQjBK4g#?2cRrMhD$S z`+V;<1HpLiPPcfgvT?!G=b^Z->^nUzJTOs5 z)@g9vGz{6Xn}mv@Gzki#E3LL_RboQAX`~b2PWyxO_cm?^49zcp?O~L$>Rf%J#1=Wz z;9pJCP9b4qU~Lb2<;EXV zFK+ca_bt77sriGk_Iqb3h2XJNCmq3?0gp4*AiS3h2Rhzo)T5qVD|}FebYd#WGdfN3 z_3MQ>Vr@K4Rnp#^J=8FI$)`}ELJrlF25yT#6nc`e#dD+7z{N>@R9}}bT~$o#$}%W& zsKxemG&#|S3(n43T{(iS4ON7E#+xAqk$%9d)NX-j$sfr`@FBLVGBjj*G%+WG@%bNt zpGcP}@e2vH@>gZK(Z(n)!1D_xWvkLREwuQ0x{V6SCq2l->{|-|H0=7(pXGl#{P}&# zN(H~MI(1+xk#fW+JJ07d+v!l6WI5x=+k{0k1-ptRj<$7=k#r&26V9Sur7;%YH35PJ zMg2u>a1OLxe6}h*T@`lqX`hX0C=ngS^2#s%zlqNcOYB|53kxQ>VOtw=z&VKc1ZpCL z^UUmAS{yei5_G4}p19WaCX8Yc={@F=Yl=HueDhySm5SJTyJhPtuoN@?H1V-xAKn!H z<}vBKqVZ8l_T{)w(4#limle9dF%Nbj9v+1`K&@$G1!7Gdv?y_lL3F^3pH8pq)=aE~ zdeQ{Lr%lS>L=xF+a&?8{1vw_QP?00*73uiVv)RT~vnCyjtnw`wr<)}$jmrYVup{DeKI^^l(3Q4 zpkdmiaF!dkt;19{nG_nQ%i%Ivzv8|gN$qGcf|8jvnBP9wuKqVcCNMK}jMk<-c`+;p zz*MhEu;G9>c(<~97|n}A;&?mWSY1(O6kE(_SUTJH(H`_!lT@?q?Q7N@Rgm>-0LJNo z%_LV%P8m7Yl_1qYcJ6-ww zKfeB=Cm5dS`3StFoemRf=Xe*zA_e#6q~D#AUSlidO#j4ekv%L0_;LiIsLakjvLn=8 z6ud1?DFeq0JJVyvN=ls85bfzKA%$%jNB%CP9Vc(kZ6>|ifXLv@g3tFqe<%@i+bsqh zBp$hDwmhuwt$s@~tlaP+xuEb18uHpXe2o5JD;0=K=zH=ZK5Rt9D<(T-%B`q}ox5s_^6_lNt7 zY$pEF`~c_r^iKXZMF!>zlR{)~Lkj-@HM=TGUcb;)%!gjw^@kaRh*4D68_8Sd`95W( z3qQ!jRo^?79F6|AaGTEICSsf}e1-ST(yio+*FODxe3H0XQtC;!``Z4w0`4Sr37<3) z3>M0cE0cOjpEUAP11;XL{;jk;-z-em+`n{dOvUDt{q=mgb>Ei0)IQoW?C) z)})b7(>3e-3@tRMb6c(0#CMkcXX32sK}r~Rh!B9bfdYM@9Q74BFf8f?B8Dq}+cb&p zqm&ngUUxk~FdNw4GmTmv|Bll}l|!&yeo(X7alP z>W7C$f^~As4S{>;K}ad3Ka@b)4n$9PP6I}zjSb0{ry(Qtp3=-o{slc_k&vcq;`Qq7 zR*bagIub`XmTiYkS8s{zS@4ubRGqaA7Btr;=`^?qI)n@Hg=E(1dg$n2~1DsRG0iqS*Osx*98(#YF+7DGiho| zP5cpQ?UEhSwr-}OGiiD@(2v1vq$RS6Sg^bL%lV*^Po}{3gY3q9-}=P2j!epcDu4 zrd*lmur#W;Iz)sGDJg;`H-js_gdf@Vzl6ak95ZzA1XE89$Wgk3ditI`w-!V4^X`97HA=-zjD$P(xM-_4Fi6ch6UzVjtf6`O} zE&m$==(~vg-ik@K+C8(R+6Nv#Oc}dh+uDu zc}e^d#rTnXw1Q^r;34&g!`AaWcXL1rc<`kg!=BXdx&JH5U=*MUwf45I9EHoQe;Is1 zze6mWFjOK7svI(zgU~d@h!YR(vRKf$4fU}-*ybcrxf5$iB^dKM^zFM!McVkCp zAb`v&18w1gpUE04^qm2t#BAGA6U}}k4l08eyJ)4BhiiWmP#7YF!z13!@y9RKT_t&c z=>W0bYCar1y_0 zKH*8FXv7Q-lTZ`=B}K@0!C(q=!@&8Pu6uCo2w-romzywjk%y+r!*&tC&qrXuA; zhHCU1!dZWMQU`+{S@o3zX7P%t_(>tq`(1*N7L>ZRCU4b>ej`XX!|w(AeZi@+(PVN4 z=cmvBG1X3ICrht~h{+G2NvoJcuM zn*+=;&`be|$3*c5$X)8FOpx2%rM`!|+(8?UxvjLRApQKBK(=5PWwLWZs2i`2`>{kh zH*0To`qG@hZg?I%%g$;ux5fU)n6xjmytB@HRRZVDJUr@2~2PeX>O(ltg$X%9qe$arNwtn?3Wfa>Y6)rh3YE$ za*Tr!pK9g%vn3F?BzyKIyk}A9)K7Zfg+{E*TVVN zoge&0SVeg=LLM7V6a>T0$M*LehM$zt)Pm=(Jj5XG(T4D=j9`GxTx0`BNHDCC8Z@96 zn-S!*(`&?fdgtN~=$*?S+ub^5k2LDUBF#ez@zLv?ovV!OlmuxQ?&@1)8vC#|( zW&@;|1b|%q!Ze~-WtX`3E(ULd)X4r2Znb_BLPli~-=6m!SQ@)C{5217mL3L>Q5cWLG=vb+N+7e`&*2<2wFM! z#5^7DdCjfL%g2TKUW@lV`~cJ`n!ZMw5Kg6 zbRuh$4KbQiejta{%jg;U7Hj00#fE(6Bjh_`ROv;d1U^5toTq_?HFR3rITnAuD;sPB ztG^)BP=y@~oTq^85wp5*25Wx8VBCleL%hIwg0wdiV2h~cHGzH`N(Y@}mQl5v2iUOv zgvYCSiU1N=j`?ZB_H|HdpGNsW%T;xB{S5^pqH}7Cvz*7->?^dO-uBK2oy0{Onkf6C z1JpW>bujt4f{5ZxB<8j`!2;$Ms(Jwgpo2;5D*7dXdAHlnN^l=CKp99>-Ga=tC@1?u z&8Z8&Y8?+Mhx_aAUf9JEhvDMcBh+s%;4Z$Nh=$eBgQFazSo&;E+vs<+dn=5`AgTpo zu7hgUV?A(AG;Z+~;vF1mQ_%^8POUWTC30>M<2&N5bm63Po|iBWeTls6tR-KR`xfqP>u`@~RxPOBTdm2{y3KxYBmoWvHMq$OFW3q0(slKpLPR zyp-{QxH_C*{|?Y73qmlTA+yGr)?@N@XJB??Yi0u!%ctKKK;4t^p%Wbj$->>^?}w1x z)gE&tm`p(qn8-o}rPa#hgAn0oscm6Vg65HkeV>_Ek9Pmyq6Y!ZkcAu9-@z^5Nkw$l zo1EfzhaW)m^a70P1tZctk}ha(Li05L_*sEFFvND!@_zVbPJ-8D^g#^~!Wu3PCEpYi zWKJUz$xZ6vUa$_ef`g2+&+0ff^I*sj?BwoQPL5m2UN&FhXJ$0wuEow^<;=B@(?^Lf zRx@Ur^<4wt;t9=-`{3AN0(xr6^*pL!8dx@uZZ$dUgD(Nd(Bw6{=}U-1Ft8f1TpmWM}17#6&Ot(I?E%RqbnhqCucLE_hy$M=_IDCDIUG?r|=RFH)1dFl3i;6=oRzYOFC2=L6*wu;`iqmjNJ|N%i5y9#h@V18;cN;! z4X4!aS-->WOx>ElZPv|L6pX>l9lh((yOw&C5$m@gC$?}0M5-5qOOtvP_w z^mXhV)1v??rSIOoi(&ievRQa{5(W^Ss%@&*>TjGshZ9QK+SEFw$|9JN&IUO5&TQS)fD( zk`Q9+u$k=*QM!CIRz7Jz;4tPS@$)l(xUcP3d}yf<+(YwL@ZT$jz7mh+-0)!s`n6DJoIO{sk6k%;^htm*QYv8u*gYg(FF_~X31Meb_ZWiZ z%wb=IldP6+5i{Laq{2791#@0+55GN>F+q@oq)MPhs=k`$>>^9Qco#dL_|yQqjt6I; zd-eBlT#7Y=(ZlV-S4?mj0$mOqvmww2yHPF~-qj7^qjoOQru)$?)qdWg50+R}KIq%>K44ymYv=9uw z9H$r4Oq7qf3@I zfh0U7@SLhNgh}JTto?0x2g96DGYK{%V3huHwELfoCsnlot&q0}G=qf~L0cS?T`+>` z0ArLXbk9DVX!c|wBPGo_O8`S8H>uZ_lX4+~k?_~6Rrq*C0gV&$9KuBokd(NqXgLFzi#g4fsjj#WsreipPN=R$+K=#Cjj|lk)w=0`;jv3k5ng zl?{xMrP)lj)?{Y5ZH!QV)-EaJGj6{F{)nOef?)5~X0F1)PeISY(clN(1&Q75B?Tlq zWj}3`ff97nqF1)v2CK&r79zuWdxTfqaLV3mB@SUNm%`qyN+N_5pmGbY(j2%C4NOCW_BX_U5|7I#`rh7_)W zI7kpH12~(0#;BaYtr!}GOmlH>&F^=?5tR*}*CK$IF6x4>a@39-lpaA>qsUh4Q|S5J3f2oU9am!N--R50e2%)u9LpnL}jU_3tW z+CXSc3bQ;6EwD9;EO`a;BNIIx4QVugp|J$_sT7UIM+j!JR*^E|vq4(CCcXK7gZUlV z6U6)FA3b;rqyuxNA9mP{fFh%cx^ziuvLnshQ+JXfavajs?OY%(b{tXbh{m1^%PyGqr3xHUs zfQ>%FUxZ2bPC6Jbr~B$}^iWIo)35NW_mJ^mBWNxmoC29TBnj|2cU6f8MzX$&bN4eh^l$7c#N;dy#iVcexBb4{aRKbK3{$))1-^1u@tdbWWzKCGFl4F z?Eq7xRa6X;5|8cVeZ(wgS_cqO1m+=Db6o1}iUSk(2D>1cWEVZn9q!O^sJ*8gaspP)IeAP$p~(gmjKHX)gn%brZM$n zl5YL3Tc*g{GKidF!&<=JHa&NDr%0W;_m@A5Px1O+Pvs$Jc#X{JGgq6cf3IACcR6T9 zNx0p18IO6LdiF#A%~mQpIy1N1NJHAJXeM`R)pNV(^RE0S{AoU;=4vQ2OphKt`f&Nd zW#L=08b$@INgQgK70;&}t(%Q#H9NQ`>SaaEhZEiH`)2w26v|@mK|30LQhj2s%hB2j zROb(%BdEUbn+U!QQCQ9a5!q+O9D+=93?3n9;93B9mt=U?5lU!~Qk!;!P=Q> zO1ruBw4L(^~Wt(Z9g%e!cv=2MHK0-OK!QdZ?hmyBCG<~)uE^0|Vl zky*$Lp*{3vfEc!E?oOm9>pybe0B~er-707!a%~k#@K3(u|9S=6w*~=M<(bbQqiklo z6QnnH5Tz3!=?&;I>RMlgYP)m(Q`g_kXEBGJ`D7K1!^mj)s;PEc%ZiZq1z^O9$LGRf zJfLXeE-=cc-^M@MwMOR&aImiQJI&QV{0x6PLZ594vdB9tcy~a-ZSbwp>xIpJ!k^VJ z1*E!q&J9K>>v%d)J7DTz<|>|lo)o4*Q)FQ9Z@`}uae93qsp0##@h9zJW@Cn)Aan*H zQY4|yYkkim@itO^NoHm83q|r8$k!DDGW>Xc6&!9o*Uf2BK5|7};`Ve7!xT;QrnKuY z@D)2oPt)MQR~54%^jQdp}>r*UmT^32O7QV2;Hy%CCip0?gda~lZk>jwJtkmWk8>A)hVOY zj$k-rmObdmc%D#{^P=>Y{tz%ein_QiWLCl=3gBqpGr157Bn|`#Hu>+7#u~O9U+m0Q z5ZkD*>p00KZ=op&)b2LCG9;zbW~9w!_)?YmvBnK9qb0Ofh~)*H@;)G1d6cu;5vzfD`tJMK%8>7|mrl znOYDuwJnV{Zl6?{watiuhLW1L!^r8a(9i8NrEQ7s!O)~~v`a(4sM)Z|Zz42fu(oCH z!1#jl-Z$&Gp|rkKPv57|0@4XM9&5Zd#E)DtrsiYH1hx))|=PTH6e}k{+7Ijx~ zU=XNv$kZD%JNq3dFU&;8PWgiJR}Cy5j0xu`NUJLn`;dJ|XoTHVK&Cv4%mzyPGDpB~ zV8!-2lMH#BH3E5zCQGdG6_6HLYf0tGqEM7*gc!1VIHh1C=O!ouxvPZ# zamAZUMMCaNm(D)1_q!-Z>!c#PDQUL3WdU?Lwl^H)=zO9ITk#zy2T=M}3&Hu|N0wtb zU^uO4H;i;c2O03GCT#vYREZHk29&7VpEa&)xZ6gb^k8RpsF z>5m%vYEq}hAtcI-`c1fmJf?R>C2ZpY25mzS${xck#~@f=8_91RB&7Bi+Rr{pkqPkf zid?);hktvXVm-O>`>a?;vIWOf9+)G(a;28Jxk4V#b-R7fnSYC7b_yy%<=5J9q!Q3m|4ugFnM?}0-IPp|vX>I_2W;}`ep6h_poE{)n$Cn0 zmuWe4YXe#{$%LM}*V9s9kPM8wXS#|VvH*@M(>ab`Xu{h9PBrafzL)Xv8v)Y7wsl&c ze?;OeXx#owdrB1)CbJM>#LrX(6RAD@Emz-z1x0LU`QAk9XMdrgJi!eFFj>T)hmTv4 zCXTwX8a?_he&%FkW=q1-uXJ z`Y1I8YJzf|@Zv&Y)UH)pmk>-==Iku{!0S|MfylE{_GNLuVhMGLlh_1fXTJp(Y30<% zSYz5>9e3=s45hQ&5gibwN*AWTgox0Nr-2~>)W6#Qn(@yfj`9R}yUeN_ii0=Dc1js( z?ww8g&&EYj2*D_H;4*>>lYRv@9`|-fa)uZu$W2vT# zB%r3y9~;ke%RZbc@U(sN50P#))EP+LP#ZDe=O9ZbX|OqP1JHe`NBNvXJuYa;KNd*D5EfZw9w6&cm|i`65_sXczA`yULSzK#J^kv^aJ_`z4aP1MH&3j z&C^sH-5+rv&c6pmL^zEt3#SI6!DjLO`*)Z{2hk~qc38e3kcs9v3wB(d91Sx-K#vG2 zdJbF?WibUg7G67bAEsGdrjBId-V6ug2nawTM}J>sMjrg%(?b?GZ6T9v7#)sRppnM2 zguQ$(BkZbZ$A=K?4-%t%hY9=+4Y$%OEY^L)!#%$l1IS7j(ZvT=36CI;b1*>Fl3*my zmB|UGYN34B;g%@}!Vf6Qs6lmnmMgP_wOYc87jfG-cnr8}YQEPUoFa>dKR|9lFw_ud z?)6UbzcpzK$oDMCEqJP-aZt?=VL3lU{_lt(f4Em5^ELVX;n-Fi0Fr-oKMZs$P9Hc9=w|4ND9}D@ zIIw0IHX=R`P1&z7?L0D~rvxE_Q8)^|L`e`5NA5j&d<6=s8(d~*E|mK*JQV7dJ3!?c zcACd@@>HM5YADq^bv_57&GapdJn|Btc%0LS|6 z|HpB3$u679xa^%#WV=u{sn8{|sgTT&k-bB*%7`Qx$;gVz%qkj)?3I+P2C{z7Q}=!6 z{r-Ia$MHXo>$ng1JD2nII>+;Tj>qHiTw>IqSz!AN76UHPJPf2dtq7N$hM#Ie63WqW ze0*F}Ld{(63Mhu0WvP1`ckK6@cCQ@vD?i4ytz8CvecO{uAL4$zK6F>^%8%@v?`ld* zvy)JwNf0)cc-soua}!?gANEz1l8V-mzI(6ym=yB+T<3d9_-2MTVpaXo+_8m3@I4BZ z@{to(5pMf1Ln74lG<6zx9!A!lzs(ApAl`-ua7Rzf86|^7!P8{C|E58DJO24E@dqpE zemR5cRl`Lm6u0cwuYKP$+_}r!wZ-D*%=|*=3yun-V zoV%+(##wxzHum-|y}(4ut;ruu&o&-i`KhM#{GIw~vzbGiN=B{p?|qK>C_S*Yz82?i zICfoxH!pSMeU9}trQ(IR3){uoSQ+k5rrm%!K>2b+bAm8NDA}i9eRy?+BaW{3_7*Py(v}kMc`Cgs@o`rR4&nK##OYz(%a$Zn?H}-{pgw;q5JTt_q@E?$km*gx%C&cSER?N*Iv*l?q6D$|9nRqsMUE0af5u# zCx|(M?SjoesnZ&WP6mkZJUhEtko`S1KF8g^)RT>F+4O(+geKP*X6ol$m)nf^a^)d~ z3!~eHk}ZVcZQC~%y(30vIJmi+%UUanxFy?u-U8u@z*RVmadB*|$WSWsXH}SqnmuT=JR^P%8HLs006Of+ z7+RsNu?FT{S0k?eJh}zIxPPdyl_KR11>1XHeB=mG)S|O%=O@l#w$fFQCbw zJps_stL_|MvFt&e3I7V?X zKpw!w4<2rBWg~BR39=Pz>EOwE2X`mkN5mw?EO?hS#rh6d@tq#0c<7lz0L zzzr7W*O56pj2zs?=#IqQ=C__Ji*Wh-Ot&@^juZxwVD@(0vm=3N_Kw@DNoU_JC$v4c zxgn)#t7*eGppu)SLTaoEbsK}W(;W%9W>-`~%dT+P#A%U-CT0jH@y}e}EZ+9HyYfo@ z$oKRk-LH;Zu=8J;Inq5a?{@d=R_2lKLo-hwhhoZjaKzq~Q(kOj@dRYeiS-8^iY({D zwpUw~Y#`k(o|Is9lK}nG-w*C8<{`E__E0w`A+3gP0Qqu{X>|%lBLEYXOd!%0{j2Yk zGcA^I*C&t~zObJ#(hz<}g)S>d{-~f4H~d221a?fg4H7{f#vuFXLaHmE8G!!I-w&3X zP_Ruk$Vw7^Ss(q8(8wh8uUTHC(!?^VMfBYYIrq77M7uxZWH@EW;k-Dq*W1gcNRx;= z9sqY!2gVku(L2y{5%Ra4Ey8m=!HT}DRlohO5e2yjh}R$;FX91Mvm(K`TkztzTp0N= zJ&h2W0-OuYL&HMGTkeb>L~@?&9v6P5A+0xI%mtt+O_!A+nt=a*r^iA$R)u1jx&$8z z?{=EVApUGr1jEjYR+GL7s;i!7%H`QTqlB~(YB2E^>+oq94eSw^q$A(QPoWX{Wr_6T z;nm*`OOfmRV_vwa6JQ=VluHl7Tkyje;f>8&=mqrUG1PI7A-Oo=oe9b_WnP%Pf6pm5 zbx=UGau>A_heav*zh`8L2JiM-5-c8e_hauQ8eP@RN|ydHY56B-1JQwH%& z<2Q2J&>!0MNuqV;FuJI0CLm}8GeW8iGesSbrWUs74VZ(LtF8Q^|9nauo~SD*oqV~Z z86O8TN{43j?YQ{PjH2~mn!S*86Vs;)X5eHg^mz3GK8$EU% zZ}bnRInWwI@>1};l@iP|xdyx+QR7T5T2QPxG8jz8l{?S=cT)5(66q=HQ7o&Bl9}Db zXa&R4ESM#teNJe@?D`~96EazaYRYPVeo!XFt&c-9O|2-Zi(Y(m3QOuE8=Yqicb4-p2JBTC2pQFxh2KCHa`y-4L5By#^!a6| z{1(q^f4>H=%7b9VUA zl{4wm9Yg-PPFOX}MP;^}H04toSs1iVM8|HP-#LFaL{G3Mc^fbPd!;zgN)2iL3dT$z zYv(mYqNR+ss0TLl|DW`v{?5y#v2`!f%~lo~$_*ek`r!p^w;EAax4}!fG61ME;LgLJ2NG z&5XBrd>AMEd6;>@w&=}$r~T23wBalO=zJh{dB+FXz47STVeQ~hPSkoPreY@0MwK36 z=s3PJduTVs;>r&EYcBd>W6Dca1qH?9G|?XAcH)xTneKctedWwM6f4Lq@A}Y-213&N zeFz%nS$JYPW&&A%>0zplol`Bti)_qP^$98UT@$!7nV~#m^i!0jr~B9I3vc1_(O?Gi z-0M4oX=3dAiUc5<)A`t``_Cr?>*hp+z_1=*R$Bbn1r*4dLtz?SYUmP!ccxLt;I@BFzv&^?OYnjpCF?;7tsB9AHo;}i&4P@juWc_m`2 zu9206&IZ4~SvvaD%dnl6H%e_g|Mj&{aJ0NZsWwEsjly%kmn|(n57_dQcf&U3=z*{} zf<0=C|L3hF!MS-{`tl%n3l)btx8iYuXzOAZ>x9vSPo;tX`CT{l+rLj?P(1+F^Rc2B zFSA=1tweY$o@>?vBIwT}!-p*3u20};ZUTyBNTdQ@MPS7AS0siU2QNW{o8dt_K1&vj z$(ra*wd*_R4*9~1qgejJ+x7J(&V?Fh76fI zOSDERqzIgH_~~cP+5Xa;kj-sXV((e`lXGNfI+)R}I|HCCz-(6ge?7clozsA5*pcTVWl^!>0A8&LyYBM32I zZ6YKIH>?i<=EU^sfGuha&_L0II+V$-|SOs6P4UklL5ShEr1*1a$|Zq=;?oygt;f* zyq$bIwnj>yL{0SK2a({fmMgYydIgo*6&V)hZ`JAZLbS~u$R#@|b)EDS9^P`5CNX;c z`GR7yve2ZB!-N6j%YmK-nfa}Oj_cdiK4)WFgIFe>#8L}E68|QmXl_Bd{LQ^n%4`Q2 zgmxUr4br;x`C3L32Pj@jTzrEafQ~c>1Lh^{AAMEKvwCk@>JD){ZldXr-=gnDw5ssZhRf9ow4OPi;I@^B zX`jmOj1EC(Ac0CAi_cuCE2yb=0?SGSp@^`3eSlTC;!>#y)RHra$3Uxc?;K)G47@Ka ze%evg1~cp@GZ}N_Rg2`l&1}lQ^NJ&CQLQ&Vb6VU~ekCSh=M80$sYt+k^yhImtm3$;vMJ;2j&EttL69p|^a7+#?HR{4>S}t8 zOf=#DAimfwfIgXU>NT@HE<&K79q3D$O=PHPpoh$mDo88$cIZvJ{A095)xtMH>HGKW z+%ULwQkz2Tg{&g!;S+x@6HN@_c-6pqP6OgM+3(i?f)j{D3;DlMCNb7|1RGde7D}b= zM%AyOweljJ1!HJkS)#Un(T;KK!q|Mmz*#0+Q5GFk+opDN8(DXkudX#X(JSf|;2l-&4 zKQbnN?u;8*-zoY+7!_FAe}Z%+=|rUJseKL$LdDf8*M58+udU$CIG6hxM2-gNrvXBk zg7U?XjT9mL4DfGTc(S6?gYvikZeWcpchc(qNhf1j1?!W49wzEG4)%yGBol8kOcgS? ziAoOSwQpMK2nK$^`dPgb$Np#E>Suz_XO_8=@r)PUCDn8g!uH{*fV55IYczlo;DRU462 zXz-V+90yKI4LPeSzghr1k5)9Jhz)pFMA5Fz2SsgI7LiUMl6?gzLroFvHM`+hrfeWz za#o4;L*C(kP7&@cwR4oqORVS}6E)?XTUD48!!QMF8*S312aiH8M7W^=sO;Cs+^>NX z`TCr1`D>|i3bJO+jfCOX) zbcE;P&(d8q3)@+5EG;;G>Jbd*;?-4JJ9hT80!F^OJaqzO?rtJJIufIo84K8B1J*eO zFoW$-Ciu20HRyOofymY+>DjN3omMyF4oY?u4X+Hjojfzwohr^1-RA`flE3dMP79WY zdEub#&a%Ga1AmURl(r?v_vbtHCbpe9hlCZ!2vE%$;v^@$wt<8f6p|M4QvnDb1Hi?h z5Vg@D8#}!tEDSjmbOX9Vzle4{xo_M6z)prHOlFnCR|n%oP-18Iz!2kD)j1^YY;Uc* zf5N063z9y_1|G*yOXLFe;DJ7pHw@J~aP(q)y8rLl2VzLfHd;%D?RZ@OXV8u*k~Nbd_!0u>&3{0E?N9>2En!pTBn4D89#Lf1J~py8qJO~tkIvOoYH*cNoX zvD-{M1W(_rrz);-CqdXw>&!S6q1?rt!Q+!Q09m8JYTEk!qK!8Ye{rWN44l%}_<6W@ z7(IOfk_2WlMFXG)lOIFV+d{9aUC8iAMmlY-AV=H*>Bq}-dy#EyIj277vD*s{oZua^ zim$bGSqXdh$H`43NAU~g^68o!h-Tw)r>Ga@PqKlwVfjAwh#hV%tq~{h3i6hKXI+Un zQGF&?p56O=vN*&M_-#B3$N3N7ldl6N!}aBX3mWJa1PmX&v-M6e_@AqXUk?IL(XMs1 z{GGGfgWmp&XX+++O%bew_{b&|U+@dZ8f} zZon?>vJLp{$zHUjkMQ^CE{@dIAo+4vkj3l(>WWi3aQ}QRfnKR8XbC?!8aE=?y*tQi zJ4VQB+I`Hj^5l*~98X1fL3y77m1>cVYWxgZdt3kkt#+k-ZwJ`RoH9_<>EH-wvC?F- z5La{_!-0)A8>1|?(;fqG%`qWg;hU@Oz&@*JC(+Ttd2c~DZ8LbZ`;SlmXV|tqD1Std zr2A)j4Q~IjhaLO_XfPQ%+-G`x#9g;88P~Px6m0JFsUT^Uso({15 z)N(|qiy^v37*%X@Zb*Ty{mWDdmcB_O>xQ^gA1f~(lB>}^k8S3-J|4;>Eb|4F)36}; zmcpiRO#}4;gZ+?}FBl=ybsA4p@<~0Y2e^o!3Z-fT zEZCcHp4(A?fEZkWn!R5_wEX4o6X=IwI$DA@fQ^s>%l2{m`0E>P{g&ZmjU<@>xwc(R zoGR{wyDJ&#uR>XQhgB~5!SsDK7>~y_wWKDTf${LD`^XA#z4kp1ISLPeME?LU>pNv_on2K?{~L1@<6>+_v(oE1;ktp{SjcYPg|Z8tB9mKu5g@P-0uWJ z?ykUgq9}SbSmD5j8fAbLmSSr>O}=Zj_7F|q!?H^|XQ7~Di=<=VQPs$~EUXXkOplDr z0*3e$g4|n30<$2-!&^)N>3ymoSQZ@0TOiByn_}Lv--4pZLo38DfLh&6NO;map-Klg(q~}NPwfJ zmlco!y56SlZ%>>C_jUDZ)+-(d;4Q=eTLE>1i#`>rybNr^`;b#d`mi-$3JNhsivP%L ztnug{CSSIR(m1GeearWZ??UCElhl?@@nj_c8qdpod-7h`U@Vl$?DJK(12^jd|1Jnn z5An_=Aaiws*K@&o3+N=$R@#PzTd$6E;}!2`B|NtmS)Q}vrvBw~V>A*}BTj>uW{cIF z-P_I>F`*Lfyr8W@T&BA*eeg*6#dHlaDOM&Z7Or?1MBr#hdDy*pslcy6E~@ zq$r5J4Jej--MsvyP9Wn~${B!3*S{Bw9LZzUcdUWg8f23mr|>H^)F3jco}QPMu$dFF zFkTn11luo|n=tSLW*<`|_PR z*FSYZ5}yut1@8>$WtIJTWY=VIo8BEpYC9$UI+IR zB|!Cx_O56ukkY1(-GA6^-SaztN@L5+fp(O9D9F$K>zB9lD`)ry=hERuZ5y32I(ocl zbOgB1U%=1=5&R$mrK95T87aqX;u^(lv<$hb1j+QyF9t1wsit7d(HO>>^sNd#t~)(; z@W2x<{tUBnzLJZ9y{iW9D$j%z;?&KhvoFI8C1Mu^3iXodHR z32VI-#p6gQUe=<{qu+vBq>J>%C8LMrk%qFVOACW*GmSdlKXc66vd{80Ww!}EUi_}t zMC2#$W_!Wl|7rn5`|83Ke5A17Lhh99{>-#Xen2|6yB#MBkoTX3oC1PHAI~GsCp$0Q zq_1R@c%c{m&g7oX1(eLRxV%5wwvMkFDNmK(3(r+b2$*1Nm|*IgK^NHe#*C6t1rX_p zzFw#IDmrZb+!SarA_$W0H-ECSU1gkxV!>|c47bN|b{e7|aF*gxqRFCt6HHeBk#n-=@g4i#Q^@9&~fsH_#`lolyIi*)C2S*v&9+MkK zEA8v_3~>eJ-0JrEEv)cEp^`B5bXWO8QmR9gteD}wekEdA?qLGw)lziP@=@8;$CGi@?@SBd+1K zlB95@s<7^xmL2=qqbqhTSbnF}@*fwwp3fQ5O{umyFLH1~&~+{Uiev9GJThS&#=s5N%wWP9?1;$_}6N2^xD{BKut&re({h^Y8ops`Z&ja=BL zm%rHu8nF%?9z7@@!*fLMG*4LtRcwLd%AjTy?TKIRm+yak++k@RtFvN|)PMD9SisVw z7|SJA;ewvZ%A+Cb&Ym3}x_j+CECndzrl!ikq3vG+UqES1zws(Pg{!C4o71eBZ;Goc zonM@C?LGU!fBBtpeC^koNt4SJNk7l?=?)dQm0=bN!xonY8#@Gi~eb(qbbn|wA-cheb+*`7!R}6d9&%RHq-^n7M&?YEv{k^}V2xB1-VC>J` z@OD%NwM%v69cT#_`lxq$u?^Fcbh;;3tB1IEqV_fPttwLg!J`JAl6~oCOR|65>C_nn zFF(5Qmr#dzc-gYY5W1arzWm{Ek!iU=IE!mU#skZfuMRRMH0ezc=5JEZS@4vQIrBN$LqXD@(30*8-S&gPFX+@YEh)fL8kjG5#oF zyt-c6^Mob=9L$KeUF!zYzQAQug+7u8Bl zoNmkiF@=VAU<% zJ^Czi!4z#bb(J;9LVn>=$@m?Xl$BFMwGY=cC(y{ASOvkcO>J%==FL5Z_y)<|pk7K% z>b^bX+P>6V#N^&FcZ0{tbK2NW2v<}x`Rdp2%~sUUlBW#2TaxjcB!^cfTrzfLB(Rc%7p7BxU-X{qjraFghmgzRx*Xm^Me4yen@Xv}=OYz2$g3(`1`Y(K_i1VxgE?*u!pS1TM zBb-aXaW%}_Ol+w~dGe#GOe}szKOTgAZ}rIv4_n%H!L*6Ad7RBd(msJ|*5+|}V(ObI z2ub+o0|i$7d2&}g8%WE&nP*6lmU8Sb(ORJ*TQ#Ls3@OD))8J2n1kuN{@mxPh=~FD? z?x!F2)p$x#yC@2IY^{eADrdRpC>^o+Sb6s)c(OKVUbxvkUQ*J5c?6}J3?#MHue zziI*GL0`+q963)OsWJaiMsvqqzrxICXS^i)M!kZ8HUb=Gz>tJ`$(TBNseONsjszP4JwkV3v(P zIc&JK1kjhxP|uJW=5GzH+X= z!86J)1?UTs$`Mi6^T&W}{bAs+MplpoM>|rCxKUHc;Zf5AC=QjJS9UPbHR1;kylnH1 z{(F^7%%cS8n<3c1{8ntAa$w6*;rh2EF+Ma`1{rjtJ{x^A+cMpMl$L2a=V64n1W{P04 zF0Tu!>HaHq)(QNpMLGUGGvfAsrd(Ps-4tCl6H!7NsbBi{`Nx&qaP2vzZp?pRQF%25 zqVqnLx7@A4+uI*EOb!s@<0oqxr;M3}{2flR3-4s@B6tWl^Jenb(`-HZ;srC$#hEZ# z-DsW3?^P4FeW2fR0!LyxVtDrabbjaE@VTWgDqqIeR4N^WJ*bULS?}#ajOtTi48|w( zRk9Bj8}w`c0LtL+$mhJ*kIn_=0Zs$cEY~UfwP^Bs&z=6RGqyKgoD?b9bUW%B!U|2? zi}N^mWpXA-(2|L#m@PlzmY)zhm-m7ke!LuT+NHpk&4LsO;ySRe^6*t|<} z>fdDs{M$ZeDepP7-+DM>e~qE{Ow~g10i&zi&7?vQ!aTq3mm#g;^Wa?jpw~!y6i@X- z+ZP$zZ&dfM&DdA#y?70jav#VJE(3W%n}(8>@^D+KqM$K*GEXHu3C9TM#K#+u za=T~qqPRdu{_bwW%!Wy?D7~e|aF4P4AX|7rUB&S`^UTR5)oRT9R$P)>N-W&hLD$17 zul`^kPjE=m9Aq?ROn4B{Q21G`$5%$jk(c?T#7Jr7RLc|AV4g?iD(Z)dv4>?{kL8yQ zUd?ws1$to@YrITZdk?Pl_0F5NMXelu673O_0(k+va@lb_RgMi;ZLM9RZTt&uqdQ+V zKob;?R3Ne~49G4SVqa)aM7TT?YGw6I=Q)0S&gI7*#$}B%@G!xIq_s)O9JYgklFne<|F5zXcz9eKYKnVow6p?DAJ65&9% z;<{tQ!d~*{>#JQPcbU$zYlj$A2vy5Cx(9?Y-yoN70gc8dwLMO*2yY~O$B3~KvKJ}sLm!y5|Ku;VeMPirN;f6!E z6f`uVXQayr0W>tpk4R5p&3@3k#tDJ|*#dmC6ld4DE& zC;e5!MG&emG1z3XXQb1Mgz9BW_i$224iB@*J~sJ&*MWvw3|&MLLl{0kh8n@;r;-Q~ zT{246Hty6ON}BX;>3;d1`twjtIU=G!u{ORcxFhf{@>J zA3$j28tTs=-jNP68%Vh~(2}vSsM@A_x)IC1NqH{5DM4PxSV3pUp~nWAQl~-*k_UJE z>Ky3e;(6V<1C&2Ufned(1g&E*W?7A(o1cCPDQvX_tIE4pH)lY4%kGjtay_I>C;nd* zBP?AY@P2J&Us)T|k_rNfAd}~KrW#~leTYiRPE5RpL~_?e%w+2q=wD91aU@m3mON<^ z6hRojYm8+D?@Is`v^G!m-{0bSyW^X3K5E^joVK@ zt)bTWe<0-OxW_9227f-;vbdQ$!;-&rAG~%h29e%t78@z1p@l;t^maavI=2UUe1lG- z799;*hb)L``3Z?&Os&3<<$ddzV6j9zRAaFsfl#Sz1OLyW{TR*Zd%)~}z|Agh6(SFj zgF$Q_PwSpsErRi2J?U`_1s|q!8A=fCfclsQgkI&M3W~W!m_UlNfV5xqe_;VFA0YL4 z{DTJ+(0}5$LLgF*Donp8uX7eSMXHe=kfaf$#-%U8hHi&iDi$)^Qasqk{B+k2fn_9Z z1LZyQah7>(petv<8Imx1oiMPqKDy0#&T1)gcgg<0F;M{xn4~Jo_XlAs zXE!78ry7AvB8?s~*)iCdKB$0h++tPJ&YKnw=zQE>BBZhjoGe2GB9H-L*4IHSWC||; zF*iF{^%!aK0Wa5XJWAqdlj`65Lf@Gvy`@_TDfQmK&h&kUK3Bh36vdwjYbx6S z7c${UxBQu>SHB4&KqufiBw7ZBc8Vu|pWsiaCO#5vDcc86=b0I%VlgT3?+m0^yZ5Nn z=<;&ZYmzED4HbOaA%2_&!}LT~;q}PoD(!5JQP=7S}e8GH???4Ay!IjA_;CR4a>H3=7<`L1OB=Zi7GT zyz{>dWYR6G_Jxml5kj+tT;La=?}^AgZ{lQV>f>6VC!V!>f!@>FfZZWpdiIt{=Qno>Dw^*=;)cQWaj!WW4I(1&c2UzEax%x^?{{^B zHG(Lv+<)p$^Z#!Jhu(SiE~+>FZ@3aFCpzJq9=HEZnJ8>P$Txf zCMB;z#B-9MZyX)cz&#{)tZ2xG5!w+MXjDQgpI1tZJ9MSa-V)T znVD2Cx%ujx%jVZ+a}60iK}gz8*B6kQXKNn0Q{ftv0GadsAg=DKY0{T?6okctAXW!- z%d`Ph@bk|l)U7rrU2jXf+!N@^cJ>FHQo{ZV6*r`YzwbL>@$*|{im-8lVVX3V))tuT zcBqU_!6~a)5X^i8IsMiI@A;CZeG>i~UN8B&?}(lJo3lYwxU3$^G>M-{t+2zj!gtPZ zY9_#wcTQ0xO@N03f@44?o{?YOGBWB770@J?4?6K13Y6el_tPjgO#B-65@2YySJ$j6 z(lWpKa0wb1(sS#+K5Gn(cBTQgd<$aNPAE2~mUkM2&!vV0&>l>l1U0(K)V0*l4dv+t zV>RInS0M*91-_hyAoXHW2x?q0O{sK<=7$E2SlANzUu3sJe&Fo_i7m+ zfZ70G-Mn93y$jgA#-)E)yp860xA)!$CdKC}1g~cmzF9_H3!_CU97@}wJXsmpxB?(cQC6hoW@a)aX8_-B(_-khbJ^50s!08amP z@rbXT(wE+Gn}l0!BghHZ@jGR{a7X|Aia85HS0Wn6qn&wXzhJ(G8+)#>dX%ya?Gx;5 zdXkjC&nf{ffZ7MxRtgGUOqO(bBa3+F&HnFDI_d1e#O+S=9>+R&id3y;26m~6c}H%D z_Zl}|yVMvl1>STb2$-H=6g6jiaEchg6fUPni$&fhuhV*awl19UsX?gEbDRC0;^rUX z9BM6JXuBlcbfq6MXr|Hu9_H&a@D>x(t=0 z!xH+vygYAO0j$-t*X6Si?_n&{?`v?$ns|gbG+;m`>WJeZm)Gk*X6YQY#MYc4$1(UE zRIWQ<#5s17@=veR1{Iw*XOy-Dn3>_dKmthxu#St;P+{M^ns9c^j!gR#^oi(%{N`a0 zD1U@*cPZx+j#uz+jwdOs9ki^XAc5cyq- za^rsAGR0)0O6k@t@elLTmPzo^Y&8ob(lV?#_qbq1s5fH|4bXZJ+PD1TWsAzDuJEV^=&Md_Aq48M!a+ zCXS36$Em`v0_8}uGt^v)tAN|N4+Y24S=J(}mBA}Y6iGL=9zyz5q<8+!I@0NbNJvk` z58sJ+6Lucy&e&+GJZjx4N-1vuBenr7E~s|HBSg9eFc06teVZd_w)~5*j%^@&lv%Pr z*aabYZ;UOW`l8dbpGMkGzUT!Jv386CPH5mT{svdJO-a3kOhyokr5SY;$$V~c9jKW< z=(*DK@Maw}xIw5vC}*EHIhCR;BlYoO&Xc^!HS#hS2AU5F#>)FB-0=5uzCl#j4p+AW zomPbL*5m7&ohr2BwR8sQwd=8weE68!%T?|lI;Uyr*Z@3H<|AoQPcUGca^CUK$`}*| zt28N_Mb(*k{(<+KBgGc6D)KX5;CRBiJd~*F=u{^(_NO}4qDDaO%KtJa1fLyL*FP^Y z%>$4mq!oH5wV{AsiBdn6)9i?_w%dVU9QUOU6e>56oIT3VY)M5?c$J?3LYXUr=1C#h z)ndY-Zxs_?A;c$@lVy$H@7X+)303^CQLglfi%)YM4jGN;$?W?&k5FV;{h_(y6NjGS zWBbD@_Eyr6laxNNY!Qc$@{uX78ISIjmgv>R}n* zdBMp~kgF9rPA>QwM9LmVZ#Bv_CP6sLe8iFc+UM-&RRr^LyfN>RpufnDAZT;E3P(hr+)Gi(=x^Qgd!Z_jn41zklThZUCU#>I$U_GT}_*@%Mc$v?xfU3)x zFTI6)i_gOdSsH!Inxk=2u!Ag6#I6+)ur=mWQ1YWE;lum8{Ob=n``6OzYHYtqeC;ujjFAD{o=#GW(ea@%* z8ua`KORvd({&n1=Dk!?p}T2vFOn1F6J~SdrCjsNzwCjNJ6-O;k%*t zDQqXrL*y6V5vJwcV#?fS@!i|Ia)%X;A_RRk%+Tt?n5T33Gxu+h^#;jXR}ELo^)eeO zs2#~no6oxD_uIPP;M-Hbf}$U3)sUF_mJZI(wF3TPXT_Ia+D|aVGJMJPQSySEg8Yxx z^K#w@hQxP_-Ck~0@z#)?vq@63zmL6zjqAhK3&h?%^(|+t*j8rWiW)=3Dab39vK6-;{B`_Ys2VI5=AM&Iv&=zO!wapAG`7!Ofd`XY! zBp=besD|I(ya6i~KZ}0#$kjD|Pnv)C1p6WHPAEnzl)&zVr7?lSIr?VXmoWwVqO68b za5En_b!hffd&ppOE_{6g`s1aSr}{_Sri!-4(_$0JChVHZ2>R#^MIwmj6K>vn9((+4j;7S&iRDXS)y|~&-X&Osu5@6)?y=Y+ma!Ow3`!sQk zCo}%jJqw*jYSKsyzCrFx3ARVqH84qjr2Ng^qUojB8s~A9@5!N_xkAizFJQm?DvtC# z=4(+AyBOs~Qtw?tS*(SS3Bs-P^3_Yl(tug&R1FnNh4-anQaf58Y*}+Q)H>CF(pZIk z$^S-N`LAs_ec#-@w(ixtjwF?24tvcs)>1UyZ|q(FfPanM2^gea6 z^s_QEg)3{8_m?n3OR1~K?>jo5K~lKtNKxc%cnY6=d2_bXujI+2uAl=RhEu$4IUQQ% ztGboa;ijh^m1N`wY)!`YJn9f`^N6>S$ScQcdXzpa%d_WtuXv+&-mTdat3&3X99wB& zIiE>~m%Au^M=T{mmzA~6`_7y9@2B!J!+tHfzxg!V9G|yG=j3?yutu27RHjdt{J3X+j z?BPZDxV%f2w=hgslTp-i&^UfFLjvDZ{j%#riNKbVVac_w(~1{|W5`RSh>yhFE*DXr zUwq<0yzr!}vlbGpm2!uS%f{J~b8bn#qFp#(kxTA#lJAh?c~$>w_Mh$Y3N4erz1Pfn z^4fNJE{sI>V|eRJ=mE4Tb+j((TdUmBk#7a38~sy?>z1`@d8giz@ogvA$9!IxSx<`N zVHB#aTI_qXVQ==PT=AB3;VhLMyeK3o$FKv*w5c_R6AcyYHaxKQ?a~lWdcD;o zh?b1S+$q`8JxeVlqNT}jL9}D7-Q&DZmjrgr>%q5&Wf$xVW#c%U?h0x2=g<2&mGdVT zFjslaMvSgNY0sGDCq$2pMV1zq38Pu?KD+BD21Erm5!bZLzBI{F_l+m{9X+aIR(yBp z;dka1f4s!xdCcSnM9GRZ_7#_#%IQaHipS1(GT~Ch7tt?+1EIaK#y9lc$nI ze|0Fi>&5h5?2ys7Hm*2&!*{>gXGDHOOA6w&c6-)^a=1)iTtA#?$QM^$)}@wQ?d-`` z>vh+8Gtd#Q?k|$kCUsGHAM@hHR0uzL0z!KgkM_M|_fU>Z$9Arnc(dkPZBnUNL zi~5a9m5v{aJ7hGfy&K8+Qqx#Xw@lxub8kZaLQUoUVQ%vI%VK1X35Hk+GKtsGolz**PyD8z>r}d9DPVA#x)g1P9e(QeqS4j5ervAW{ z^+PayyVj!kap$kU=^yMU=IF_|8`jjnvF}N;u?0ExtHgVC#7tEh8zGH@vS-50WXWPr zAI=jI+lt-hp;xcrzccwVF;PFlx@flY=5e!UOu5uiu1t4Yeu^5J2QNsF4hMQ3Sy2ws zqvviYvTvxBZ9KD=BJnA|7)G^Sjj^@n%}_A8s}BFzFwtg{PhFZty<496(?^f*(7kRn zl!BtB$_>sCs>XWkoIpnugOKCw)>tN%TYy|;yP9Z{onFVu;H=BSc!R!ZHHxwCgFX^( zSmBxT5=*kTkzm5@{c#B(r10iG%da?MmriO5it;BBuX7J`+wri5>sjFfuLrDFUw2Pk z^H@KssTGvU%+I?JJi$EBe5$PU+)M8U>CP@Kf_3pT--?1u%~da0c#cpAGcCp)k;XUA z$k%IXRyz+RPdHn}Vb! zAsVVWNud9{^7N)`AyL_hN(K&wfjMx?lQSU-j>PviQm2W z)B<@Vw4}-)`o+icn(|x^0sza6rYv%H=I;&tq{O!{^J|?i%T1cB@p5f)p$@)VYcmhl z>$^+^+k_^A($Da>YdL#`jcqcw^p;X>2}nb_sP#M3$4N~gRQaYS41}QD8+sc3ur}r3 zEfc(EEl?9pnD-*;d0oTLDd|4ha;KlvX@^_}60F_h4jnuE)&C1YB84VembInB_Ry$CfM}GDsl#Pqzq}mQY-nO8-qq^6_(CoK|{@LxdYhMH} z4SYUtTk(8_+N7)WER*8kOT`RZ&)$vPu(GANoY>AbD({jT`=`hlb#)T3Bvvcg`{zxY z6ZR*Ul#z5tma*~ft~@q7Nn@%M{`6161rx8cK`{kSsEoSXugT6Ag#7IBd0!m8I?P{_kSj57 zDWgW1rFN|^1yHX;t}OZCPx92xRGt)Rx}2}&=x~~0u#)N%kTW!^DP4msuRk5KC~&Wu zjPL-QY1QDAH2pV*E;2)73OD3QUdEVk;t6*?`iIdk^ez0F9f z;T;tdauYr^=ATQ(AlzB?t!<(ka2A--=i~Q?zdGPctt*X_g8Us)#rMwmGMOGC{-9bU zhflO-Exr%|SxoD=NWl!cX52%1{2FIStf1RBX5sV(Vd-G1SVV=u79Jxnswrh1xW?1UPM%D1!5-`eiwhF5(xjvtM zC}o#k^&`I~SWh(i&9fUTG0J6jENWl9Z{a@Hl1M%M0e_~hHmRr|`=9S`J4@gYgYvHy zvmv9mp%#RQ^_UUz-lYuw)4uc|j`pYUlBGjxAwN}TA?~l<;5G2AN#gT~+c#P-8YH?b zy?d3yPfo6eYev=2U^h$Q5D*dPU%XR13Kodr}? zX&Z%!OZTO_yHli*4ke@nq`O0qR63+Vxq68OL4%=oW0Yi2EV z1kOF@J8$g$?2y;$q$_Qm->=^x>z=Q!$r1Y8s%%v4t#qumJ_A;>xmHn&YQ}vj%!Mxm zJZa2Qu!8(fSK$*_*WzX@JVLwp9ki5rPdLt7TRJR;msxPC=9CYW*K)5nv^gnOdV4DC zBAy>S88;)TEFT=TzjHb;@vxB#PwyjJ6H8?%KXT=5iKkzcdfc0PQ(vC9Er1!gnc5)2 zqi!PV0;4G>x6e&3lN?X$0tT6ID-Z{fVl1u9#&lMg{8{dfoX$W~4-)Q!%JFClJiQZ& zFJHbGtgpWayN0aHfBqSiDKO?5%oVQjr&W9Z)h$};4Jg>IQ{>(*1+v6OzDbd+1YQ@s zhZ~uhc)Vtj40eTBziNmg(b%RYqXu=4+wFRQyo$-kw#P`wM|znY>!<2&=$TzZpL=8_ zMe%G~MsB$HY`=J5jeIIIC3v1t*D>Gi@1tCXI~MGMp{|s^u=jDcmUaD}zO^sYm`iTh z(a-8uQwr}X*G3LbFhFdIh~wpVntkaC?ruutM%Dey{xOf~6+UW{ z=hyfM+$81soxs!Sj0#ubG|q7!wPDE2d<h*_)%M3Zwh7#@3<4&g^chmKI zN9ipJn%7dBSS&iK0IwvCT0DJv_$!G;im=Q44BXEQgPcw+0|^V+>LY4tRl{t#;rfF# zJiVX5E7Lv{a;5voVn%c*Z=Td8rjJ?wsp+wmC}fAKCE^+ef&j8uSx3yHf4C>mRSx!` z$FC2#KfPf_ZSb!u)n&RcC)PIg6k?eH@`*Rx$agImVeLNC;c>?sLun;d2Jd;%@0 zaIo}nsx9)md`j`s*y^lCB)J9(jLoNViSKSR-1xXfpB99BH{^X6vtKs)U3|X{i_trP zM|B3YpD3=bZLG_Z2JfqWb+!HmfDmRelzUUSO3Oo?$QzBpwQo@~h3;AbjBLS#ae zFGG%tbgGg;jIJSRR)%Y%)cSCMo1C1Wv-1kfMhWBQSb)!{c=_qr+ibe#CFX~HTpK!Ona4v1-W zHoxosahojz7Q{eKuW~>|S07<$y)i#Nbc!;KWaI|ZU}N>vEg&0^4DBYubR^TVHY&g# zSVJeeK%YRCqdy(3{8}*hxLV**`LJX@)ni%#?k*+C#E&w#Z4_o&e+haA2pUuQ^d80|h2R-SNlI^N$98 z|HOX#ck=!cD>#OyWw0Lxe4iuKw$dsEd@vzc9D6T8H5DNr7AcR=`V;e#W!;$YporfD z0r+pg)=>oAdi{f6?UQ(qWEpmNr_3dTfiXX}eo|f&r^^&$lThbW5#WE` zCt5f6Q^Pv?qlEB~SpxIMq=y=kx&Q{t$lHFBTnW}q9z8gB2Eo?<6)?WtZ9>Zab3*)v z%S?GQZOcm>L9SY`X>m%UItYNYReNLAFsHwgayne#KAz`Zr6aTk{~sF;5~L*|U&E#n z)r=QiL66X7kDD{BYL6-+dm5r8yRYn~g5>+hbKVSftYTCuNM_Mslc52bU9CSqwu}=# zda`c!G0idqHcx4lKBklC`y1Np>Vyxd<{;z;zqsQA?BHoYC!z%DcR_B@yPpICVT?Lo zLFdN}{GM-o;Ael;ATO~IOUa&&ByW+4{|gN|f#v*xyk1vXp{WKVz}>)(s~zHjkPAD! z45yW`3xOz0@cAkrM6BInxyMZRb{g8%Qf3}8qtCxPl-xVS*<^-rWja`eb^Q1sR_^(aw$z2r_BBvd^H8}EmJmek`GS3~mm z{`&)3DP`lO=wfI4^NTV=gn-pCv}oZC5c&n^A-ayhc0Fnl08&*OZlH{N{sAgNwZs2x zx+S1|_5eQce(io^46m(M>4uwV2Jv9IYzX89;!wcLI*8qP;ENH~{SEBmVQIHff&JRg zVCUFjA2u?e?AGd~Gndj_Z+MtvBIxj%`nv~?BK-5=iw=<}JvvyZ z?ISUoL9=`{JPcy5DtSB%YIPo%0U3s%2~em#SxREZNJ17o$Yf z5b$q5O>0S;{ts{@&6+7CsGE3M7mAJ*v>B}l^9BL&@m~4_bt_;Omj?222Mj-zV@6`n zuw|gj=7DrU5m=C>-x~Maq%8!j~X+AXl$R_=pu znsQ)YCtDrpS}U2uB8x;G2AA^9bj!rO@<7VW8vuR$AlNJLLR(A-;RJ03%$3a1S3Ay9 zO@oD%3u<7-QK@X&l{BvecED?q2`)3g4YDXlz!09^dA2?Yj5lQf=L=6(;1g)Knf2no zk=%4K<9+f5-ru3rR3sJ*vsc%^_d5t;KuUn>iNs~Omrz3}{E^pc&}0N9AAOQp3l!WL z^RNVM2SPZ6Foks?VTA*oDrcnkv9l=|^dvy}vtFR}0%#)n!{suDczMzr=T9V*C z&{)Jh?=b3GB0CCVoZ?Rk#vsKufCN0~&PmSAUjhcAdZ zT?02@DkQe?UJQKt@Cienl*Lw$coBz3lcRY-gwHiZ1`F5d>fD9o0KJ16`b+PF$7LW- zXAtcgp5YZx_{0eS!+Ca1NU40yQaJ7+vT-9gE4{g?5{|H&e&IjA3Pz);IiEY-o+J!N zhvbIYVeVcv0T6)TE1YFKV3h z7-hBT>8A!=a8qZSoQ0wAiH#>D|3KphP%)Vo`kWApoaUO)5wW z$3F`{c4=Nu!`zVnRyh1zgEf<*KIYl4{qN$1?5r^y29ml(`l1`V@5X-ZRQQ)uqbUWr zhFXJ{+)cAX>I&_PBkZLTK#m%z07+nrBv$=OtP~Qu^H+No3aKmJ>ckfqS6%{r($YS3 zi(@heh8M=uh>fLr9C?1u=hwT_)%m3~cP`qv=KkNK5C#MB*q58qiZ0E(x0;3@%Li(u zQB_Y(lID$cbqueK+w++lO}XX(4ldqZ^Odt=lJM93Nq+z*5|~=;x@Aq=_U-k#2E%-j zcrd;{{yO-PV^#8g`x|HJh4n|u1!U-D{P~SwukV}w*gLbdx%OVPI+n+zMNJ|=N?%sN zuS+>=SRxdJR^oc@!S#~xq|OVV_qcgBhfh27V&qecEy9%Y1v_+$jfS_gq7OzFJA>LaCwkYXu{8<>uw?qsYiWqtJyqWXULxem;*)**@#Q8=bLmsFcC#a?& zA&zRTQuXdSj@&?;y8V_GAdUQOnD|tpHz>4EV&3ZTiVuVYUd@9y_7C9#LKUrStHA$6 zdcjEWPJem9$BSzb9faFKFrgjc(<0X$j4QU=iZDFJS+S~?HL#g~IT?0BCIkVE=NK+z>dh6}@r5Zdfq(guaYy79*m zqZ>zfT74)iy1$T3*)(HvYTiE}`*C70J@hI(1h*gn%N|EOdE7Pb%2{v>JWP(=Hv!J` zZap~OlGlBon!X0hs1j&@tSl`r!_;=9otmZ?_&((owEV{7PT?icZ8;AJ$-hA3^w$@% z$>Yt(Mg8ugLEPA2n%Z;I5%BiUq8PVwFRQ%fLDS23v#4qY;;l$AJ_DrJgReX5j8gZf z;v*anvpb*JMpqZ={l1oc1XOoRKO@f~A_8i?pL`x(TrAh+oGV=p{2gcjEKGaT2ecSh zp_HkT$dIu1JtFGm(Q zzsmfz7eN$(Gq>)-4THKVwa%>IQ|>?aF@0i5)di>!I*88!-|l*NR8}0XIum&uYVt;_P2U}P-e7Ww+PIrh(BNo&E9&XslGm523XcWS zfk%nAJEphgZf_~LeIbwz@Lye=_;~;1Fqd>K9)`byTxN)$pWj&`h&eN!k1Qy4DQ}rq zLUN}sKn=>H`0gv#wY8ipsXp}StHuX%E+$PL7~d*xj5d>3*eUyp8(3;uhRpQW(71wX zu(<$zQiDl3I9v#`l2m7F`#D4wyh=K+6B`CPYfiDIdX4dWWO}nM(rH~Y%iji39L)`k zEETEwx3s>d2D}fo{*MKqWc>VbwpgY`h4K$fPPYM6{t5zDO6Ebup0gRLUV+Hb@`F2^ zjyc&CAshZcU>qV}Rr7Ux2+MJHC@X-PI>4}wr13c*!+2EK+}(4PH|P>99(EH)jy5yy zdJn!`yg6(?1Xu!El{=r>?si4pq;3kR2N$NyF+zP-*&skwAIm@sZb|K6xoC6Zb2_qz z;xl;qtl3yP1A>Wh#=4SdQ@^4HaL0%ZN|wIKVf%VLKh6&?HwoSN|3{k;#6el<-Z;9L zin%Dz#*@T|Y7%|m7b+~!e|^vrHu&17&0<)U&a5WRWQ@;=S?BA@wwY zA}rIEw!u8}Ev9d49z}`4C)yKkgOI%VgUv8oy31((1*k;nx)StpdF_>}Ub9nFJ=h*r zL{EAhIFm4D=vbv&NNymr`WTC3gQsx{WQ@dV)CfpWdut>qk^f!mm6fLRsQ2N`#2IPZXXMTJKharP=-q6kIB4# zroX{ogXzc6iKN`auUm@V_W$-p9?3<$xNw~z@6qo`LEpy=z<~7J=L06mSx2~~OIwAi zRYi=u!#JU!=#4s!Wzoli@b?i6C%mis7;UUtMSj&{zI3a=6tLNt?ea=Yg1We$ZlLvH zOX9=Ex%iy+v z(mDwoz$iBK!Ic~c$d43~ro7mMB z63~jB%c>t~b4I0Z47d3nbNwg)!?*#|L&Q*tkR90sn88*oXD2tEv zYxcQ5=APnK{?IZj)J|Qodg{^Akhn*Ec%x}d{gi9+^H6R87r53(?=j!UeG4?WfH*vr zj!%|c)1+(il&GHmRj37@6KGaNVXUVertmew!w*}+bekz#>1ZF+h*tbuk`fN9xxe;N z)`eC-krwSIq^>~0jJKXF7^xiBm31r?OBk)qv^(!R${P@F!-K7=DcDtx+zhV*1 zpyLFGAnpOS8kbY#CqouCrSAnuJYH^BSh!(={Ij4!LZKzX-p6-Aab6`?IL|LbLFUBv z)=HfDjN?)p7c6FiQ2x$rd>!+i3*BxUCy%dFO}uzo8%+O>)&%%F!+JD38Di18E6tLz zQXaE)rN0Oxyyqg?{B>BdV9on&-UAn*)oruK+{?8!w!L~cR|D;xurrit&ueVhT>OYw zG8a7t$-Jg8Ph0!a@)hjNB<|_vhnhYGli~lG$8~iuUHD$7^N3D8y8l81#k^dqg)dkX zm61gMtH*TJtaeokVMFcmHshL#hiqW%nILg&3V!(nG1)9E&YACrl57(RlcBn9$gpb| zf>wnm#P%#hdmT&0-z~+Lc=vL%SfQN(g4P^oPqZ1ctb$wJ+FS)c3x=}SIfzaF;K0Nn zSAkoRkY|JFrYkod>z93e?GpWS>LH~H!vmAb!?kN04|+ACZ{Lqm5W6K3Itp$dyBA6) z2~CCnRC(Lu43FYOEKPaAV0wCEsE`!vrBaZEUgrOyPp!uciM*9S5XXH9Kjr@SuTHe7 ztGBJ>QC?^N}zW87d*aFSb42vc<23uL@8ZFUFF3dCNtJiugmsOh$ND1cyn=j9n~;7QUR9><}x z(r4O1EKX9kjtObfr}Mf!?Oj+f)K;HqDAQ zpA|9g)aqc?+S&{A5ynXVdw^c6#9x$e&zv$j|7~m(dAqU3!ts7X^*vAq@CN*Z- zun2`Ay^Ag}V^)Y$8m2R|i1PvO(sJM)lC_$Q?H9>j9lfWlKU4Kh4im}SfC3@!hVcN} zRVA+%EsII?dV13KKAoaPiTSeo>kVAO`qrz!%1g^MHIsd(4CQ^FqZ0L*Rt1V>jB{?7 zvTxoe?WMjb!-n^QUCJ!U(I%GM5Z*lZ!fQO3%6pXUa65*gr1*7?Zk!LG(W3I zZ3HD1MSrh!gxF=z9{p?46Vfv}eS%R#H^Q2G(OpR;`eY)akH^de7W96dHWKgv0n9>YQ`n3p_+QZc_ah|u;4!Wyb@*#`K zDJZq&liKrZ11%K^0f=u@!AR@3SeZXiuj`bheH1JJTMq9oLRwZV4-!}m%l2VNT}umv z_n3Uh`w0JOV7hE6YUo zhp(BQ5MKE4EnxlF)3T1;Sg81FBvjZz5p?d{%>T}>V77z1asKm{=!mdOhk5e>fj&BY z#@H~=&}^(kwvEh7^?Argdw`nnpJni=DL!eRRol&BNs*5v=ui6x#0I6d{V;3Bm_T@YdgMI zviNj5hz_Ept?!G~h(`Lerm>m9Vpi8?BE0$5@*&rhF8Vw-!2Z+G!yvUdhVWJw8^z`0k~^4|W?k`A9ueTi{KcCWxWV{LWZg%)Rgyn&w(_&S z4XTae+-l=Fj9<1eF$IQ|BVan4WB2*cDK6vT&i`ha+7I;DbLO%3lWrqt+v-xR!`?bS zb=#_!+nG0sgU%FnH?Puh{A%*K%fk* zZKXh(6qE>3)^mUuz8;Efx{p-L8nhvOZbYJLb{*Ldo_{%+$0w5arB=+-Oj337`i*|^ ziQ_rWnni5YAtqZZ>1J-fsS`Q*R#sie%XRE!opzD2HO0qJILGtjML9yFE&ihw^U2^2 zw3rqnzZzr6M|b$8>s_hpm02oB^=ej)!xZA{_u-D+aGEm}v^-rG>1@;|9{oMByyqnx ziH}%~B&c8dLmk7Ug5udd(m`P`$kRv>)aAh3UU{~Sl`?sMpj|94ST#IO3uXQc&}Opx z5^z0sTL~Bs+5UrWzr;Z_I9Yk_p5d;+FBiS-^#+x;;|_ggmhh7t=L+{E>1XaFYfD9{ z9?zvEv~$l2DroBiBKkzz0(0Nja|8w8O_%2RaWLE1D#ZJT<4MSW@vSZ|j5S3wd4GVQ z82FTjtH-=+_eF{@?ZVrA3X0jj4^nF~i(Lpi4o}v~FVwriI=jS4GVdD8#vs~4HZP7# z%L<^cT3oi|qsOTAeuH+;35K65;~DH5m51P(%LhGr>8YyC8#NR;op|A|MXNWatorD)$)j%)UEKyWcku?lA=Fjj&U}{fB_vQRm#Cx={tjPiY9~0oufa zu^BN@x(QY}$|P&armxFQA79a>Kj=^?mscASDB#&=tt`~~>|PyjOZTWj)OEFk5f4cM zP4l4rT>951*g|>p)$PtjHjSq>Nwi&w^5=q=vDUa+Wo(%$97XEHnZrcM^h^rYY?jGH zs{P8*0($o%4l?p=Z>Mb~KfKQm{3Lm{;Q2{%V?i)rYR79ouj8uq!{XV(Sx)=3$>Lau zcS%CS;CjP5=l{;rDA?C6&8Y8~S1-5AMu5r2s9ta%jek}vHxq&b&!TtRbt_6EC^FpJ zAwOFgObrd>D<_;CJB*kJC!2U7z$dSCiLP%-`az?vSihE5@nyGAVvph^LlM<688gPU zdp$A1Xw5Li7P<&o;1*;0gvJRu3H7TOe@6qMZRr-O4>T&AU&s%g(AYN;Xh%v-BwDC) zHQsZ-d8u*gcha!pOXWLYmPzw%Z(!*qtWE`CY~uVzweJRz*N;QIh6`hj5HXG?6$-6L zZhZ{M-;k#G%3P`68T)x?8z#Ja;vbR9Q9_Wz@9dX^hHvjOK`YjaX^aNo5dI@zIZ6yt zOf+IpVoKzVSRxTErVkHUA{KqO>=TSkj%x`^Wy0hN_N0o}6csXO!?S(&gNDPs|F90M zalP?!jmI=_Wn5gWE8 zyBc>4ShpNtV=*++Q9JR^hYhyg0zyS91#1w#BGrfgMG}h8-%;K!!REJjrFIOeo=pt* zvH))2&z`yY9s=*vU*DgacDWLp{G!j-^(7I{`_T4z{sEG&41%i|V6L!0t6Fm6Hhu~K z+NJVY3J#HHRz6qS@S(|37WreaO{NP{&Ibr@qcE%&ckDmQ>$pBh)WMuk&ob?12uUt` zq42MmC7@_1`z}h&5<}{{Uy@4hM(5&Q$O%rL^m}M%!ibDVD}aMv$-dtLBx*i!%1Xu64-k%eG#U3ck17}0eme1jUe2kQ9Dv09D+4s%TMi|8J&y?5*Aqw(EfBj5rAHD%Y zT7w=yQ;WGrDZI;P`|nRs07q}KoG(pvQ>OU?$p^oj%pim2tDRv`W`HiE_zEPVu)Ohr zmVE-rs5lgZKpB9N_5PnvA-J2q#(U53?ru#FS2HnOG!8(j8HU|G<^STg2e}ZR#$E}% zd;d=4-_K1sA0hdIA&Kuv~+Y}z(bqU}BT-R^FZ@dOx?eBj2{>B5F zuJ>ilHOK#40VYjySizy{zu#4`F+(T%k+B%1liDYIyUFrYh@tSg(bcpW{MQ=1VbcLM z=`lE!jPHUCs`XGZ^W86cB1|7JAjeqUUc;O!I6tkxj+A&`9qa+PDM%iC2xw6EYzC{{ zxRJt0nyfK{nP1rW8AA5SbSfJFIlm4@ipgMOtMImEo5LtQc>58`-=!=&Ou}Qn^cB&n z!@n1(>+|ERo0WoV5gh{d~hmYyPLegI){?7p6oP7pO44` z_TXL(*`F@KUn2gq%~Eb1#3wO;NQqpq)wz=v^@Y&$huynx{{ctKUfD&^ataSw5N zvEBbEWQ!{SX-po#LaDE!kaO3jDLyj)xb7N+@YyXQ%qZ8ot?3 z{>i`rmqX|R!Wm358RR{?wD)uY=!AF8({>GP8yIx#yHKzMWTXN&Gw$8Rg<%J}W*w5P zZplv|z=RzNPg!cE6yP9p4njKuj#FZn(r<$Qeqw{j;JR#dsaO#HVXP0Lm#os6HV%^2 zwld+%nE}5rA3L^aFR&_D{Nckxi$7>@3fUB!!O)qjPQr$jhe-iJbEN+G9DPy^N>;K3X%6S+&y7GlBp9U{50+mOq0LmjC}xU5sLam z^HC9FFPp&?cG6f&>bw>D8{$#mfB_wWx^omX|LJ3Hl<26@?ox3;#~gD3Zmk*E?*_9x z!Ui~*uS>~lJQz=Ao)tXkm&uK@dWnSS#eoLyB#i=74Q44ISBrk5l547`m|NZjc=CQ57{KvE2@ z01w8QCTRvR65jjT;WG-5QXEB{M|KGBg4KT_kVwsnDD%s>(s+aYdo~mD@K$4yF(^$w z7s{b&DYY}7%AM4T^{oS8%N<|p9NT)7=*N?VPKE>H5{g3NQ~u(W9@m}_fmysJ*3MJD zE!`%HO6f#c-L%tysYxt94r5j?t1u4eY-=88N4<>jzJcf$+Zn?4bjB$OQkP|?c$ceD zl}hpwLZ`)g;B4Ns_PTOPhWo?4ok!fd=2EOB1u ztK_T?IH5;?1!?^S=i3_3$i{wRey{owkoCm8o%22kUs;4=J-)^LBfTFj!Nz$0PcUE# z06!$jA-1zqfUOx561Ojsa%VJbm@n2a$co?w?cZVnyfB;PI)6S6%o69eRQsn$0BN0! zgQwG(ib$CZ1$DH+!}c)nL}GqLBrR)G3PPU+0Dggok!*v0_$VD+sFVis(Zi3!0(RE8EEC_L&DxD7!6^67<=bf(sUqdcQXI^j!Yz zSosGq-w(W8bZ-1!=_J8RbnirHTWi2#REqeKW~tkZRE@-DL1+kgcYm6qucLLfavz1X zFcRv%#sQ^PbNd8qqOUvf556M@Vh}bEPRq6Yn0J4y__2C`?P+QTM#3B1tC}WNwD28W z8#d#y%+DB`SQ%!yUQ-y&%i`;sSijOBIq0WH}Iu=M~S{pWh#hQ(XwrF76pk@ z-AGYH3&29{)D}f#nG_S#mKi(r0JJav+)&`( z9@#-+)E=$DPSpRrvbEqr90+;5{P+7e=`VQ&nhDRBpj9~6Zz;jUFa?#VJJ)N~@RTIm4TTG?R zoi(B&KdrFg-mZXC$??TaLUhPn^r`58DC;JgiK2`R>~+$fNL8iux#_%Jaa?zg zbrx1~p(3}|^|SV?_j~KWF;6x8(T9Aof9n>Vj-JEhiA;o|r%Z;Wu@b}YYJ`pdUyS4+ z@&3T9lsK#6f1kKC1S`EwI^NkYWAU~z2n(Y0+h@S4lnh?qQ7qB*=!T+d;LZJ%9MG`r zEo^trFLbI|ny|Aef0CW71Ct2=f|AQGmODjO`Tsr~aK>!6B@B&Nt#@ilz-w&)P|JOn!Kkq}5E{#Y#!AHq;8uPnJ;Hhr@`!~EwBR;`pqnJ$W zfK6+cy+XalQyh{`s5}}Sb$qVT78Xs5{E*4=em|eb5;#*y>dD~@H1`8Qy~py-KUyHF z!Nj%w)JZZKUlC_WQqcP52oZPAr_@;?ei_#z_H|Hms04+qiB@!~)BARYYaUnA4{7wx zC!p4j?7KD`zyt;`t`%})X`jRKVkJEPX7sJXC%2_9$QWDy%k{e}2O7AXyTnfD|J?3j z2zlb>Tp=k?LY7kps zO6PtS8zgcYN~PO=26j*l3tkXm5|#;>>#n_91IZm)?xMC z-}$2{Ps*g8jK-_*ECqlUv&d^9D}^*(Q5DEt_+V-gzKBb zFgK}}wkdcY7TSn=t2ge=OjEB#RSv{3aLH+-;Cf8cB}nVf@Dh*c%{{c2E4RKj?8nNc zmy5`_k+MoJc#PL`i)_+B)GAAXafc0vC`E|Kl7iFCvYZ-cCTec~ZOjtWVe|a^U)pwI zl>b=tHEUoJArhHM%R!(=3uz~ssU4;p2Wu2xK#xEXKm>iWAT1SHI%giB)bAMQ4K&e-l{MyH_`&8C(K#c81T*D9?(RhWcMp2STZv-LpJZZ z--^Agb7@fNh}e(2XSz0#1|72Eiu~cw~mzz6XH) zLod#@CpqVF9{6qM7fS_D2-)Gg^u)kT6RfKFlpB^t$O(?XxLD-7r*cPArFxSmip_y` zm+%M#<8vg;sdsZ|wEx1gm-Ss1*H)Bj`Mg$^=&s3wAe>K}=RMl%D{;embL}@y>Pa$_ z>%j+-2$3KH;x$@CNe2yie%$JYUv85W-!}5J_%7hQ*8B_x-`%Xh?O*Bi+8so(!Q-pn zwWrV()+~d8Q{=1Q$g_1JM5bN&5+SMl5{F;L&~SE6mK zfJOwp_)`y#7_#jG_%-tiO&4&xE;olx{RYTDXTy^YJQ{R-#Q4jDXvI86!?|hyT(@Dy z3pT1UyE&lSc8+Gz zW%Zv4;Xup12AQAVMiATZyV2op(Hb^}nz=TA=OE}9OJ}+Ny~~>c1oIRO#v4)2n7=eU z-^8PMK9Nk{C%}}*gea;)Ux>Id1Mw=8X~C(HhD|M|vxMNiVU#?%9>_0GD(8VjP!h#7 zR^K&&J;0l@8uj(Nc_cMQ?@aEVo7?IR0l`|-QNK_M>V~M*-6fxn-MSI0^MmCdyGqi= z6>UWWSD@Uq2Fd1Ac=95Q4o`tOqs;DoYTa|G2I>t$ZHB0+0kuR6q2FV4_J<%V$>I9| zRtVGt^s41qSoQqJCzYWmkolAks&m7G5g?U+to+#WPnb3c^$wB&#T$&V<1m^7@#U1T z*q|C?&nc6pERx%7w~7!z%t2ER?rtirR3P2(jKx+)!Rz^coP!`VU8sdaeFe_*5umI~ z-;lI8j!8vORBBS!hLqd@U-i1*r`7~}_s%~@To<7m8U#vVPh>0k*PJ55L(my@iHs{M z1DM8apyBpwzHihx59b26Y9dK6NIbwu*7=k#Z3-Y=tWi0v5?jCMDeE*R9Q%a<{BtwRn60d6}YMe=cFx<&LhAlF?F^Q0pb=}R9AD9R; zC0ZkW%)Zme<}qm3c^C8AhUwS|q}Xi{DxKE8nX(D6kI1mL} zN+l+aqR18C?6=})gin;!C&T!P{DERVS@4r+@mfEU=`m1h8!S%TZf*b#k4E`MTSszt z@4dU~oz&oKvs%J@ar4zhs@%|*Xpev`MG%dRs&IU>PcvbCB;AN%1n9!m@}&ZI_nt4G zWJyM|g0>!6Z4EQdA)r7yel6eU5mK%v1;!dOqG%TY2s%akOqejS^b7pIRX#^2Y6+z} zatE^j4tERpp9>&mbwpBEx7il5bwHNSz&{jAP=~A5znjsQ`2_!5IvB0%6tU@gBDs(V z=B{eLE!sU6b!D8Qu24%7BZ6a;Rl2UvLbkZzfSV9|+2f8vNi*6R^? zXAgtP8VAUv6u903qmYO)%nTWDZ>W23fcrZY;Oyjhn%Cf8N=rT4f;9XPz4pMnG!YES z#*6xac849zecoH6K)?Awp!GkhAv>Jy37Rj_0HCWgo_8+!P~UOMS%-%_vCt(e5eGvm zQvY}fppmF3!jQ1RC7b~VLJuih(^HMf;7)*9#w67mS;HB41!qg$&Dns$L}V)dnNv5*EJ@#9B*X&oilXE^#770-fWg`K zjwp<#zv=l&XNN@op6H1(4d@{6Zx{&~Kky1z1`Nj$;!lBVCR4|vA>K%@T{-?mj^clV zD{JEQ1_q{}&2PZF@Kp*#rm76Xd;(v^#)_|z1?w;lvezbCvL=3H=RpDobP8zPKEs8( z@5aNPMsZ1l4rvVxD(leibN#8)3pmi}C}2I2=41^q^!;Fx7pN-~KJeG4F(`}FM94CV0gJ6@Q3g+6()5e~0lhRHze9)A;+cLEgez|AaA6qN3ypFWbOMfT&>Z81` zQ{t-4@AJccf(Hu#FEt1mj{rJFH(CzF!ze+MXK3Fzl)-@1!X;WzXgQbM^N5-D}bTS=Uww(nk{t(H{ce>(06Tl0|h-q zdUFw|BJqBfEX)ZKF1JV1MIP2Y8>Tt;k%3T@P&&g~TiwqFA{Q#UK ztdH|huo8l#Vqt!S1kX;ost?45X#PF55im;b7XT@;cYZ$FikDF)&w|8;Qrmdov zMZ9<-cG^wU-G8PHCOgNdJ~M3h+L?Oq0HH#S6r~Ti_`zGqNN>RX0NixUVmi$`CID0^ zb2>}dV4C|Sc-wm5tNWPb84TP9CecR}l>}wT(yuGUjzd8Sc;_{jkK=e|mH5#hqvh}p z+kOG~tNGV+OU1H~1NjLaN~MN_EJ_%NTH)1dMC}dVX{)|mp*Ozs{N{H?kC5~1*M`TS z;N{-|IaFl(tIqxPpyuuZHI~KjCDQhkc z+i|9Ew<{Y8$vCF78NX=mgW0I+_m2bEn|^X!ewNHp4V{}XyCpdi#-y#d9A^9~-3l-v zD;cuasW$okWCxx)HtnU%7k$ev?`f7tqK1$p5#`qHg)C=9)baEesDEZcjQ<)T!7MWo zYmBw2l=EkbeXbjmOaL%*?NWdhh^`NJrAhlNL(XKdUGe?_b}$~?*8yL(2}hi+h%BOk zF+{|HhB>~>O5*W8#y6dhRw_B~z z|LaI1`l5X>!Zx2k5FL?C9lcpkwV!XQ9ip`$LOw#?13m+i`|-->Z0SeaD)o}zb{xUO znGSIt1Bgm~kSQy%Kn7g)u79*1J>#FBT+|~T{GDGVN#}2$fiCLlhh~opn+kCLisL~%IF)GE~Ldf}E6i_tg zww;K>_*-|XH)c+UxOc5q=xB-QH#kr zzSJclQYSHyWft~a!HiELCr)q(CJN;q-IsQg;}v4`svn_Kn<~CD~=PuYC0oTLwi_Pf<_%gZaju#00FYpDtwPdq1qf{K26@$3mWuVhU$s zKUz`t-ZbS|XN_h2T^0!?QT?bV5ej2TRmw*RsLkIzNnb#DgZ%!~fI`PVLi|WZUW(y6 zEdWG9D>pf3{}U|6d!7>zg`aXFHtH4(-?*F@epBHbX#$e zkcK6$h&2pss?YpS&l&9*t!PICsc2s_mRY{IX961&N^Ck5Xv&W)ygo$zCZoZyHJ5{x zwz_jBAa*ok`!LJTsOI7C!1roouXW5rx_#2Zo$%nnECMh@Ai=yX1j4;EY?9!hJbB_F zadV$XvW&s%pt&VhPvI9EOeyRIEh{qYpr71z?l8g!I0(}A{K3$OBpTtdy*%ob(Jhso zi(Yn+GO=AH{b!^*icP`6-sD2>0ON)p60}i^xWWWF2Nv1rko}769ClOG$j1-+1t)j6 zpCMzG+WPWp;M1?*TFob>+YV;E?NQ@Sk@$psQr=ZtZwHqbS$d5|z{Qq8DxPOeJ#g<< zdnjmsPwf{)=SL}qXArf2LSD6_RkCJjozTUC;IXMXYP-7h^dQmgtYfwA=5j^GOl|ew zN2C_!rlE(8>TEmzuDjqmZo(Vg%&;TCcT;qr0mw!u2xUtkzm}8KO~UX^cm+Ovl?O{v z9p@3SSkFn$f(5x#>u^ih`sYlQ_uS+3k)g)xqPsMY3B56;qUe;K2v^qo-yF?0uBRCp zCRx2-;$I>C@xaY!T-v7@VMBCuq^u;G+j7mWjoBmiF6qngXN{`QdVi+9B>d3(prv~* z#QAV6KYBK~4A(SLdB>+`6KUFJ5rk)svIgA*5ej`zsdc&@TWNkP(c{UO_fg2c^s)Yd zX#m)KH&9Zqtxv4}(!nU9kj0HefeM8&bUTK0v(6yI-~~I_U|u}-eAWrWcy_(Sj*8z$ z-Atk{>|b~X;ScTX2aJlij@JLlgYsOwy`~!<+9%mf!#_F7D-7Zru32ZYAY-0h z7VQ@5;$9z=$$p@iy_oQr@U>&;enMvU#=2--61jzzaniB#?3i6(u~ljbOm%)%VEJM0 z$pqMnPM>?~jpy3_e@HE$Dx>t{n`B?*qjv&^u5WcwKRVBgzhN?+5lU@D7h)Tjl6xoS zAl5QHwR&T~m|C2znoBGFtZgs!N(hIe)|ZO#a@#r+)i2DN&|bcDmSj40;Fvi+!4}!e z&X9*o!qFmE%x=U%`^}sXd+8pY^RJ`4yP6pLW9|}Qxk|xKJypR-<1E?mMkulhV&*wh z3)QT8VqJJ@oqW@v-qqvXj(XmYj`#9MY=<)X9O>wqUZu0A?} zN%&Gv?L9ubN#_03)XQC678{i*{k{|J(BNOV>7BZGGHLx_q_rc!Hq{p+A$L@`n)h*~ zME!3ld*zs;cy-cU6^WcN$Ps5+@8o$!<#0-j;PkB!1)!De{NCGxlr0#e*4h>xJ=1 zP@byy>74~1IU$wgKzw3cITAn9$Tth3bAEQ{mwwm;UOjEq14IH$E@cl>HZn|TBMdDJ zXr;)8qtKr${#Y;Esk(F35EbQqKiU3>rRjmWUok7xΞ!QeVCH#4(e;Q}a2JI)-W> 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ΞQ(%t1Du_mDAZ_aWdGK#KKA%6|rE*$qk(;Hvi70~Dkq!%1oX%`{;VlsL#*Td3~bKLl`wJd%V~KnGv6A`oldKyz{gK2n#ape z8sALy^#~lbb>AJjN7(? zY-wt7uhN1*{awo-xo`82K7E4&w}c=A$+rdt-(_>&4bd=;kTeSHi$fW7#|T_T*&D zM|NRQF}nzkAu`tXE+6g&1d#GpH-U&+{~2d2u_&It#~o6kzfPx?C38^)lB*6k5U>sD5Qx>KqJB3wQrjww6)S#{X+M>R)a2h7%xf>IOdDpdpW}( z;S=OhATu%|mz(gKn7Gbb0cy~uvPX?&Z+ltWhjH!JG;`QAu-$ZjL4fs{u6$bQ5@}{r z`Ug|8w>->3+gb{glcX!eS&FCogl2Uz+v~+XX(syX>&ZT~b5;)L2Z8t7uka2ozUHoB zNyc%V<)JAo8DOoS$jR=1AbzUh7no1;Dl;6(s?r~f)I<3ptMgp&i9Omor?czx3h@Hx zRnqbo$~{5LHo%&%FR&k-`G8LLrp$BNNuowP839oiFH<1J=BWN8>_l>IC>bEUn$7#)PJlMS-rQ=CnWm!jxx`jRnN zn!t9a4@-9P#cp);B@tlpf*0I3oq-#*N_3%eicIuSl_syh(f!4vB=&Mn5~&L`aM4?G z&*SNSlbC^cY#~F#7n{d~aOXeWLA;RJaSDT$wunS!rC6QTu_%R?c=0YbcT4_fM2XZW zP}XZ6D_V|XoXcKf<*d~>U3o1_HrM4P*06z)0xw1V&piW!<&G<_{f^XyquKWL9$)ie znW+f&ABPwcpPHe3FmXg;`!B-Ac-ddijgnpHP3&k?w?k*NJ�Z;f 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 #;U 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%0A`tF~%29Owdw&CWFuii?cLE zf$s}BviAW6kiGH1S~?{HW4yZ78DE+FR1gI)E56SxeQuwwdl>*2LkRlV-pjKsi)MEl zfNe_LR}X-1fmfMOqJ-$vuEF-R?qE%s-u(c;Y@G9=t-H93%kM`_2k%iMuR8s>eL@$& zSL&h+w=LDO0wv4|!+k3Fnsh1=P6XH*LLXV~aHM0W)lybT_PsE*5ST`~7_WV_p+`Cy z!2*zvrwm3fg9Ib`i-%vRRe%a!A=vd^NmNR@9}vTcv+|eGgqpUa4fVsiVCO zdj?%((OtJfvfTdTjt@JQsCD~%FnaufP}`o!R3{IphT70ID50NG2Tz5I-CF6dfc3fp zvkh#xc5$thPkEu9pl7b(z>acFn#rBACK70iaxfnIdFqOYLJUDXnG(&xmh6}#8&H$;DldIxo^D2-w!`GCWLgEgD!_yrGsZ+ zH@=TBGESkny$@Q6RIxWNmZFV%pLjZhy0Q$gV}WPI_wFKBqJ>=9*6s)F=`6lKi&+>B z2q_0%_mvrHcMr}64t}aJr;tvoT})q;PN6~`J$k6}e+-lyAnv0CbcsM!f4%~JcfVZG z?1gHT(;?SU0jga`{9<>CBgPHz{MN$|y8JEzeSh zSnTQi|8RFJAVD~;?f_9*4z$f6vR~gSsq#Gdn&>px0%a@O7xucT*Zqy5!WY-E@^`o5 zyMBPjuk6QUA|`-V(1}NZxs3fQ(uHspurLQACGK0}Mc@cq4)6VmFhv&}31??ulfkw4 zLc@=_>mUOv{L(q7Vue`FJ-=44*bR+4`B#*HR*eu4CFyYoI>gUIes+E1;&y4p zDNwGX%GrL4$!HO${s%NMpDd12s)!KVyqHnCkonc!*ZZ?GsPe)Nr4{1&57F*um#n1D zAhbG3k292y%28OA8r&lHl-CtN;)oj%!j-fbc`EBJeF{Uw`P&TREXD7k1WSw@gc=So zBYJWsusJHB<{=_^x?NRL6G91cpX$4ER9864rXzm<8`y)fr~qoGzgrVFnl6mTJUq?T zvsYgOhKo*peYz5gASx2OgiabJWP?d35YsuE;I!-(@UdG$L^?L5Q=uXkbL=bH2t>OO zs5iHB2*I1Pp&Ogc^1H7Ad8FQHm>7Wpo{3@U!EE*JnRIEZ;X4OGa=-XE$;3BLG z^|2o)1gx|@I3IVc^Mkgq3?`x2Z)@nkjm@;7mG-Tr4_GvkKCM8`QI}=tNtBUm|qyK!$K%SHXKkczxyA!@Tfghm9oNyEP+h*zOP*@;xV z7^80n;nbADxX~G!E|il!eNC6D2mGf&D@7j>mj6CxU)wVL`1(u^&IL;iX5F%F` ztP1O#<@@g5YlR0^M61u!Txl=Gk^V68Y=?oLI=552Pmc3KQm}eef6{l6qjhWj^6d8? zuX)SwowdnS8G>}Lng>W63wG&Vwi{)@O8ZSA>N3iMCgl%SBVS(>0-!6X9^_zcgS#+V zO`cW|^?NkQC{*Y@tVp2*qy$*X%lnCRVaRS5C!J-aJagc>89xFVPgRVbvu?R!*$G*K zYMfqb!N_KBR|7>ELj~Q!hh&X_Azm&E(QN|jLOj=sJpRqbq0$_$NP5mFCzhqxkz=BN zf^L2~^t;vd1k%}8@tx`AuHkj#2spV^BZ5q0ylte@sI42*@Q?U?*FE{SrP)Xa$5b+7 z^tDo`y4IuJM7ZV!!pf4qtdDL{($Gq*AW^xv?^%U)Ou>zZ1KqF7=LX)*u zKZBeD&{sn8=*qzNzk@<)1WbU&1A0U7zfsT;3+Rfv+})!060+?eu&&1&()y;Bj+Ivs zI0D*+Idp3`Yi-H%AR!VOmM!)C!zNZFMi)^3tD0m z!@WRcouCH=H+&tb(`4>+6ak*pYUjqRRyOM)2r&CjM|H` z+bLyu;BHyaCWGnw5|&&RoW4B?=dfb!zcHh_w%^S-+mHV4O3ch%zc1Q-D>V@HAZ=~m zikIe1QsL`;V4E~aWoTEzA~r267(&;}HL7{tJg=tU@u$myhnQw6`HPbzyV#Ak-%3AG z2->6|R4`SZ1JCbCwWNo6Uhl`i{BH5EHr?_;18;f3b2*bd{3gl?Qxu|~X_4kBAC`jn z!M>Ao2h8!xS(04nU3SF}*XwFDLL-tiHb@81@u)2pO&~5%l|u=6Oxq`|Ma6~9$AscY zU!6*+lDDhs?Pzwl{cqm@OYXk>^IZk*_&*NKuOBy_=EfuI*gte6%QzED)cLL}c9hd+2?JM#Fp|ltR~CK1X>&XovKTe)9+fLs0{4gDf3R(CI>Q0D^|$ZD8yTcAHc!g6`Q}58`xr z7e7IT%H?QR(MWDC_$Zag+H|m5O32y{l4OzEsP!iNV?Y0i*ETGE!aOQ#9rGauo5pWI+Wr3f)ZLel29w|4iwhBa;ZdXr0`|`pln~a%70rQZ$HTY|=2b^RVqIe5NB7d#(g`w5s^VI|vr%a_`J$J*Lt5;tf#M zrI)sg5^}^(@&y;wt%-FI70ozi`{a8Foj)1ylHwgMl5}Y^S$YIYVXLV{Y?l=*nDujC3tFi zagj$GPyKPG!?Au_dIV$JEkKRq=f z6)g8cAM&A5lcu<;(VLc~WyNod``?A&KO8`KeLl&6D`ZVu&MUVW2tHpt&%8|ldMMvd zi~ohM9t7jgqe*_9aZkHtA>WmNzCNZ^2C89akAply;)9=tsdRC-CIBWzP#@;pc3bGb zM|BrOo}-@`SSl$ZVDg6unjx=3BxxjQey6WGo*Y4J{tGE@@ zw~~S;!U;JfAO$8See8IeiAtyNL%x!O^RV|CTz=>?j%l4BN5^i{6zzWl2k~Fj`1SC< z=h=&weTw1L)~(X4fB!f9l|;9Ma>CkE%^U``IixHor4=*xS;_yQ=X(g`<6)FeJrfUC zyhlxA%5u6{hZ~{DqY8~uIWfc=#e75-IS~P*&Vd*2>-?8Xqn)>}fDInym6J@$OHiLa zD)AKjIr~uT@1AJlghE=s@`LuCJ)3mSr zD8i>gM^yN~-~&hT*}AE~h(pxUP>FTjpIfhjBp3+7(OnrrVgW}$zM=VwPb#`=l2j(r zPH`2q7oAr`PD{*_szD4nh2#vIWXHl$za)-f`}hi3XHMOI^sT=`E=?YiVPkjn{4SIaM@@rCPw3Fj&V z`z9rviGNj|e?tv*CO923LM!(FN?A>j(|ygsSj`89aRdYDp%+4Z^Q%HOT6Iy>kNI$hF)xKyMJ>>{E;baOC^u1ci!Dz`rzpV#M7yiB-77((AtYL0<4h7t%IUNagQ4U-5ZK zo7*Lcb>Swo44rY>w(Rsh1d`t#G%i_4LFNcFSsbyt`EPpBhjXDoY${iEIg+2gs~%Z2 zlQn96XWs`snHS!GRcX*TGPD@?# z|2-ui4+2sFs{};AIs)|NYp#aW5R4nF0H4M?==XA*UG^Z+ZSv-=zbUjLJt;ByG(aRIFb^9Z?ocKa!|7|`9I5hl)HB~0d!4}~|b_*`V> zzJx2p$eej4mBWl00XS&#X_D(~=NYNn*_*^Zv$Wi>fSD&Slbenlrtoi@IedvM^fT*mI z^6>+}z!cTBENBr&O{pqK6RRG3F#%F}7I9A}Kap0vMSV)bE&CxLa`wS((Be>|VOp<+>%1M&>U?p>-d}n}>ma zF9g|{-~&T=l)Lj?k)2%B=u6VsE=b|W%pOEGHk zDxLO=?m>2ANqw+Rat5Hq>*~GlLBrV7NX2?{0YKhD%*%h}^6>r;Mc|ou*Q4ZgRdlf2~W#3M92%1@BLQ+Wu`#edC|_0baA8Y zE$+8#BtCBmX&)%8**|0u()@rW9e)q{`;BY36qUv zV-G;a5!i8Ok)-}TZ$}7~2!Fx>OoPFMR>fKXT8JG|@s!N)!y-L(S6b$hy;mVOz(ml# zGH_)oj4Pt+Y=~ZC5#OiVM~bYTfYkYmt-#%XRCa#-2gbFruMxpv=ZuRi%AX2< zwVIT~$w&Iv`&AtQ=5otu{|;>Z8%-A%e0th=eMJ2=Y9z#J(1@nVk{zG`!o>gF7#G4s zHuHGwuIDzGQ!f0O;&5FKC5V$o*oO^B^X@XpFniktr-H5E*tCNA=8R|z z;vrtEGgNKZquAaBqRIim@uBmBc@Jmdj{~?xT+e;5VjE0QjIsgr6mFQ(zHI`rVNzWN z;X=sIve3xJtsC33LU?_Go`dj|eBVMha;zrkQe%?T8*7ClNxMcpUC)CcWj8pHI+}y_ z$HhVx<7yp8I7DLz=r-k~3gu4!L!wELAd_#6{;0=77R80&O|G7Y#a#a+UpXXEr4TZU zGpg{m->`yA1Q$yL$pdOMykKfG1(|%4$F$)BEUo{8S7K<5-drY@}bp3rL*u2I5C;cL44UWtsiI zm2&ndPBmd{7hU;tbz|Mu}D%F#0J&%GxOrQF6`wUDzg^NSh!B*jT^1 z2CYh-4is75Lm|3z+$vc>^oJ+}64#{<#mA$~>i-mq-CaAVXm$xOg^->J)_45C53 zMS&`ltgUGC2BS9|Y*e<*Fx|Gz1k(2Z?Fz^*DNGotxVNvNy6!EV=SS)T%OSCqYQ~b( z!^f%spGMrAWyD^i+8$4;;bWXG`FH&k1lsj2`2!d&MMX(#NzVou?_orgr${4)R)xe6 z#1TZ-7&{S-X>yZP;IaNPE2r;WM2&b!_BZ6iA`So#g-Kah*FHqdm3ji@Hj$F)KX}6P zv;s?+1us2EmBC|Eu9;}^G4n|q)n8r$+t$tiIbIP~g4eG)0E@+G+yf9`G@St!uS3Qt zCBoN8iwi3lf0gND`?$QXkjnY?iN2GcM|D$%$kTH3seJSM127FGs(phrb6SOc;m${_ zB*Z!|5g>)W+Q~;qUvJ{=!SS2t$Qg(2kpy?5B*HxhdM&*? z$Vf=%DEjyKuF+QCPtlV5jAC<*9wi2U{bJpN{GNM?GF8V9Tq%TpLVzbF4ubDC{*m>@ zVVl)@A{BPQl2*=gKZo7R-#&qR!SjmI0I0aPi}#3r1o{qo>-wwB$=lUjg=C9=WaCwP zxD?1j(?E>Fujcx}Jkvi+XLQ!XwicoQ;=9)QVW6@JfSf)fycp`!8)OdOC)-wm;TyBE zv2lb9G3Hz-I6XZ74Go*>pJd{kl-f+Q5MA1|T_3jZl*ujfXc(H@*djusTO)pC@#9ml zz^I(pk4ApW$MB5G7xJN*Tw3=GM0`PqVTQLx!QPQw3z%rBL4cs6WO@a2!c=I!yBoPo zORe}puiwd6;ZD#rv~dMF3T@x8_i^J^N8dd**YK6&yquARb`_cy4glJlLsHZ)pxXf z7!oLvL1@wpz!Cqz4=lV{H!xcio#cdfc154qPgcC+aM_=H0(8SebnE_9YT&><);DW@ zhVPDzhEr607V?7QLy;5rE&JGyD%VD>0Bn(B%lt!t0*KtFte}dd=6;-vh$7|&=f>zZ z&E=AMLPaF@eql6NQ&2`OdBpzA4HywYV#S7x_$GgZ(jON}v_M^B%|2ftfCR$MFmC1G z2QEUKZRpdRYV4LzIoisuu!vJ*m6qsqDNUp8H|*rfPg^UJWt=k(GYdK{>2A8H|I|y> zh(o9)7e`+EifRxx3s*8l<64e?390@Z{kY7FjHqH8oJFjo zoxBLI21nd99cK|9X3MD{+#DAQ-4U+6k1i^P8;8YJ!5xjqLTIh&kZ1Tu=xRxk2ORxc zC?4pxo(wHVg)>VrohnMg;^)A8H993E#i{q z&E`rTeybsh{Xxs0{yKpb2AtD77ptFFxaj@F6V(!7aM_)-T?yHGM@}QlNa=25)M5r3 zc7q8NB?TRfpJ-peYX)pBoA#T4>`PG>hcGfwRL@D-*FO#)$6`ufmM>n8$ppT-O^XK2a;AlVI}>Re*<*Q;Jjg9+zBe>UhWNB zCz@Z((=TrEi8gySN0lPZaU7FcMV&DKfY==!1J7)G^LMAeDyHXcF#{V!AX5nF7b|f3 zUXxz=b$JVh)YCEZk~)YUZdY_ym5)-^Z^wI!6?Jd zd2q?*e|!Ql=^$I|qPEsZ*7fYf)J#B9C%C@^*&^_GqJVbOz!BQ5fMjYG2fHT!fWW4_ z;o8i^N-spzCCDsBy)OF1XNMwh*7e>vTrf^$?uF(|#d5E zY*w))5+?R}fVO)le=QLrp07vx@vio z@D7YH9D-RU(`c1nI}p?{<56Kr#Xt_> z_a|^}m4qF~ws@nBlbA-b=_WY2c5o?>i?$nt=27}y=V{%@r51IuvCZSQ{lT0Ug{kRS zGTZIqpdM9T^vKG5^ml^4XP(2KeWp(yLU~?xRi!KU`W_lPvZncW%h0l&4nT4d^$g;Q z0NxRYh9fm}s7|LPQ?f{kEUfTtAP&(%NH$%v-EUMvIRNao(c| z`{c^X==Rir9W2&IU1}tir z8gAZ6jG0|n-d5B|wR_$t*av)EHc$4gsC!4tnVjk+#q?d8DDodlJ*}OJJJdNkon73C zOjm3t4qmK<-{4{{Bg?qQ)yS(T?AjV*x~9$aM60OkPh(|oCr_CNh@*;yFK&yopp~l3 zG@K;Z4gKkeVf%U4jmdFyIzx}Qevi+jHmcy{a88^mO8Ly)iU{)RtsCUsAFp6UmuOts zPKu9G#}|!@KrpvN2;)LaTS%KAGM=`nYf2tW-3S%`P3nocQj`49&*eL5;~fyeH03Ul z%sbRmv;5hF>L(IIu^htSKev_ zJB0?`3VkRhDLlIL^f417x`CWYonQROY4$*FFY++MlIg4QkA}&}pE;0+{#=1$Z9=$y zXte+FmmFSKbJwHIfg0aLmh%`JQkgD|acTS*dJou(dOntNPz6c2qwV76jx|ktxj%8p z<~W~p4nnSiNg^eBUV~phTDkfuHrEfTTfH7mzAF5W27H2nG@+R=?S=hL=i=t|;AnOr z+Z_RBSQGwZR>p@JJa^KcmhZt;+;2$t;P&@r97Q4{0jxg*&wUy$hGi8Gen)hSwkM_U z_7BERsEL(do27qw9^ndV;f|`dbxLn2N;di+u)Qg$*Ud(}W{>U1zU&Gar7*E>y1#xn zrI6iYlUH4wq($OjH&bdVT0rAE9Wfr!RQf?6jDem#KVT!i{dqg#* z?#%ySP{Qs_YRt6^&%ywd2%0(MNX{?6wl`9ln3en>w)bq~P}pFObhh9XMqVnii!C zWF>7|h$}v7Q6ZU$yywv-wE8ZJ%l#7l8+Eg9gL@_)1|2_T<**H{UZS!bwp2W^{MK#B zx0qX;#TmMnTt5HWFqPw?oKUQZ1y@(4XL>e$HnGX$j zx*0}k%VCnEf1vYzir*c`cPDr?RbNz^JK#~UU8w7_BSfZ-K&%^DP_iVd5+bem7_5XE zwSxVL8~wJ5uQD7I5o2$V(g7&^WGDILkcB@KS(r7Yfj^q8h|AtRrc=UBNBaJ)-$)Ci zB+96W7U0$0AwA-WrFR)Xx)83uq_7IOxy+Nx0Bt}N*Snh-jsSAO1|zH?8n^j(H3tcz z+>IjPq_f2)#(7Y1eh7u01=WJen#YW^EfiDJwzh7~37Z^2s}J6&kpzz^@voEe5wVf> z8~8pH^SE|pslYO5i7rvRqGii8NAK9iMu)MXG5rCy+a~lyysC{}A8!2qWtXU*=p<_> zXqs6c!~_o|tH-6{4w3*lmfMNB&AgK_qHMfqgc7yQvl~3%>}I@}A)^^@G9%De#bEv; zw6{fr>Dv&y&ZEB|D{U^4(4FWDj!$ow$^cVh{(7 zCQ|>Mr>uAp*OsE=7rAREM?}Gl!%v2$_2^Aw^BohyO{0qC(aQ2Vwh9-X&U;jK&y+NS zQArOYFIL~%Gmm-sgV2}J&FBVK-^0PC&mnZlT;^6+d43sIaQvYa&_T8?{i{f+yi_Hn z(K55r#fr!T?ofPXzy2X^IvOI3*tkQCg?WjqSF+`U_gx+qtXz}NaR0b(>q)Rh$#0{d z|LjI>8zY&zmN(Oknd6ZiM{N`fHsV);fi6w6U|%NAQ`G&Dkn`G4VKfZqdcQe{n2D3l z(fbicJ#!_Le92=F)X;is+vaT~xlBk(sYh6IEGc zrn3Eiz;HbH%Sorl}I&+^k0+}SXc0?Z9PV%QwMNycs79$s-ZBad#@%)Lj{$FUmQrsU zn6lF^&PR~pICNL_!mKE72zbpBJJQqm7;+(z5CSJl6GjLsTI8#o zS|yVFe}v=0duK2p9-x^~X4Qd__>PbQ8N=D>|9RHDWC_3Vie+c3hvzKlIK3TdT0AuF zU~fQwuZPbWaHsmhLy<=cZ|o8Ly~SPu*7RpFB(#IXj;6}&jGZ*G_ZvinJ0YlC4 zPjAiAMZc(}U>T@k&-uh_sG-rtJ zrYoPlj?o8XhGk&C^4+(BkqRMRrhT5R25oU)>V6l40UMAt)78a{zgTT5UHHQfE_ti2 z{GlJ%_K{w*U?;Ruz3|s|3Gtl@Whpyl%QkOIsHo4{K1jXKi#SbzqtVkU>>h!$9Z&)4 z%Hr}v4B2y1lZ!ZwsHgWCRL#4g_71u9b10cG_*$KO$g>{qDnozJ(K+lKDC>u%hT3P z{W~j4FD-cLz`QgYSEo9gHSN;0rk7P#1@6-<{UG5D2N-M33XqpfxhONKvq5@+C<Rq691`bG2rj$JP3RiJlT8x3qD)##OJ@xW!=Eni&C-7z%_$u z74TJOu@%%9w}Leh7yh=^**Ay+>jXG;m0w3RJy;*zdk}rb1E{h=O*9Mfe`9(MZxfUG zHEmcr@OdT*DEozc|HHD;>c7+({GQ=+2qc;l;$4K4}jtCcTw1SXEiID?XYTT$ld%;oJWGxFH)bwX0tdlQNb zktW;n%yVXX7dN$W{G$;r(&rNkT=pj#Lq}CK@}z2z3U;r1s-h!B7^y&w-%gCoJ{xR$ zRXor%xY~WAwoJ49KtSDj19cD5%GoxPh+^;WXR-%c6iv)#Ur{!m(|ii~^jT&|mh8iF z+|FL0Duv?8_ll)F*e5}TdyDBd;O?vEH$6R0-Tat)EhYQI5ovo^D`SuFb$eJ3;Lyfv8P?BnHEl;Tf0=XXmh*jsOZi6DrbWZKd;e+uX(q{{J#C< z@1IhX(KgL4t2lilz@BcrdvSBR88m#z|D~wIN`g76MW9~!ci6f#PN_=6k9il>2hT2} zC+V51*w08ZSMxEmVq&Ndv7&^C{$U?jlUYzbu=;!YG~cd9Zm<(Wc>oCNMcHvs?Ahek z_2QI}6P}NQrJ!C!w+?W*2r*NXL+CR>r_f}DzR+r@VVLILmwy{2p&K$OKRB%M!8obm z^nl;L22iYcL%;tVfL#J1yyP)W$a?k1Tjf zzyz|dG^Rt%dKpSWghE5qg;k=4T)UZaraohiA-hYu-!rmia2UkA83WV#Gdi-n>Nvf3 zd!|l7zfR(VDg8dYnm~?nLK$QTwe{~mK&qHg$91iu7GzFT3b9+%l~5$&TZ8>!0J8U` zSzr*~#~zC!<{2Xh4gC~kY0iLIMz{U^9yrcoIz?Zzz#9n|t5!0Bmp-T9IMm z+yMzK)Ecs6d45KNADXV>>Z$T%Ar~D z)gECW&P2SH@{d2M$$v~&+k#7V-W?GHz~t)k{oa7N40>MJr$qIp=q)8_xtss<0)Q!c z3}xkEZ|e_e@KypPvXDSEr-&Q^1E8_wh<-X_RG5dlyNkEr>;#FTV~@g}Uc_Z`J2k8LbP+$h|Dec1C8jXvI(?TJV(Rs@zGTph%^7gXSfNLW zkEz|gp=>Apz9v>5eJF?MuFN69c@p)gV!gw#Bk2h@mW=-)^%e8no62kd=C-K6H0 zv&OsY4!3DLWjAnRI`3Yb3h?Kp3uNqNs;+DVe(TD^@2Ll{>yptpH{eDM&DS_nBu&qt zO$m*zfjO3G8GE9#N`_(@MY`by{#(Oh@UbyOQb3j2iL-X}ZWR!Egnm{%3Z8|aRpoXHO9UX$RT2y)souzvYW z%du1goZKALW6;Y5XCOGv1kc>ZSgmU=%mfTKSv}t-dZ6QNhtgltZY9D)Qzrr zl(2U0F;rAw4cS>2{rad~{;~V#V(rf5F%rLJ#IJRV_tg$dUo~j;ClLG69Vq-Le-f+N zXbDwKAK#jNy|LwC^) z8V@o3Qs2}R>LK%Gli%(Wgq~c#f4YaKExr_ZAd9p~x{6BUzIS1N@(2p(=(3l9yA1xx z!8P=l`no&USMUjW(!cXEy>wNfwV)2If8tC8_^NQtf1^%MFacEYru57$fctNK0 zylS9yAJez_1i$g<@f;#r_NeHL+zToT_l8Hr8XxBtX$Kj0blVb5Ls(-lSyUVOpUU$$ zHp5)6L~kVhu#NY6pPJGJnu#l}b?&#k96q&y{QhpZz{;(U$sz20)>=BRw)R>wp-v|M z%dUfmb|5EW%%xo-pwQ$PGbA4`9>fX9sCU-{Qr+C{*4b&Z%u-pq@ro^*G!%I96gx9M z9buy%1;(9STvaLtv@OcjT%r_vX-xDdEVS+hG4tWilACdp+o78no5Cs!)_zN;3AC39 zQifw8yv-V~3C;@_!9Q59{f)YJsiY32O$#SpQpiGcP5FAysAQXvRWQ+PR-yLaYOqfD z;IXj;>w~k|4Ni$B*HY%)k#*ejwr^v0h$1h{}fKjVj%~JjjRLgi86<} z2kTrB$@SJhEv|pl^Sfz7_bpi|c=_Pxr9D*|+i#IO+6m&IrK%MYuOY}kkjr8KBDMQa z`tf+}PVPqTO0Gd&=KiY^;L>D1(}25o<>Q-T%Xe-K!BJyU>bxF``vWBZ(1&}Yk!f!? zuqWWaQrv)O5A%2)c-7!TH2Yf=!!%lYmG`AT2f3S{+>oB`o56f?#Aw;#9`pRwcgo#u z@5y6VRM$7!-pstSjlcX8O`~?;pv9a6GPLu#dGZq4MQxVoZ%Cu9HSO+CqL`zs%+nM0 zPGHt2?G-7c1#l$;&B@J8-0MuOSM%)AJm$-7aBOJKtWiV>*C$*Uyp|B{$2MK~;AA2T zbd+clcH8j(K*)nyw(}TQAaA&tS+BtnF-Y9N;g@{}iJsW|WyCf=jU{AkG@ifKq`8&r zqSkdh%k{a)uN7%lg;28m(gS2SmV(Ufx-DOW9GB)_i=#iK+!<~DfhZ`fMnOK`)Q_=P z88u~wNEtQsHrLUc-JP0D|DcCL?7s$1v-LFZ0H(Y?y*0WTv2!D|RbN$!{LPoRsttc^ z->-V5Y@4<*b$Q-sBEOipDA|6DxEsDWcIo`7|G9d-lSV#tVF%U%#ZDB}u>?8Zu?Nyz z)Mo-|B;eY45&WrDs*>(A62$nq9fUyH)X#+=|>GZ4W+JAdpm&8 z5#Ias1Jdb73gQ%+*<%l09mWK%p=aOMJ>26vCcVm@Xt{}}!Spqi&n14+dvAq~&jKsj$8#zw>QI7y`isDe)(?IUc2N!i_d@7|K$=q9Mg-0b?#= zIUweEwRUq?l;y?PkjGMp5-TH#wAAc!4}KawB>`3m6n_C zd{?6F53q;x73S66l}GxD{u|-Vg49Q_C%D_o_;w3`0>!!y^<}0-_v0 zji~TW#8-s9!27nP^!jp`rk!NMn0&eM?b#_Yp97hw=_56*IZU?rr|}IEt0W_#EC+82 zuM%ft?bjZe-8+m@x765euw`J@dev|&ppUO&XOMjGQQ@TTa><9O6M}VvG!*mr^@B08 z6{Lt+LJXq~?1Z}J7E(q;{*0Tt5sb&xos0q(KJaRANr#NW~l2IVd%L0 zQw1x1=4Fz@x7+t_2{)vrE<(Z@H7p@xX@iLa%{p!%zeE z>*Kr~3?l*8jh8%hRCPBOTt2>mc0}UN0c3kTtDADZhZVbZiHAgfeWate5|(;19$q!S zSYem+MyG`*V|7{}Y|)VGQE>3@A^#H0qhbLXH4PxK2JWmLUUa6!B|KX97 zqM8pZc^lXpa{lJRt(fWL8{xb|A)KU7BfZ70nhQ@l_L9jT3^cnPJ^jJDCzS6MGx)Yo z|Ks18v1#1<1okmJBY%Q=e^ZPDC6~d)-Dis_{Hpqmtb%9x`bMiW9WG(+GfWlZi466BABpNeJ(L^DB&tG~Qc@xsE$-h~QX5d$NVZWPKsW5afVJQf z$S^ErMEmJPDH}mvYutxdgCcjtTMjY`JBX;Zxm?9eY3Fv>7qIKZl+VjguwwpxTFb!7 zU)CfSxV8I+a)m2s60@7 zTWQIL9lOqs(BttUA?CwLFw#X}fcJYo~Lr+MNZR`7YtEdbh|h^H0muAa9s24+9<0GFN%Nm4RaZD9Y1U`7JR5nw@^`35;Vks zIe|y5_iA^cajd*#+RjhMD1TEB%E}_P0C6+*^8>uV z+~2DYwfnMlq8Qf`*Ekjv_P&>(j^^LYyoY=8Ol5H~2CK$dsOhI;QE8E``k+@qbX{1s zEfR)fEXH_rIPd#8cBqN+q?Me*I#|+-WuFPDi+)6$;al?7X_rgZBzae0)+@lx-T5`@iKl|D4{X z)5TnRUZ5Dn_R(oCUZ~hN&_XP*7x!8<8 zFOzYtFpwS<8=F`EZ2el#yro}LfU==JBmZdp zCe%>l;n?r3i`6C&=Wz>trYR$Ks(HP`lq2ml`Y~wh)vBP0%+lzJPLNBF&)3%$P%ho! zY*&g1)_R&KZ2hF#%BDgvYY)ublxZjHYei5tT-GKl-NdMzk0W=p|L^**;tF|x*RUqiOKFtd?{J4K^&!H+g^sz5sj4_ zXBaGSq-_;b*!q%K`2~tSy074}l$UyG0Z+Kt^@m)|HP$=TVuYA6vnD)8;kJ)(6q%bO z_uAw>l&Io}Q|Ee=zAGG`8m>Rsa2O>QylXM& z_2@k#Pu`!(rX*;dNHr?l^>NK#^LuxuLFu3Qb7qe>IBlQPw;V)U z^&7r@|GvohZk>9H4;HaXmuW*PD&EYsruiE057P+@xtG;#Q#R#}E zUEey`qR{`8MEIK#!+GJ9I~6oX#Fy-9A2p#(j4L)3mE__QebgG3)r=jQi02gO%h@4H zTK>auu1@3=O$`1Y*EnK>g*nUH(NoI-ZwQ&QXv0EqC%3~jaE?n)>Zybn-|$D)g!>s& zubC(*gi6xfa`mxE2<-YfDR&JGl~6eL=r-zH)^y^I_gY&3EfuwtzlMoXMb6JE#v&&D zPAYf*Y|F*7-6)+!RY_0P^Sc7%Ehzv--VY~9mv&!~B6u9BKG-+)1WPef>k`*~GnAKh zndMjX#HT#qWuiS$YI#Z{L7aUzu4q<6`DSI#B%>hlxQ5q9rYu@XvJE&)%K;b{UW=@E z6`#7L8CpAdz~iW4W2E!sc`ZdNOJ+eXE~BVHrOI+j{f$;e_Nv2F)pvE6t@p$RuhPsB zvE>wMxXZal#!9Y?EWUc80VSjGJe>gdy0psWY-~PP7%^zg@qN-CE9S*#ja|D|Lbm3+ zuYU~GhW$Rm-&SSL99jNQkSWP;s=ufeZ2jRuAc5L~@q-W1?cWV7nLSSmrnJ;$&pr9z z`10p1L#lyaLZ-iFQbV8PGYJ{&4iqHe=JY?OWJ;G8O3WlqdlT1llbS4AJ^j;C<5s+} zKD!f5k@DQGhI>vN^4Pf67=j6TC&*~T=T+)hG0#YH@`V=W4P(34DOqYFY!dHvwroLCoTS?ls`x8tA=&vy6RR+KOEciYULcMch?E?k-B zPk1d_MpI97`Nd#4PI=SUKai_^)+{fw%Wrd2o+=&~T`B3#uU8<8el%KQ9{j$+Ep~k- zw&Ajf$L`jTj&SkvuzpWkOP#^@`cxMFI-L)K%-<6v$6QSeVl^UPakza;cZipet(r_e zoOsy8ReZ8#T_@W%dP9x+(j8p!nEl%h1qR=k8pBaoEhr_Le-&E&# zRt>{QmDhrhd3JDX8--1YKp)@2nr1kRUX;KcG#Br+^c0XD5 z8Co(EAWG6x4K-2=jTg~Q>$=OAR|3j1`Fb}_lYL}TU zzEs0dNRbrxz@Yco&CLIP&0s{OI%;=rnt_mnq=@ivUguHE4hIP?~??o*!OBVlr=Z#X4yU# z2uKR{X_3w9N{7554a=8~?p->Rb*~{BSoKgN*ux1?uHU`l!`@ESTD<++>E&?0&=Bgp zafw9|k=%3kc0)YCw_XcteFV#r1y)z5imz|7(9)*Y3HM2}ys}QucIUR?m^j8iVtNiq9KVfz`=i#g!?5Ecw zM1G=8&M>SR9IkoF(twQ=dGz?i0Y5k05xGX!E)(o~I%N-JqKp5|CZ3Bi5r%u$v}-lg z(~A(}9UDwMmzQb{B9nawb3LqA&FH?#2i%BU|S851?iBErUzfJ(oKxneU5IJIhgY1}|Bv#$RRNu^7 zMJ=r%3eTS#SKxST7yg(Z?HjloSHU(zglg*X|U?5AFUG zAZF1CYaXiGcd5CGKVnKVWA|a%Ho;2t(59z3+=+CAKbmrWo`k=QvUz%V_>AmnkpX$Z zKB%=H%2>+c_s(1F(x<#15{nJK2QFje=kC<2Z7{mB{tbVyoRrwlmk z{Lk`kJ=+e|AsfCKdyhX7Bg+znmiy!chUguADQtKV$u6eSVqvU1idcp5&C^oD<%sTNsV54$)Rm z6ir17n`PR`!HA)_F|&6xqf*)?IlGl5Ec4!%ap{$xQdGTer}wVq*{2XWbZ+GtuJglA zZdd=VNa`r%*H>^zjuW*Y+< zEyu!n3y5<*U-_(Xg)yVl99GSRsrv0Bg+XiFVxKiLP z^riR(ziuw@vtpT?O~w;f={=<6+PJ)WyCG$4vs&jc`cCEF0VhbeFi-!s3zsvomBqvqwAd2C+-mU)D)Vo+;UCx1wHu18pb*3weReaO9`&C@+VO= z*;?1|WJn5(OvPYVf&n1Y0%vn`zYZk)WkkEoxrf@YBt6L2{rHImw>4|b^_x)Iu?l(q z7u>ybqUlYMriGcgF7GRn=(Ll!o5Sq&8b=uA`Gh+KvqQdkaIgo_wMHxn@ug@rYpRlW zWfXInIqP*0y<2B(>2c-w?SFeJV1J>8_{uu<;}QwG^%+{j$p)_wjgr@#VS8RQ@lPb3 z8in?IKPEY^6E(TW4HACPxe;L1>$iS%{?O&>!^Br~rLl3b>qb4Ueh+#%`kQShs9tWz zmI_YTCbn$KZW0DO^2@qszO<0j-sN*)BI4C{=OFp!@$(#V{o)n2a@2T;Ui-*lM6XEBXqcp>HCSk2E>5zQ`(dobzibYh5|ahh@2jVjXO? z;H|~A>@Y3bdDv}SKF?9((-h=zd?#K|H2qr6VXqHiZ!RvUK6S%YgH!QnAmP0jJ} zo0L=E2)Yw@bY4HfIH}G*;Y9bhU4Js9E<$7~h2fdr_iHXyy^%H5Gs4tGu2O>|{S?$E ze9X_f;t>y)%#J==R3|f#i?O+z&TyzmO@Kg&325@6_IfJg%3mKve}+=@;wUTMJI@EG z=&ANQ&cSLC*C|d*kpd{GsgFG{A8gksL5}AnmHAbI(sfpNOX3MSL&u}^Zgs2~_tgsn zeZfDr0{a`zmb33a%}%BuskrvCTWZI6uKoC2oJ&o=p;lO_(C9@i)2sX6Uxz%D99Qvs zvUTixC@fWLd!M`NV_t}qs1of?jq=su2RGKG!k48N(wJVEeN{mCPF&w81p|chU98{E z=Y+^|V)TeV?96HHek1+yWl|F$eAgLHKb|7fEuVDqBe?k(XO7Y&c(U9b9R3v09AsMH zk@*Y{mz4f)MwLz@C&BF_6*m5NgM`kNXtOW8YE`-w=U-$+6AR#Lt_jgS@7a%Nf0_>J z)m#k<>uc36wQ5Guxjp;`O!79%1E2h!yqxg(F8fF&!)e9ghkZoet6R=LLK0artf2pu zqMwuwKezX`qSoSr^DC)`Z+M=IRU)Oj!f9pev$$7*7Ho@6amn-VzJ-Bw3%T> zcd_h&9MR$;Cbc^IC3|VXZOFpn|FL7XhrhnX#8ox$j~G4=Gm}1_LywsYx^9NkQg0cl zr&JllBuTt*v5hpsm*>(jssb4?XoF9Yytt-9Jzy?>6d;+jmrcz=%!{RY?tRfaCJbhr z7V=rjP3{7*-X<#Fy4pT#n*Yt5%t`~hY zoswU|(VzVDN4eD;@W~$S!I-_=>UHM{ME70()Lb5_@14(0@YnD~?n7vX!5`hN5z|9l zyIb|eo2qOG0KyEv(a4sDHRGw%?CoFihkYAB8N4!|?5y{#)IxI)q}AmzDV-<0u3>L@ z!LRrD@$BwJYraZXh4+JecuixjR5IahO$R$5YM5gnc%|v)luQUJ_a=uSZ*e_IQ+=j- zt*YxJKM5R-jkD}Q30eXC?cS%b-64rB92|KV$omsxA~8Kn!4buxV22n%GZ~&Y<_)Uz zzxoFEZy4bh%oSHAEZ2Llq{#Fzg-~7~yB$xvonT$HBxFgeevQcVIz|H7Y>0+UO!iZ3 z`FQTeF)*~S?vB4^O!g48GIl^^e7+1*RY*Eh*0Lo#p|4RVi1DJsAHcC>4HOio5Rq5U z*-_L7?(Z%C^h-TTV&tSm5qNe1^_$q6&l@gNTmAdb;IB9#Bux&JpY}?)NKpA$r%mx}WBI zogDcBPY!?Xt}er?(A|K%-#M&Xi>W?McVd{Ng0b_YF1bve-h)|t6$pce!Nao~af6oG zM>Gfeg|$HAtOS>Pj-ijZB%LSP*IXFkx95WKLx*kWO)#KSCXc=VBxNVq4+3;Rp&7-U z6TXMo(Z%Xm3x2Ej^mGQd$_l_us-W&2v4WX4Vzz`gMfJpG((ByWu4Yh2Ut2kZ0rnWO za}TUOhOc)3Ek%}96=az8jRAY5qb!#OhHTbA&nW1rF}@`*Z=8AodCuNk^D?n1Y&s%n zN4~TVcZ>QJHS<5DF)W8vP zt?rB9FUREp&IPjbuIe=qf@612flpmeVA>_97RHIU;wTVtD*hBmq6^5UsvVXh4}ljL zwE@njM%cVikIf^haU)R;P_#OT@H5b zvo+pzl1X66DeQ|xIBC-qJIu^MN_AY^FZS#tRqhl`?*+f&kSDe!KS~k0sMiz1c-Q#^ z`?`C43s2n_5F6hoMkx%hqe#?Vf^6v9HO^lmLF8u$HfK$gYU97i9rw-T z1NyzkQiU#9rG^r|9Z{?SI79{CcLR0Gffi8>ugimu0?Nyj3~7`8{T@{F{@^drbF3k` zg*B1G*Vwg(JBJyc%oXdHBp8pr%})8w50be8z*9ueyJ}H(dO?8NjYjH`-Qw$AmZ(Ba zh=j9wp0vvU_I);1EI-PUT4k;J-)wY^VGn5>j+%fa1+NRMmWJ*MgQsR z1QR>3I(Xv-PY1-C&Wr+=?XgM|aXI^V)y<)AurekUu_!oMGD}yAx`akUM`5CB4W_~c zw_kX>Z%j7!>TR$c0t`t=dRU>g8N0x6b4`m}+ms;ymxb4{nFHIr#wRpKC|4cK)wx=o~b50pY%x4w9sEE6nb znMj^*;hK|dS0l2%ubxQa;xJocO z?(<3kP87h%abn_wjoIy8^T`%$(Yl80(^a~zV7X?bP{o|2zJ-uVsdojT$xa8u^iFv?XRAMUPjQU2_Gii{|gJ*{<1m5&xEFZ<>8+rjMbz zo^f;Nehy0JnNSX8#uM9|+YvD*Ht?7jJ?Zq>Bynz>Od-_jnE)&BX4st!Z`&CAE=>s2 z2Bn&V5;W^jeNCf{%W<+A zl-W;fg=@+xZo)zt_HKaEe_$hzXvEuR3(AAbZ~z55fip{U3Swrh9}%*?rrOk!1Z0Q$ z71+e9CleD_ftnaBNr-1SGRI|G?Cni+gCl^}DW3NRw;5JtrOLsp-v_{5Bh$p3n3|ja zs=cpelE9299??Vad$yF&P)#Yclr6jeq>{LPx|sg)tc(ylul;>pAS*0Q-}q8iNo?^( z;w|@|2bMMzDhk@Q=ywu~eQDSa!`o>jPUbjF^b{QI1Bfgy{s-~$W0pnt`GiN_qL01P zTvD!^sTTE!ptcA@5wo2&xb2Pzu~Zn?4NbpbRrTzwPl)Dd{=8w@mpUnZ1P86nIT{8l?&Q)3KVxsVh<(Vaco%m|(S1w(L=$3q8-w3F_OZZ;NBVW@)1Z|L527{$X?cHj6IvK#|cvH{M528<5O1WW@7dEHd{ljKfe5!jI{ zVVe?K5eCs=lGgnITCyVrV5)}VNJJp^DX7l_Gb=6m2f)y2+C)51+4hm|{FWsbryPI) zf;8{v30mDDL+Um$nvtt+e>zn0)L>54_jfY=Y)hM7iocGqA4v#W{svA2g;P0}bQjeA z$Z^aJ%h5vm9`4p~p_=TUo0CiOrgWrzz+UZ7t(pwCDwkIko9GRnS2ymK_M_4Er4VYq zPO#7tLYscRhB$9yE?bC^hilYgHC{{D7$(olqAVbya7$&_!5pL7>^) zX2+XZIM8+$h=n+@+l9YvDBZ!cLElb=h4L7#@on_4g6ogyL{V!B!`>NlSy?AHF7VWz z%$jTDcbp@re!sG&lm4mE@6a>BLV1Ll^$>nrD_JqzE&kSApc@nJNBw^D@rQa?Q``$y z-m~l6E}lS4nY2i}_yvi9N3~~z%ENnS1`Dr#4t>v1a(vu7{d5-Jnn8g9LVol)jMt6{ z3iZJuVe#d^Hs6ux%cpl*A|k$KV`Tt882fHLt*EiAcE#ZKfHy8W$OFD4^H zAF-`RQfX?7l&k*k>fwZwmAoEDE&=)xCr2Rli-yTYAD>I-m?RLo_6TA7%8sa&%qV}W z#c$mL-13gAIvf`UrhqqTW6?OgvJdQ;RfAVkrM>Z?&zNJ;=>r{SnLU_nb6l}vQsMgp z7-6-Q3MX&ANgvL77ybA0q;j7QPCfC@=`+PN5+65xbZ2hqJRGxGyh+Ai|GFt!BfSW% zwiL@hdBLf<*muRpH8Nwu;0Ft0QmTi!>72YrqIUOIM-9BKGGVe#@J&Q2X)2s}ZyE}t zo{bzMZ(|nSyf*Aq^N+8fCm{yTN#*>CbdS|o?9$UY>nO!a+y1HdGRY0;wTFV*2HmsaW8s#6Lsk&C(6oZ&4F>G}m>5V(t+HjG zS7(0gNU1!>{jw*olY4_!9Tr0P=ysXPg1>Q$J=#QXB|`3}#3j}6bLW2|_E6jyI}R}; z57pIe@1*J@SA;uT0_#s92T+OoY$EYjk%o(vm%29*Qw%;!A}~;E@#oaZAnPWTN3BX< zv>e#6>(pD+<|z5ttCiLE{DIl%lNJuO6ky=BPu16hGtdQfjpZ+eS!1lZpWm0R3g`)0 zzBSZpPNxj%Qtfd{t5B^O{`zfDP6+G&S|DLn4*w|}o?)wrpEABI8*4&DI*T^H@e;g% zT283m09k}+T#u2)q<$&(``58gS0>{Bp4RoY>4lj5Geso&wfR#-_)c3fzs2A{Qv^BJ z`6rP0N+GxW_hF^SNRCF@#2+p1|GJTuGC+$evMZ+*Jit=^{hqk^FW|9OB1ZE)5OwsG z6`et9bHD@J_W&CoGZRL#S?7R98+UAQ#8D*9iGnh7Ue1;47@^LyZ?ZVoM-b$(7v z{@>gBT+9bzHnh4vpQk(4T28n5`z}Cj^O`;Vd1EKD%g1*#e=_z( zVBZASfHWZ_+F1Hs?DzlrE&gva_|wc&LoatD2x13bs>@nb+vQZ-)>&-n&N2#$lwCqYvcLY&oe3TqQ(>eBW;^x2J9&UMDXI*?axd1&Lv9!6tFjGan)B-%0(2>3`wkJQ$+Y{(O{4^LL|yGA9@wI4gf` zsuyAs^u^w~c^I^)mPpCRGKs?^Q7{;N_I=P%H9^3dH${e--$#YcDN zmY*Y~1i(#9DIQ<{Zk^gtBx}kkZ~o_7#4v-OomUI-jb-d}!sJov7ldb{x!6|$d%z+gobXxzY8UJ>eUZDz;pvXVzpxg2?%~>%nNI^ew!AU}m z=H$tQ+?|KGTk}_TJmn7INvnqHs)8yg@4r_^EZ}lqhBN^pU&7bAp)QL_9RoKgspp!-j((2}w0}!aLL=sE_#yb9o>u#>aPyxQ_|0?p zL1g;(!2I~+ulBDZzY=JXep*8p=Y%-iDnb`27DXfg{w`yP5w}s6hV6eYQ|c!2jCGxJ zok_kK1FllYgLRB^z1Z6waR)zh4*xtZV&#~1tp5%Z-cJHHI0{j$A!>+QZoA#2dS3rN zcYi(!Bx%o~mp)DZ?;2@m?d!(1GcN+pZ8f|#ZH?K3Y;_&RzCKJnSOUs*NHmUvpt`_6 zOa0_GF+GcsP&!^j|JeWY(4g@V=y%3od^cu_s_2X#Rsk*`#UHoqmUY{ zV**L}Rzq2pNlgNM&I$2mTplic?*^}?gO@i$`>X*;Jcq6}ZL%(n^S%9SgtWgqVzpS- z&2O)V2vX*JLXKhUh!Fh6l4vWJtvaWb@RakmnkgJ3%%zv*i>Wr=Vp3c!Qm#_gH}q%_(~uGmE$AD za_`osVCK|ggYdF2<45{L-|B~VkbEG{qISl{VKX>$C8KV;dVs}u1po>Krj)dVUM4JJ z7qg3>)5&(&86o;Bu*i!uG-w61rY7kPbF*SRH-j#+O4z9s&*70QV#5>X1h$G*R%Ju4 zZJ0|n;i=ZgzPUf?)A%lD^wHgBHL<@12&^17nMp)S0uSet4sIdD3{>aji18Qpp|Nct zn#%B*LLprLHwgVYX~obJ`U&APfiDLNAJltsz2RQcnO1zfnO;iN11hQKQ{oj#v{HVZ7bl`SxWi)QYdFJ;B$Irhscovc1& z0iMR@{`egB!G;&gMDP@|7Y~#bv$Yp*71$s`B?#UcLAvDyL}Ul~2Glp4R?vuZS~cQc z0>7~ddC9xE+XS~}f9>RZo=hAoG|{lw#;&~2nH~Ts5&04V*{*?X!70CHD=-nvD10P5 zLCR(aV&<>3BpIM!aBZ7|q@gNKB zEU=PnK#u8vF0Ti#mNE5di{i+lDAt{p5G)$oWSFEs4tTH(ul^-48YPHNGK`VOYm=}E z(tj)`z#6NoL6_Csjv3ToJ4hJdNSXrH|H(`!@+8~pG#Y5yEuV+kIRYx6*n9ly*AG@X z9xWcK?{I+6fV7f*4>TlI2mrhawtgp5HyXL^Hs>v{+#>JXf=a6rstCVr`6P)YR;rjn zZyiRo2wY&ViL)0iCj&z+xA%K+E+b3nBmnDZf72QOAp2moyLdaz^*mOWeosI&y1CGE z;o0!pqwrvT2eTQxa(8hTFlU@$ir~*CLMBmN8ZKJ0{#&HS*9fmM-VhGiI=YMRA z&cE5i38@`2F8QN9uEs`@ZGgK*(iCqM{lM*m`K#wa*8^PtpqYX-vJThHB5O6(UAQh+ z7GgeecJd)eat*;Ext3cw1!t4?L9K9b%?2a|S%yA!x>+;k5ANYr7@oC~$ipkd7_+(}Psx2O~D*8c-#qfAo ziJkom`OMF(856TGfCA-I*Bvefmm{_l4qL;DM1$b4V-KgaF(^Otx(@L3zNq{oq5kJ= zc`oLJ0YDMDuhb|k4LQlb5}V56*|D&iD=gYJKdH*abVeb`VQ}ro5KeZo=8sC)WZ2NZ zo?zW;_2{ZCx{mg_M}YcJ_zY?0eZHbJDw(81&&O7vZ}1+_k*Ddsr8;^FaUzYOGRHOP z!wN62v!neD3X{lDu7xj+z2#Y+{zPnd;4~uA?M8;n3<^O$6Gl1D3h%ZxRYS{U4Jy#a zrY{^8KBc9VsY3v2HXCKPw8~O*3`!Ki7Q>d#lS z?v5S18y&N|LUzpX)o%FeLga2wK{05K`cJ?z1OsLwum<)uc~(n5_3z;?LCZW&+s*CR zQ25T{WQb|sv3^Ed$4gIT&{pfmuPk3wCOw?3x#++9V!{)3v}qek_Z2T5fx-!X-&H`l>-c+R3ZXKI;jE!laz!)Rx5?4jCyUprL$ zu~z#SJXSI(X!_!?SDNN5hh18Y)EAc>`x}ac%X)WZw}6SVP{SiE(_h_pck73>VC1pK z*;%7{P4j@`LM*|#-CvEjM}ZKf{PP_-T^>C?4a7KMEr$xPMzVuHSQ43MlGVByWz&C=0Rk71tWoVDf8TWB22kko&Cf4 zksa&r-qH=k7p_l3mv>7BpJPoH^T7bRlX3sl>opd1o1q}h;k^&u&4#e9!pF)wy zKt1q1m{hEwI}}TF)~t~_c^_NkV{Qs6_kQb+eA~yW3kv{V-oQ~5Ho1;DEnE|MJiuRE zG66~x;g;r~NkkV}_RFqbH={Bxh&WYukG1f7+g^3ZyXVJsI!}5kQ02Gy4QVgtcGC`d zkJf+kJs_qeQZsds%1Fio%;W!7_Air9{Y2e7gV6JaLmPgZ>FRV8tFSB?c}rN6<{sND z_r>-@kF#)0$Er2p{mmDLB=Sei`m9myATF-s$*=;?I|!fU*&UR;-YF{ppKOCu&o|B8 zIpUpj%{lsT|6Ej}-7j#;CxJ}P1wqkiMhCS5#6NGVA2Cs&jmk-PmtL|O8Gj;LVXp6q z0<6kwxj#!z`8BWY>%FV1PVilqv7_V|EAX#v#?F>e$5zcL*xy+sb+Gr5)IUo&NCxsL`SEm2s+-tZsg) zG}=gp&%gAbagAW7!+`f~UXszwFXeldpUSEdCgNTeP`&O&_~oMK?b%#B zgJ-m3G@`UZ72V?09lQTEUjx^Xe5f5er&S@x%EYW*L(@GxJ4^XK&gbGsO66c&jyWeF zQo9)tx^9K}{+9t0uEaB;-}+fPa_rf+J{*)SI8wxA3=Ieuc_-O7IzEA-OmIDr^=R?o zR^EFF>4$~OxkJ5aog5e;vd9 z@0`=Gu!*22WiL-)rzURKYz86e~DeC@_kN%V#Ym@Pqb_5@!_OqSNE>)f4_Vw;-PV_la``e$#Q7# z3x{)(rE`ntH-)R}uv1;<9t zz=P0TlJ!awrJL83Hjk0&cd)+lpzO6fV$a&V^8xzK?;Exu`#9XRvO`kj+qq9+_4(@` ze<5nrbQ-==rMEMPjEaZBK1&h6-1~BspR~-Qy4v4AztvYE1AFcgL(vXB;&F{5%;Xma z`#_y=1{TZ9i=rMiv`(28BArpm>UrUpM23+nukT=n)lESam3{m&%rpMei)RfJO2mn5 z6H&eyF`Q+Cj1EQ(gx~me>ChcB<<;>>f7Gk=n#yCo_ceOZZf^!3D~%U}1>34;pgEN1 zcc)d@<;UM>m!YC^n3sKSW$_?K4wvL%H0DQ~H3Fv|a{Qqqw__vmM%DwcT%=qxMB15c zO<6t&nY!Fi{H&69QF%T&ug^5+EUGN<#9rs$bH7KX!L#oXasHR4b7DZvpjn)aQo`TK z%xm?48IaniroFW>;i0y`y@;fiu;vA<&VngcV3scTUgqqa<-Bb_ek?r*{N<6ktm%NM z%lftHENvgZ+rn~X)vs;h8(PmbwI9E5cW_sul_9uX8GmH_s{P<@^HOt}^CnSQtpTqk zkSV?ju7~mGM1^T8`_JgTjZFmKPtGKj#|Kv+H^j_g@Wxh?Ix#D z{OR3&z-Ja}I9^?*-O4^f+RZ^{a4)z#$K~9bccF8Nv(?_i`?HNmZeB@YiIG)(%eL%R z=IEEkil!Gg!6qllVM`yuF%+kXdYvW6&OZ{a{c4F#5TzaDtRA6B{=K1c%bxSHRtV)a z#!9`4lp{7T!T^4gZxmMDnWMXRZ%!OUBbiTnT9b>y1a`K=u>r9Mn5JExha(g4n+_(? zNk)1WoO!%SvzhEhTjBriC3XqHY0*Hgg@y0!2QqK$5xUw)Hen~^`~CqYPyQ4lg5uBZ zf)+|oknAzJZdmhR6(^@e4Q>9&W{#Y$4ENL`4E3VqF#`SGXwe&fx`am}$Mb?oxouPJ7rTr{(Hq5E#Ak!lMqZV*BSFN;nz+?5 zntBPT_+4gAj4@Rn1zX0P!mj$Zt7KdH20}Sy1^C7WcTr(h-glcAoba)4Cku+^*yAIX zb}WZ2+7}xcyT1qf3EB3@jyo4sfVV|^>zWSYD9Vj-YGS6P^-A&!b1Ic*L8K(bTdn#0 z1AFp%IKug-2uR#70TM!f{o^+QYb`y`V+0aXZsX?i-Ae2VbGRRMhbM>9xzlTeG$*of zOV9jm7KTo~vSoy<;A&h!358Voq=uinO-!Wq!jgPN1v9_ikGhOYG-MoCK8p;{*be&$#=2k27U-N`LC0IdzB^ z&vR*L4-ES`S!B@T(mtYFy>aROJyg;zK+_f6TR|!s@*5#t*Vnqn2_;Pb@7;pWzspZ5 zIh-}>IOB|2@x7h$rd%ZMJ(kmh85?(OTLVa@-cHXYtdoo5Lb|VB9ftt!FU{^T+1t0TDc(|!PrvyJcu}9l zc^*fVJ4S}H&fTeefLa%rg4U(mY}tXO(W_=~A-7P6yYS}Xsm3^A+xRMECbW%O_P^7GqHx7gHGi zKXh+~iEW~jXP%dPU!cvD$L!X{Jp$KmD(Mk~RdYmldj2Za(tX`cy=N1)q;mt6zdX}Q z{>3K$K>c8RcF#niqXVB@XnT zT9FU>g|;0ke@Kt#)a;kNmxwMz3$gJNkuHxrDxe?0yj$+do7#&+ZTaL97jx8xbQBLI zT}QxNB(t4uJdk~2F{z>H5;LYZMtZbe68C<9^ml#nOMqCF6jtDu)%P0qyqW;uK3#bomLaOc%I;A2_?UN$&s@v3uM{ec#27J> z6HaB6Q)11HJu`mtak)E3&G{c7^8}TC!-voU6x5bphzS!vv}*&d9(P4yqXg~pB4Azu zXuEqTmM5#h)5mtzNc}BeVICEi2cS!%Y(6Q$XaZnktPI$B`j;7%pP!-?3Vs4STxQx) zFg{j3HEsRkkhBYdtB;o-{I&y>Z#QfLa}>;FiE~{-m@e!Wy3&%R1hFaI~qrmy#kGN`Z_er z=Y>PTmi?yazR%eUb{;%mGy?Jy6RC5&3+v*Zi!s2wP+Ep-&Wb_e_gH{kqAT%!LdouQ zSoN!&Zx1HC&(#H|G=`8dF{62Ydb^U#R$>@%5$IBFMl=!xIqE#>NFvIb);X;_nC&?r z=xyw7k+Eu{-&#Y$CXaVqp&3W5Afbogsf(BjaXwaMI%s2fG_7si{|)fF@e}FQl2kQY zqBji44Z^-B^Fqvx1PzmlF(em;^dj4h4be~w!Xwk{`z0mLS|dE3@sm!*z;JPdIOABK zd*qGzKjN<$diUeKnkOb=y94HNxGEiG1al7TjbvQ_k{Hfrg@_6q< z=oB51WUjZCO{4foXn`^p1#Wv1CE{Ddlb)$eIe(a%!}bQR1Lkvc2_W=_Q#-)7+21-`xpe1;n~lMMp0L5^DsL|v>7|yY^msh!!4dm?QS)o zon!6V{|1zNA<8{q=>{0Y+td6O_-&b?#>Gd0)%gp0k?U;tm(^3)Hw`&Z2CsnvLo{cpKM@Qxkj-?vGc*^{612YQyX(Q#`i{!9CPDN9>x~ zddRc^FrnAZ3s&Hs-HePaBw2%B`}l4*VSbM8=#{Lw9D?9ai-dE4DWcf6RP1zU3)aH? zek`KdoIDDTvU#5|2Re9sp_6kz;Vb=_3P#I4Q}MxGr~jj$hl*OS6XT6l;5*&FCkTwo zHl_oM)N!{y2;Ydtp0fq@^SdiFos&SX)QCBYy9t<-TFlu9l^P9>r-!?_S8$>?5OJ}( z8LIY2{~Ba0vCr&egy&uJxdi7=RKcCp^B8RH zg#wc7tQ=uH4eX}bEMjd~YxVDlbRX!`>V>3^UJ`M4;gey@`(MZUCHfR3)@!C0L*52s zA3r8f*f-dptQ4Qyy$xb2qdOE(41W0?pPoJ`E{U$64u z+=QOi8hZH)BBD@}tnwH-uT8?3@x0Y0^b@(l*en&07BKYEj#8-3EMbwPzKFM*`}Rhy z-2Dw{-MiFSu_F4fZ>+uL!S*T7MT)c|5&+t{gyT zld!=S23Gm_Ntkh6x?$2CU-i}C{}%v^ZK*WHkfiRpAxXtiNl1284C@#CYsl8S2hb;G z*CyC?ck916hACPF=+ZJCn!T*d!{W$H&Lsxa^8Itt|5M{4&p&X)&a+dXA9@9+k%1X= zDmmtLnMa&#Ch~@$e!h@Lg$)Tw!F@cK%is^^22)60U$yYv%RmF85b)?>0miNc8&BXd zP@(zQMe;NPWr_z%(N9b2uLGmRBC@wX$>Cof#Ge;Vb;Ll{jt$eule>QKJiQ@cqGe@)g%!TIAX8uda@i=R=C43!bNPK4=DPXg5JMfO&)X|I+&J2}aj< z^gTssvbOVj=N5 zqHML@ycVW3cj8i4(0JAw0GqIkfE^!vAvSs67ZVQsZlDJkMH*@(16Dc(L3*&IU14(9 z&@cr-q~{M|_-2pfbkApj-R7T3&*KLJAqe$9VVWn@{)>t<*{WFNTS1f^S z7S{0a+rocZk)(NI*v>FHz$z#8{SA~}45lW;X3~q92=bTC?g6K|3b7$X%jhtcynvy& zsC74%U`= zST+?{iJq!UlMxyrtSS2IjQn?X;NLwp<_*-p)DWC~f}ir!Ph}R|Kk@ik&5Mm^+q_|Q z+zAXt80?W&yPMnOU7&&h-M-zpP>rO(WBr%gfdw@MWm7SI3^mTe`qj8xwZu2dA)T%K zZlYZdC`1I;H3eF>x#%N#T(UfZN`M5B9R2|Yr76yqKzw){u?y}QueNayYHTd!fxE=8 z0zu^ijG>xab9G>_Ot=8XrDnFHgROG;&#WS(2WTO(Ot$eR5~JrWa}$KEmGA>gAJTMQ zH~;dc#w97PB4<-*sl`BFFuQOc|Hb7H7taBEbK6eN>ejBJ68kDpFS8n#R{d0rOj_UQ zkb6B^L{Y_cgc<8D~WcP z7Ud5*5-+^nS-}KGR?R3peNiyg{%ltl#pia%?>{V=e+p1jXN&~Sb}EU`hqnStb){o~ z4R&*%;sf#5SF|@EgLi@KlQoR=&ky9HBi;P6+#ux3=c5HmzSf|{HOr=;ish0W(5MAi z=4RtH_nGt5JLl$O{MTNvreJHdqYJj0F?NvYGZb3k)qv#Rz64{(pl#g7hdseNE8t)o zVKhf(vKAqI31>u4CU)f!R*=OJ$IQJ0Fc-D`{cEq@rxY3MB6gdu0nF~&1!8SYE+AVt zap#ne?3ncfvGogKAP6LDR>4rOnrox^w?GunbXtSQBR1Z%I!g!eyBoH!Ps>gmXl~0riDys*&y7 z8eZg2LO1}PR$Nj4Uw`p$qhU&dp{4%AW6`rf>ux%Qyi zDdFroCi?Z~&Nxxr8zi~@hB48%6oKTD#?WIBJ7yx@>sqoLv_If6^wH68P;e`-!-(#1 zrc4<{*Ax>8;~J*7!mi|p2fan<9VHr?j8AUdVX%_2gymbH_|%fqiU&hTPq4ouXg z{h9>p_h2l)T+Y)70V|Yh4}ps%XP_f@lkL%?Y^;e7zWN5@IiG9$Z($ZzWi=y=G1uyv zk=TNe9gB=kh$W#6oF~g~OrPKo_i4RJK5Lfd!7uB*9oTwsGQY~u%Z-MMnV(dosV&mg zJUt?4dMYIPNFr=#t2Bt2xq?aykw%#20R%d39j)?yzCr%^>)o(Rw?>gd z-ea>JL&|&5BermTLw0N1+Pew+f)q3Nx6|I9p4DZX3f1_USKdoasHJz!x1Y=6?I8JjWTz z)|@xyb1C!-?*#lA`Q?!AV3=)Uf(~PnJ+O#Hpm}tq5Zu>O=%B<43U7d)Xx7 zeoimw0-XhXMJ+^KA2mKSV|JryC%E|h#`XZGmD5j|y`)!S*VhFu?wg06m=)I5ZC(g{ zU~|OcMsck%eJt98{8E=`^b9&CzwiS!zUPQX|Hssows$r0scc-D!_{M`s>Sri2S1V7 zRLl{Snl#aKY^0mzp>x+fdK5MeL;6RRioSzXX$D&fjp`^IzCrhqysnQ}bja-OY*MVw zu0x7e+3L@-g7IWoo+n-rBzKvO%YSrgnV3CbTaS>Sb?V7X&3u|r1C#YNkn!1hsOpW7 z#eTTeb?ZX~VT6TXtjRQSTs74|rAI}Zt?0*okHj>^D}VT=|F#8U$2f>*lQl4_@a!$G zU5!Dii>F9mkZ6}xOO|XEV%Etn$Ha5v3L2khQxE7GykwtHMsiwlhBA20{U2g{_wdHd zhtV$$$AXJ4ICH;lZ2jTH9W^pI(tQ#_;s#51cOZ&P&8^rY0otI7wA!MzdlfH{S$On`muk#=9fV z=mbms;HP7^-%36^cQsxPgLhPe1B^KEt(iiBgnHk)GN|Cp&=2_2&9o$akS*SVAicS zND=2}@6R(q+Jf1jej(5{O2EC`daP*;@#}LCA|&6XxbF~wMWAtHsb;6x#qJiVPsV{B zq60c61D3m&j!tgoiaKeAk=nLg@4-brb2aR)gDnzWmeq12j8*q=1_!q0C7T~4ZT_Dw z1ka|~xgo1KwKnpfs)TAi$4Fvqe{u0!q95i~Q#I$P5(goG0>_yv?ZZ%0xL z=@-@k^=cP_*3oQbl%QafkkB5TaKNADqUzK81i1- zytcCat7p4^OXI74z4KHg9JgE0UpesFO#xt0o`W(vU8(By8|_Fa(;ld-0I*6U>~G9yX`3B3HiUaVcv z9bC2@L^1??1?Eyd+jXXpUYQAuN!*pKeQ3Coxkkbw-!Atyspt@gHOjuxbt|@q!3tf} zbJh9`B0m;bJASn=w{(Bxvhh|jX~(tv%SyZUA(X5$58m8jiQvt1;aIs$Fp;KuU8B+w z5n$i0iatbgFqiB&FS?0pGhEHLTf0{GnbXWC>A~+Nva*>&?e1$=nXJ_AG$@TG%_Lm{ zO&ucV%}c)y6rTS~5mN05H^$F-_nJbuPp7Nl>s}SJud0~TNn%6fv$R94xE^tEs#*j% zX5++8t?<6L8KJvc*j{E910*rR`e+9GnH%?0TI{d8OVOMZJ!n3D6{I?r$1<#e|84nMvs9SzcCI+tgt`t&ZMs-YQgV;B~_?#`D(e0l%R82 z??Gk?iijnnrQZ$eVHp*HP-W*WuN%wz&X>TpXya2TU+If=v<<|m0EAez!7%W6P`C1Ts?{#g8=>~4_l6!!Hp6pySt=tn~3RDj(Kg!C} zJy+|nFw2FH}A3fxFmw9?WqR9ev6z@Y~A@xGc6a$r% ze|(rNs+CGFz^1n4o3!9wJd(JLrswuzmv_(hM>rs+8S}&JM(Oo0i6&oW-|uRb?Fqla z@Sn1E(FSv0PhiTIgvLH47h1fj>b@VBY4eKSg=1f*@)AvJ_^4{)uEmR!RnBIWb{%}` zihacy{0#82cz%`JDyhg8O6|WOVLjW5OX9u7!OZrdw$)4-H$5lEk2pN>dft_d<=`SB zNdj5@=mvR=mnqmKY6r5kx5ecT(>kUIlGE;#%2un@(PSvHd8wpE)t6r<$k8GvCM~y- zDpaI$HJys0kwjnfVp>SqR@~2_(Gkv`i>*Z;;I3vTM~dnyKeSiWw(zkP%8j{&uaocC zOSBpo%J99xb-HRxW9&uP`jfe_OG~l#Vd8?Jk+0manj96Rm2T3ByM0N^n3H+Llx*bD zqWlny{Wd~1B)|Tb(u07!lrldf=Bz=5?&vXVCUgA%+PdnvsJ3t`-Jnv^jdV&QsURh# zFffw4kJvN+X?;L&%`0ppr_3W6(P(2hp`3@Z=TFR9PF3EV{=G#>fT224%7*B+n&*)U+rVV-hS(bV_i zNR9wY7OjWU0x454HBP6u;UIPS4$aN;I&NUHj|3^*!mAVL9-X|)Ljv?fZ*ebVNCM9= znyF*X*BD**)cr1(b4qeovbumI(9$+b^LOs4)2P`fs2J_&+HDa8<8ipP^lU}FLK-CGGx0HMS(hn|n_RP+5l$}QI7{Bw6yO^U;0wotN+b$^n0_dM-&Wz{Etk)_af=aO`wDc z_J)+ya&5*#zw6hp3mge5hdI+>F()7qwg+&PKmo9AFNESJu(Pf_Xnlo$Y6Jg{6W6r{ z2~tzlf|Sx-Ix_aR9LRJGtYXCQtSO6`CkX=WaPUb9h380w zYONm)F2|k%h94>k5&;C7VjWsG0ZYAf6!5{@WQR&kck}GPz73 zT61>u3F!a$fGy&~7=j{GN?Bsa{Cf{1nSeZGO6**VbiVqo2m%r8-dxg4yWB=)Bl0Zrp|5e$Iwb5h>;AeCj*Gk|urZ-8g_RkdaA9cyg9J&s=oHdRy5h+WmaEs~=&c-SQB?X*m!3B}WBT{lEq>A)rVeaPF1k zqAGfjiF|v&6JQ2HRHeXhst2!u55es1Jgl=s6e(mo}L1bzXBPf^gGB6#Tg(< zq(fP5Ff(+)W^v8LGTeR|M$xwcu`^Xyr*eyYZCRs`y(^XBmCZlfv{PV0* z_0HpJbC74ubh2o--Z?JT+m1a5Pln0zn`b$QvT@!6XFy#3Enqn|Y5{r?%A?`|>6GusNou|v&%u)`WRz*~!sD)^Lfz0s* zylFE5u%Mh-4ByB5pUZ5NWz-m9fFVwRA`b;QP{nqcPXItj*wX|6wCsDSC~P}G<)%m{ z-Y0{)WE=z>X7rG7I;W7lGEt77AnCk)#0bK~nE`;_GGicuIR~O4viJ6h^3 zUc@UYt&DmOps$yB1N*Xemz&1fL%e}*(Nf5$7PFW#gRUAlz5}GDZeXug(TYo{YSdYPlPfCQ}p@Gj60|C&5}4X{^L7O;Xf2<}}fPw|pl$ce3T zWvnh9;&;S>%#ObeXNzYS_oiYB-W>>4mcAc(1LhO`tG4LH+O0?TD>ExQhTVo%WYZs1 zzorzStFum%{5M4+I^g+whv=Eq{rIEX0Gp~S_m_HOxmkDNxj zt2y5gVjxi)NX27sfU4m_&T(OTvB!Q1VI+~61t*_ULw$PwFTjLEqP77E48B7?F>Ce% ze2@c1U~D${Ux5lqiKbo<5aH`U*`V1nop!qETT<8&Kr1M;EY(NlUW>~+ZxDX8)f#RV zTlv36Mc2G@ZpZ?3GPKhxQz2jsBqm8^%xPi*=qHLuLBGQ`+`Pp4Tp&P3@mVk(S06Qj zMeBjxrZUPJ3l+lfgdgTYiBC&&%{-%wz8j<<9s!N^(~}n-qn0NZn%hEbUvgJ zPCm=g$}9DN?+D5Acvw_OoXM#C(uKS}9%OUB8$+L%Wq}Y-MERC4wpMAr4~2s6?>upP z!Lc4^Z87ArUE-8B%yGN){xSb9`7}Em933jg?S)gX#8k%2Kyjx@EpNcrcLjNdvTfN_ zQ8h^^>@ftC6z4{(?X%q{w{cosym?z6OI?2DNGI!gJ0m2GfX--KTNeFeI!c&1QMCgw zI%dY8d|FiPJaK&Ij&jj+Z<;h3b)McebfB8$VSCNTUM#==@VeIBm)D!LyD#?B?uq9! zs+%xJ@peP`o{;w%N*oY4uo(34xp1M6U7zsHFI?3tA_LY0*CCru>)wuNi+WF9Y2Mtb zQumS-Z-kyshK%sn#w>?&)&dWrPATD;T0J&qrugWJ?3~yGl9U0~as8ne4_~|v_?*bc z!68vgd*R~r7g?<_old5LrAp+jZBo`4X`z+xw(N^Pj}HrSxJQAVP-Z3tYm}|l;hUMK za1`P4jcX~-LJ#R3&kav^YK`4}UrzsZZ>F*q1Hr-~=Q{>j1Jm%+x1%|ElJM6a>J!jN zHRUqJ>6TxreGGOT6PS4h4Rpa<&)X<^iC4E5Ry!V1hL-9)yAygT7O5e#IiMjY%xO;9 zh|@`FX68?#OAm9PX859ZaToAoQr;fuFCLlD=k>NOlFF9EN|Tu_$h+4pq~ zC>sT#yLW-8&dpu=6M(a*UR0QSIMcb3nDY_W+T5k`u{2rV*FiQi(zAD4%B#6J#xB&U znAM2T3?~B%5WAGpJQzbxu{d$pU>V4MzLs&>4?i>n?r7cZ3P2z{RiZYuo8aa79uX<+@K#Lsq>B^+8cA5>Ecq;O|B7qguaGGVlq5U&2zLhX`h6OB;#vQ zX%+L<)<&c-$V4#|gtih5L>RQa&=H^1EKrs=e?K){p7>7fTIl{YUl|}@r)@fc)ytb% zGoWj1bJ53zRSt3jk$K9dV}7QF`}!0af}LSvmC0)6sNLg~H36@w`kD<3Ee^}Jj}yjG zNlAxizp+_nvwXc%8E4S86YNc|=rZF)Rc_JXE%+37p?#w1k?|s0N|fUyl1O0nICOVa z-L(2T9mx4>zN>&A1!3t^G6cgaiqS8xg9G04g*|{zyFy45ay`L?ZOUR5Fbny8otXo6 z^`-2(V^#DM0xBsc+@dbK&y(M8hnGCXX)TO`fO>6 zD@FUmJeW*m=Lg_E6+91Za+e#o^vgjoHjLKV`QbiB4Ou>K8*dAvulcT|%f%phun%p; z+HqnY6Z;!&ZL%U1jz(0An7>b!A0cFZ}pQljjQ>LxJoxcn3MlPcVR@24p$R^sK25 zVe{?rhg|D%gKioT6h;{i(a{>it;->BKah91tUp9+{l0%KwW0jB@`LkLiCI^&ZHGnz zWLKfQfK-9s1+-Wk7`XTbO5k2oCSAEbJbja>L5`-`3q_IXv?UJn=?_1!rb`QA{CL>} zie40U>Hzi({n;lDIde%U-JkN0Bdf?zIY>CNJit62|Ge;$2u~hWo5fkCcFC!GjEbD| zCp-@2)yfwz$3W8=n`@(aA!;E0(Eg?SnpJ>l^^DY^7jSFqV9~Ex8#LMYA+D&J@+)%!s(1>;!mU@wwai# zB`{$maT(3OAO6+d zG10gA9bHEndnblu<4~S|ExlAvf#*o%6|WJknnKQI)JDOQXKiWDC4ppokBnHgm+r1C z4IrEsl^+*QpzTvl%TJ)G(fnmKBd&yC)Lht=zbnzB8o*pMkxy4S?vMDEJCOF8%UWv@ z4N%llHxO(EhO(suPPy(L$%bM=rRXo-ySbBKC+A| zh%tgZDcdtm{ysye#=xJ1zwthewwF{<76I#8kzdfvQx1T3p}+|w^QeEZWnQ897Qz@u;2NJVPHrl=T_OpV@|)f8W17j7mLUIr&eo`!fHLj7BttZndK-@o1tMk!OI+*zC`O7>r!WH6gi)I~RK-uA10hal@;|G;0EZt;i!*j=&`eD= zwh{A($!@mxqpt~&63ra#z=I|Yf@yW8J3_>|1l~`bes<%I0?NQ8eQ+2d}&6kqb!w&{5r@WkOkfKunmn7Wq9yt`t7;m{zfGh?P#;wY>n zA&^a3CcLwPjBI)ObiQ=E6Hc7dwdT-~GTH_LIB@PP1&=9JA>*a@EWxweW5iDrhx zJ3_X-ccReo6{8g}x=N58ILr2YnQk_GPoz*{PkEgsOn6t-$5gw{-tnE=BRDT=Ky-9I zpsecf^A#5_9TNfaK4~)9XiXDmO6IG4;LRs+`TNvJVIrQ)MqMpo6t($MrJie2h226R z3j4!^!}Jj%-2q34DT>HVUzS!Y6j=sq=bw!v+8FfQHnkvB|G9O(&=gSZ?r?Y(jRW6D zpE*LJqYaj&tqENR>+(yBmpZxZ%%4b;4Qb%mK7u=LHiBdDO2YL%Pk*h@jZ_22N%q0s zIC8XPq`EBE2eg3V>y&EATT|0q8^z&jlcx0YrAwr&WYg3?+?=&y7;|DoO`qMtWNhV9 zmgc;j8?R4sU0+-*-=mn$zi;kwq)D_Ey~2IWY_F}^`APKGAsi&~(W}Ojp@={U_y=(` z;%=Q4XZZxfdw*xZEzvNEFhPnPW|r!nhOn$JGtF73D-M6MS=$~;JB=LeZI7a&@W$mQ zr4nxZ+(A4FQ+C+uH5tTe6){b`1}s!{9`^Q07$sIAeUx}(QrP*Ln8=3~DelSeRK|hK z7!T}^)alC3?*lqf$X6SM6eA0-Pwxuv16w~%BT`sDD@-EMfVtCg_>Ki4OTMDY31_xf zB8WXrvQ46o;2o52^1+mc1zg!CNARDq=D(VCX)3i<-B7f(lZGkiyPFz=a%(>UYfi$V z(wsbpyvwGBWsIvLy0?H{c`2IOS3-q=f_T>n_g0>Q_3M0#w?BmM_(NFLA`-Wv*|s|W z2&0lOv2r5d=(&>~|B3KhC$*|X+iTQDs#Dm#Q3K*Z0mmKx?9h7psX7J*yqobfYW&3} zbT!FB>GR>ut)@}5EDL_rBvVddmtF}H$VbwV*a+OfKZN>T`4gC7QL>qAV)iw*uj8bJP84`PL$WDt zPd9mFCqwO}Xj-ch!IFrXS^&{dH<^(5MtbF*uuL&S*lUzMPVz9J>bU-m_Zs@Wnp}72 z%2->SD3zzeb*EIe2k!qAU(NqOgaU4N_jw4~Y04L`ylo;LI)J&SND!d)y4ZNM%A;TG zZ3^CS4J&$@Je!uKr8zv%k>x#`$^*p} z8KI9odcDgcs)J12gvm=#(oh4I#BRyAqF+qrdx5LLS#EamJF9?7DSbERp}Jn8xISGw zeIYfKIghwLY^I*;GTrU$UHzwVip?bFdhfuA-Tjf%#zH?+E7JV+D!r)m8M<9?Hs5qo zCZiq8$(gt_k}6q(i-@;XxH?YQnCv`>;S!jRj#^VVr$)AiB@fx!f825Y5Kz+~_|@J< zQ)YDiwiXo?;ZU9NevkMT?X#a%lDs;i-1F^>T3eNav{oO|EvzeEXI7$m6t@V}3$U8e z5b5sKJL}dM7oP`*Y})ue)pY``1R|q6Px+~-68A}NU1KkyNjZ9`pX^HV=yOtv2Li4o z8&$8I|5aK_flRj#t+`y`efI>>K+ zyL+g2{i*9u$Z0`Dh5`}c5%tX>jhwPSMNfSPF`(c-BJTFWq)a^cF;Tj>wyWu)1IPIk zytGI5AKGRME3XDhYFwAq&OsEC9o?f+9mDtCTW7jX+3PB6v6wr{?A~!sUD{*shEvFM zH90g>x%?+sY=Mt!3w)N8L!;Ik%1SlK#EvZ+ zvrEt+?%L7($eCdr4***uxnn!&Y=OY@DbG!OuexJEIQ0nEWy;}OSm9n~+G-2PBCSe4 zajbzkd`G_IYwz-TA*sF&utT|5cao1~zB=k(Y8fI&=E1L_8+bHAeDmO+0jfE`bqL!E zOmF{LOO`v_q!q@AGJaS?KVcU3U^B5DBVoVw^V80>uhoo9o87rmRtmSKsFaY_CYBx7 zFq;z4PWt`ii6m_vis6K{Jtj>J(U15){RT8@uu4gF*C{Ji*HwoeeE!bC z=01_9+osQt(0%jRx5sDCybi)x7v%DtOwSB{_Ye*9%g$_JU%04-@wq=Iv*BHkf57wm z&GWz1zCQtjA`s?Sm(X^!X{!V_$AWKRh~!}HvPaZqI+dxY_U~_kaYDa|uL~K092hFf zZJR#kZq{5eX4L*S{qi)$;${G&*<6HKh~{m4CA~2#9;L9y#n(O@)dE!GR(h?P^v36o z;8DIsWeCOOe%KXqIx$XQ3Hr4tJJs{NmL_+h?RgdRoEv<%%GZ)QHO_~BcPqQmB;d}- zZCNw3loy^ovCpWsDI6_FX9sbS*X@51qXBg;ETH(<X}|qFLYEJLY&SKfP%y?5K$S zJuM6I+EUBLl9cA7Qd{t^TiZW_5`5s}*u3bAU!iuD zt{Uu6>mi2Voy2^K2yBL{9Gbk`*LIU<9~GihlG^96noIhRuV#y^s*1|nw1rL1<8)3j zdb~YH)xi@1Ou6?%-s`bn2W}sU+16*)?$TrPJlHZrG0-T+zwy!9){Z=I=j+Br0biZn z6PJy3uQa3QXU_PQ(h$WWv2Mq`i$rBI6JJrqA`_(M8aTtnB{)s?g6HMpB-4v?D%YqI z%LXf?(8dufIu(x)cWu#`Tr(|O$a#i~{MWl?*dNRvd~h3kW^O#-?yJUE9 z?7lRZhuKK=<$B^|!a5=rxF5O4)bX_&IE)BhT=JCrN#5ZqS8CNFbb{)5{P5oT81MSm z7AtaUYDJ-^glAcmg3e%J7Q^7t~ z-V*l+*w~5 z4m@P4{l;`bmW<0>N#nSLo@|>n*t4H1(0+n6!ofhjI*@r1$oKMTm+U`n{rf{1-#cj~ zX4}c9BP8dzSXQ$g!M?2}8y70k0bow*mm7zwtZdFY0I{P=Mc z=;7H5vkiA&IsfMuJi%R9?w7kGoal$ypkKTsydu1flyMf&IelT!8&6zNv2U!I*Jt>6 zq5F|?oV|?ZP%0rf5Sb`Z`D;LeFYC{rW!=y;P=Lx1F$-Rl2}B}!loUqglsbw2eq8HU z*x0j%2$?x<=-%%MFTm|D>14B>zI9ey&>0^Np+~=d`R0`pem7Zpg_AACpNIZ)=L@fc z&K#tesege6g7taq2e8yD;=G)vFM^%BO~tARrjsVV_pf>c*OAy!Y{UM~oLV9zjMXhD zPE3U6nHpa#mb+?EbY(DA)W7o%DmjgvRVk1-8Vnv#T2_e?dHHh!9}Cf?{|rWHTzb6j zflNh3lmS29uNqy53u2z-a3Z}5HTqw5B!jMuQJzpTGJxiHN({K{wWAX?*WZ@~Gf{%a z7!LJEn_7AOx-(@kVJr(16LlBsMwlV@>E^Q*!NS^ZePQtsx{vowRy6a#T*;7O(|_t% zLUf5ZmH}=*{M0JoSD7Tiq|qzN6XE&t|GCl?I|h690gSH1#{3afW}+? zQ_q4sFZhl}skx=a%87}Y8Dpli_Nxb#uCn6H)DRPww~?0pupaS*M)(Lw01HwAyS;ITG z=AeEFRsa(+qfeof%LVGQzv_`C2bz9eVD1XkF5=YPZ;(O`y;&otFS2&WE{57O)m)BW z1gh9BPi*j(`FA9*3FTj9K}9eTuS)gspUj-hpdWJ=XlOzI!y#b=9S5vdvfoT>!Cxhyf&F5nl*`0N4ZeQ*V8W*z zjEZ8jV|ESBBTY?B+sk#)G3EpI&jJt_x|MG~iu$S>XORB0+qT9QM#Bx)haDy?p4<#P z8E1KaOH^G?ase?KCp1tPxG=ki-WF?)O5PK68P-Tx_^8n!s56`N?RLf8cuA%P)2=FD z9&ZNNHB);Ia_hE~r)mazJ}`I$YkT8s3oS4T6a?7p4f(*M+S?_*vAy@Ei9zXt*=J=lV^q5wj)hIAkH!%P1UH zf^op4$&_1Mu0}Mi)q%|}atrR}>Z(`$?Eb%P`FkC4B>YGo>)^$XjB8CDbC6*U_QEPB zR4E?KJp7@+JiK&BfB$KV*w3$KG8<7|eF%(&v>Nj#C0G0}g@+?W8*l}SAzoi^o$p7u~Xk#d1okHU>s^N7A_<;^Oz%&gyr7S#VVEHqT# z6BEWhu6Cq~{(rs%m;ayw>$ais#9u?@pOQh(n1bQ_UNR=+zjN*P - - - +```mermaid +flowchart TD + start{Followed issue\ntemplate?} + start --NO--> close1[Close and ask to\nfollow template] + start --YES--> dupe{Is duplicate?} + dupe --YES--> close2[Close and point\nto duplicate] + dupe --NO--> repro{Has proper\nreproduction?} + repro --NO--> close3[Label: 'needs reproduction'\nbot will auto close if no update\nhas been made in 3 days] + repro --YES--> real{Is actually a bug?} + real --NO--> intended{Is the intended\nbehaviour?} + intended --YES--> explain[Explain and close\npoint to docs if needed] + intended --NO--> open[Keep open for discussion\nRemove 'pending triage' label] + real --YES--> real2["1. Remove 'pending triage' label\n2. Add 'bug' label\n3. Add related feature label if\napplicable (e.g. 'bug: ssr'\nor 'plugin: vue')\n4. Add priority label (see below)"] + real2 --> unusable{Does the\nbug make Vite\nunusable?} + unusable --YES--> maj{Does the bug\naffect the majority\nof Vite users?} + maj --YES--> p5[p5: urgent] + maj --NO--> p4[p4: important] + unusable --NO--> workarounds{Are there\nworkarounds for\nthe bug?} + workarounds --YES--> p2[p2: has workaround] + workarounds --NO--> p3[p3: minor bug] +``` ### Pull Request Review Workflow - - - - +```mermaid +flowchart TD + start{Bug fix\nor\nfeature} + start --BUG FIX--> strict_bug{"Is a 'strict fix'\ni.e. fixes an obvious\noversight with no\nside effects"} + start --FEATURE--> feature[- Discuss feature necessity\n- Is this the best way to address the need\n- Review code quality\n- Add feature labels\n- Approve if you feel strongly\nthat the feature is needed] + feature --> evan[Await input from Evan] + evan -.-> merge + strict_bug --YES--> strict[- Verify the fix locally\n- Review code quality\n- Require test case if applicable\n- Request changes if necessary] + strict_bug --NO--> non_strict[Discuss the potential side\neffects of the fix, e.g.\n- Could it introduce implicit\nbehavior changes in other\ncases?\n- Does it introduce too much\nchanges?] + non_strict --> label["Add priority labels\n(see issue triaging workflow)"] + label --> evan_non_strict[Await input from Evan] + evan_non_strict -.-> strict + strict --> approve + approve --> merge["Merge if approved by 2 or\nmore team members\n- Use 'Squash and Merge'\n- Edit commit message to follow\nconvention\n- In commit message body, list\nrelevant issues being fixed\ne.g. 'fix #1234, fix #1235'"] +``` ## Notes on Dependencies From e30fac434f3cd1b33c5b48dd090bf010773e3ec5 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Tue, 20 Feb 2024 07:50:58 +0100 Subject: [PATCH 348/656] chore: review team members (#15969) --- docs/_data/team.js | 95 +++++++++++++++++++++++----------------------- 1 file changed, 47 insertions(+), 48 deletions(-) diff --git a/docs/_data/team.js b/docs/_data/team.js index d62b5e552a8c2a..a58e4cabf42935 100644 --- a/docs/_data/team.js +++ b/docs/_data/team.js @@ -64,54 +64,6 @@ export const core = [ ], sponsor: 'https://github.com/sponsors/sapphi-red', }, - { - avatar: 'https://github.com/sodatea.png', - name: 'Haoqun Jiang', - title: 'Developer', - org: 'Vue.js', - orgLink: 'https://vuejs.org/', - desc: 'Vue/Vite core team member. Full-time open sourcerer.', - links: [ - { icon: 'github', link: 'https://github.com/sodatea' }, - { icon: 'twitter', link: 'https://twitter.com/haoqunjiang' }, - { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@haoqun' }, - ], - sponsor: 'https://github.com/sponsors/sodatea', - }, - { - avatar: 'https://github.com/Shinigami92.png', - name: 'Shinigami', - title: 'Maintainer', - org: 'Faker', - orgLink: 'https://fakerjs.dev', - desc: 'Passionate TypeScript enthusiast working extensively with Vue SPA and pug.', - links: [ - { icon: 'github', link: 'https://github.com/Shinigami92' }, - { icon: 'mastodon', link: 'https://elk.zone/mas.to/@Shini92' }, - ], - sponsor: 'https://github.com/sponsors/Shinigami92', - }, - { - avatar: 'https://i.imgur.com/KMed6rQ.jpeg', - name: 'Alec Larson', - title: 'Entrepreneur', - desc: 'Dabbling in social ecommerce, meta frameworks, and board games', - links: [ - { icon: 'github', link: 'https://github.com/aleclarson' }, - { icon: 'twitter', link: 'https://twitter.com/retropragma' }, - ], - sponsor: 'https://github.com/sponsors/aleclarson', - }, - { - avatar: 'https://github.com/poyoho.png', - name: 'yoho', - title: 'Frontend Developer', - desc: 'Frontend. Vite team member.', - links: [ - { icon: 'github', link: 'https://github.com/poyoho' }, - { icon: 'twitter', link: 'https://twitter.com/yoho_po' }, - ], - }, { avatar: 'https://github.com/ArnaudBarre.png', name: 'Arnaud Barré', @@ -147,9 +99,56 @@ export const core = [ ], sponsor: 'https://github.com/sponsors/sheremet-va', }, + { + avatar: 'https://github.com/Shinigami92.png', + name: 'Shinigami', + title: 'Maintainer', + org: 'Faker', + orgLink: 'https://fakerjs.dev', + desc: 'Passionate TypeScript enthusiast working extensively with Vue SPA and pug.', + links: [ + { icon: 'github', link: 'https://github.com/Shinigami92' }, + { icon: 'mastodon', link: 'https://elk.zone/mas.to/@Shini92' }, + ], + sponsor: 'https://github.com/sponsors/Shinigami92', + }, + { + avatar: 'https://github.com/sodatea.png', + name: 'Haoqun Jiang', + title: 'Developer', + org: 'Vue.js', + orgLink: 'https://vuejs.org/', + desc: 'Vue/Vite core team member. Full-time open sourcerer.', + links: [ + { icon: 'github', link: 'https://github.com/sodatea' }, + { icon: 'twitter', link: 'https://twitter.com/haoqunjiang' }, + { icon: 'mastodon', link: 'https://elk.zone/m.webtoo.ls/@haoqun' }, + ], + sponsor: 'https://github.com/sponsors/sodatea', + }, ] export const emeriti = [ + { + avatar: 'https://i.imgur.com/KMed6rQ.jpeg', + name: 'Alec Larson', + title: 'Entrepreneur', + desc: 'Dabbling in social ecommerce, meta frameworks, and board games', + links: [ + { icon: 'github', link: 'https://github.com/aleclarson' }, + { icon: 'twitter', link: 'https://twitter.com/retropragma' }, + ], + }, + { + avatar: 'https://github.com/poyoho.png', + name: 'yoho', + title: 'Frontend Developer', + desc: 'Frontend. Vite team member.', + links: [ + { icon: 'github', link: 'https://github.com/poyoho' }, + { icon: 'twitter', link: 'https://twitter.com/yoho_po' }, + ], + }, { avatar: 'https://github.com/ygj6.png', name: 'ygj6', From 571a3fde438d60540cfeba132e24646badf5ff2f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 16:06:26 +0900 Subject: [PATCH 349/656] fix(deps): update all non-major dependencies (#15959) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: patak --- .github/workflows/ci.yml | 2 +- package.json | 10 +- .../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 | 4 +- .../create-vite/template-react/package.json | 4 +- .../template-solid-ts/package.json | 6 +- .../create-vite/template-solid/package.json | 6 +- .../template-svelte-ts/package.json | 4 +- .../create-vite/template-svelte/package.json | 4 +- .../template-vanilla-ts/package.json | 2 +- .../create-vite/template-vanilla/package.json | 2 +- .../create-vite/template-vue-ts/package.json | 4 +- .../create-vite/template-vue/package.json | 4 +- packages/plugin-legacy/package.json | 4 +- packages/vite/package.json | 6 +- packages/vite/rollup.config.ts | 2 +- playground/alias/package.json | 4 +- playground/backend-integration/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/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 | 433 +++++++++--------- 39 files changed, 271 insertions(+), 282 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 09fe9faa8b147a..d8423c15a1c569 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 # v42.0.2 + uses: tj-actions/changed-files@3f54ebb830831fc121d3263c1857cfbdc310cdb9 # v42.0.4 with: files: | docs/** diff --git a/package.json b/package.json index 7b6d67ee69eb96..fdbcd251be8d52 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.6", - "@types/node": "^20.11.17", + "@types/node": "^20.11.19", "@types/picomatch": "^2.3.3", "@types/sass": "~1.43.1", "@types/semver": "^7.5.7", @@ -85,9 +85,9 @@ "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", - "vitepress": "1.0.0-rc.42", - "vitest": "^1.2.2", - "vue": "^3.4.18" + "vitepress": "1.0.0-rc.43", + "vitest": "^1.3.0", + "vue": "^3.4.19" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false" @@ -106,7 +106,7 @@ "eslint --cache --fix" ] }, - "packageManager": "pnpm@8.15.1", + "packageManager": "pnpm@8.15.3", "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 560c2db5ff83e3..e3e7e6be1be2eb 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.2.2", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index f0765ff163adce..89b41983ba3e3c 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.2" }, "devDependencies": { - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index bb256b961b84a1..baaf22c3d41800 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.19.4" + "preact": "^10.19.5" }, "devDependencies": { "@preact/preset-vite": "^2.8.1", "typescript": "^5.2.2", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 307ea66d1dcb0c..b70cdb9431f890 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.19.4" + "preact": "^10.19.5" }, "devDependencies": { "@preact/preset-vite": "^2.8.1", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 27b0f5b3752eb8..383806c529cc20 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -10,9 +10,9 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.1.1" + "vite": "^5.1.3" }, "dependencies": { - "@builder.io/qwik": "^1.4.4" + "@builder.io/qwik": "^1.4.5" } } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 27b0f5b3752eb8..383806c529cc20 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,9 +10,9 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.1.1" + "vite": "^5.1.3" }, "dependencies": { - "@builder.io/qwik": "^1.4.4" + "@builder.io/qwik": "^1.4.5" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 3876930e973f74..1cb892b6e864ae 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,7 +14,7 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.55", + "@types/react": "^18.2.56", "@types/react-dom": "^18.2.19", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", @@ -23,6 +23,6 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", "typescript": "^5.2.2", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 98c3dc6e644694..6081c2515cda59 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,13 +14,13 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.55", + "@types/react": "^18.2.56", "@types/react-dom": "^18.2.19", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.56.0", "eslint-plugin-react": "^7.33.2", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.5", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index ca992eee8c3ac2..6a8758f235847a 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.14" + "solid-js": "^1.8.15" }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.1.1", - "vite-plugin-solid": "^2.9.1" + "vite": "^5.1.3", + "vite-plugin-solid": "^2.10.1" } } diff --git a/packages/create-vite/template-solid/package.json b/packages/create-vite/template-solid/package.json index 6213b4e4d0a3f1..0c11229326d661 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.14" + "solid-js": "^1.8.15" }, "devDependencies": { - "vite": "^5.1.1", - "vite-plugin-solid": "^2.9.1" + "vite": "^5.1.3", + "vite-plugin-solid": "^2.10.1" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 0bcd6cd4a174a3..13e15ce9f68846 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -12,10 +12,10 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.0.2", "@tsconfig/svelte": "^5.0.2", - "svelte": "^4.2.10", + "svelte": "^4.2.11", "svelte-check": "^3.6.4", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index fc78426c45d6f6..2ab37db93f8153 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.0.2", - "svelte": "^4.2.10", - "vite": "^5.1.1" + "svelte": "^4.2.11", + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index fec8a65a6c8b05..6b68334dbda408 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.2.2", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index 5082a9a020739d..168c32ee298ef6 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.1.1" + "vite": "^5.1.3" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 57fc78e0d8a2fe..b44348e6db1472 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.4.18" + "vue": "^3.4.19" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", "typescript": "^5.2.2", - "vite": "^5.1.1", + "vite": "^5.1.3", "vue-tsc": "^1.8.27" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 781aece726ea7f..b3f67fb085c079 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.4.18" + "vue": "^3.4.19" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.1.1" + "vite": "^5.1.3" } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index b84801131cf8a6..028a6b67a2fe35 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -43,8 +43,8 @@ "dependencies": { "@babel/core": "^7.23.9", "@babel/preset-env": "^7.23.9", - "browserslist": "^4.22.3", - "core-js": "^3.35.1", + "browserslist": "^4.23.0", + "core-js": "^3.36.0", "esbuild-plugin-browserslist": "^0.11.1", "magic-string": "^0.30.7", "regenerator-runtime": "^0.14.1", diff --git a/packages/vite/package.json b/packages/vite/package.json index 51f3dd12b0cb66..80ba336d508cc1 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -116,8 +116,8 @@ "cross-spawn": "^7.0.3", "debug": "^4.3.4", "dep-types": "link:./src/types", - "dotenv": "^16.4.2", - "dotenv-expand": "^11.0.3", + "dotenv": "^16.4.4", + "dotenv-expand": "^11.0.6", "es-module-lexer": "^1.4.1", "escape-html": "^1.0.3", "estree-walker": "^3.0.3", @@ -135,7 +135,7 @@ "periscopic": "^4.0.2", "picocolors": "^1.0.0", "picomatch": "^2.3.1", - "postcss-import": "^16.0.0", + "postcss-import": "^16.0.1", "postcss-load-config": "^4.0.2", "postcss-modules": "^6.0.0", "resolve.exports": "^2.0.2", diff --git a/packages/vite/rollup.config.ts b/packages/vite/rollup.config.ts index 6fa03af49edef0..d70779fa2dcd69 100644 --- a/packages/vite/rollup.config.ts +++ b/packages/vite/rollup.config.ts @@ -197,7 +197,7 @@ function createCjsConfig(isProduction: boolean) { ...Object.keys(pkg.dependencies), ...(isProduction ? [] : Object.keys(pkg.devDependencies)), ], - plugins: [...createNodePlugins(false, false, false), bundleSizeLimit(165)], + plugins: [...createNodePlugins(false, false, false), bundleSizeLimit(175)], }) } diff --git a/playground/alias/package.json b/playground/alias/package.json index e11d77016cb876..caea94ad7451eb 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.4.18", - "@vue/shared": "^3.4.18" + "vue": "^3.4.19", + "@vue/shared": "^3.4.19" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index b5bff1dd6a393b..18678fc2d3cc8b 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.70.0", + "sass": "^1.71.0", "tailwindcss": "^3.4.1", "fast-glob": "^3.3.2" } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index 34352d0d3bf9b8..8455e17865579d 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.7", - "sass": "^1.70.0", + "sass": "^1.71.0", "stylus": "^0.62.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index 1a74ea49a1f1a2..1be04c72026558 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.0.1", - "sass": "^1.70.0", + "sass": "^1.71.0", "stylus": "^0.62.0", "sugarss": "^4.0.1" } diff --git a/playground/extensions/package.json b/playground/extensions/package.json index 7be041734b174d..5bbc1c30dd5aeb 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.18" + "vue": "^3.4.19" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index 8fb5f673643070..0cecbb50b42e6a 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.4.18" + "vue": "^3.4.19" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index 2e85dc8c095c25..c181bca130e45e 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.4.18" + "vue": "^3.4.19" } } diff --git a/playground/external/package.json b/playground/external/package.json index bbd1ead77b2aef..8b8cf0ed1d6371 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.4.18", + "vue": "^3.4.19", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index bb0c4c923c0bb0..e6026f22b5b849 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.18.2", - "vue": "^3.4.18" + "vue": "^3.4.19" } } diff --git a/playground/legacy/package.json b/playground/legacy/package.json index 6b9c1a285a978a..ac5e46925740d7 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -17,6 +17,6 @@ "devDependencies": { "@vitejs/plugin-legacy": "workspace:*", "express": "^4.18.2", - "terser": "^5.27.0" + "terser": "^5.27.1" } } diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index 0828b93d15344b..da09ba1a6d716b 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.70.0" + "sass": "^1.71.0" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index cba9884cdf49c9..25a9d6f8af1df7 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.18" + "vue": "^3.4.19" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index 637cddcfcafadf..ce689a9ad32e47 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.4.18", + "vue": "^3.4.19", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index a376eb0f40b461..fe1fdb84c8213c 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -41,7 +41,7 @@ "react-dom": "^18.2.0", "@vitejs/test-resolve-linked": "workspace:0.0.0", "url": "^0.11.3", - "vue": "^3.4.18", + "vue": "^3.4.19", "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 1ae1d7769c82f1..ddf4003c383cc1 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.ts" }, "devDependencies": { - "terser": "^5.27.0", + "terser": "^5.27.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 d37e3563dc6d0c..bab27498b928c9 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.20240129.1", + "miniflare": "^3.20240129.3", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index e6c21d13310001..a09c250aed4511 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,7 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.17", "tailwindcss": "^3.4.1", - "vue": "^3.4.18", + "vue": "^3.4.19", "vue-router": "^4.2.5" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0bcfb23744d3f8..5767952e78e52f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,8 +61,8 @@ importers: specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.11.17 - version: 20.11.17 + specifier: ^20.11.19 + version: 20.11.19 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -157,14 +157,14 @@ importers: specifier: workspace:* version: link:packages/vite vitepress: - specifier: 1.0.0-rc.42 - version: 1.0.0-rc.42(typescript@5.2.2) + specifier: 1.0.0-rc.43 + version: 1.0.0-rc.43(typescript@5.2.2) vitest: - specifier: ^1.2.2 - version: 1.2.2(@types/node@20.11.17) + specifier: ^1.3.0 + version: 1.3.0(@types/node@20.11.19) vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) packages/create-vite: devDependencies: @@ -199,14 +199,14 @@ importers: specifier: ^7.23.9 version: 7.23.9(@babel/core@7.23.9) browserslist: - specifier: ^4.22.3 - version: 4.22.3 + specifier: ^4.23.0 + version: 4.23.0 core-js: - specifier: ^3.35.1 - version: 3.35.1 + specifier: ^3.36.0 + version: 3.36.0 esbuild-plugin-browserslist: specifier: ^0.11.1 - version: 0.11.1(browserslist@4.22.3) + version: 0.11.1(browserslist@4.23.0) magic-string: specifier: ^0.30.7 version: 0.30.7 @@ -313,11 +313,11 @@ importers: specifier: link:./src/types version: link:src/types dotenv: - specifier: ^16.4.2 - version: 16.4.2 + specifier: ^16.4.4 + version: 16.4.4 dotenv-expand: - specifier: ^11.0.3 - version: 11.0.3 + specifier: ^11.0.6 + version: 11.0.6 es-module-lexer: specifier: ^1.4.1 version: 1.4.1 @@ -370,8 +370,8 @@ importers: specifier: ^2.3.1 version: 2.3.1 postcss-import: - specifier: ^16.0.0 - version: 16.0.0(postcss@8.4.35) + specifier: ^16.0.1 + version: 16.0.1(postcss@8.4.35) postcss-load-config: specifier: ^4.0.2 version: 4.0.2(postcss@8.4.35)(ts-node@10.9.2) @@ -475,14 +475,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.4.18 - version: 3.4.18 + specifier: ^3.4.19 + version: 3.4.19 aliased-module: specifier: file:./dir/module version: file:playground/alias/dir/module vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -500,8 +500,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.70.0 - version: 1.70.0 + specifier: ^1.71.0 + version: 1.71.0 tailwindcss: specifier: ^3.4.1 version: 3.4.1(ts-node@10.9.2) @@ -560,8 +560,8 @@ importers: specifier: ^6.0.1 version: 6.0.1(postcss@8.4.35) sass: - specifier: ^1.70.0 - version: 1.70.0 + specifier: ^1.71.0 + version: 1.71.0 stylus: specifier: ^0.62.0 version: 0.62.0 @@ -599,8 +599,8 @@ importers: specifier: ^0.30.7 version: 0.30.7 sass: - specifier: ^1.70.0 - version: 1.70.0 + specifier: ^1.71.0 + version: 1.71.0 stylus: specifier: ^0.62.0 version: 0.62.0 @@ -663,8 +663,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) playground/external: dependencies: @@ -685,8 +685,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) vue32: specifier: npm:vue@~3.2.0 version: /vue@3.2.0 @@ -700,8 +700,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) playground/external/dep-that-requires: dependencies: @@ -712,8 +712,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) playground/fs-serve: {} @@ -761,8 +761,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) playground/json/json-module: {} @@ -775,8 +775,8 @@ importers: specifier: ^4.18.2 version: 4.18.2 terser: - specifier: ^5.27.0 - version: 5.27.0 + specifier: ^5.27.1 + version: 5.27.1 playground/lib: devDependencies: @@ -797,8 +797,8 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.70.0 - version: 1.70.0 + specifier: ^1.71.0 + version: 1.71.0 playground/nested-deps: dependencies: @@ -857,8 +857,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) playground/optimize-deps: dependencies: @@ -962,11 +962,11 @@ importers: specifier: ^0.11.3 version: 0.11.3 vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.18) + version: 4.1.0(vue@3.4.19) playground/optimize-deps-no-discovery: dependencies: @@ -974,11 +974,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.18) + version: 4.1.0(vue@3.4.19) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1075,8 +1075,8 @@ importers: specifier: file:./dep-including-a version: file:playground/preload/dep-including-a terser: - specifier: ^5.27.0 - version: 5.27.0 + specifier: ^5.27.1 + version: 5.27.1 playground/preload/dep-a: {} @@ -1478,8 +1478,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240129.1 - version: 3.20240129.1 + specifier: ^3.20240129.3 + version: 3.20240129.3 playground/ssr-webworker/browser-exports: {} @@ -1494,15 +1494,15 @@ importers: specifier: ^3.4.1 version: 3.4.1(ts-node@10.9.2) vue: - specifier: ^3.4.18 - version: 3.4.18(typescript@5.2.2) + specifier: ^3.4.19 + version: 3.4.19(typescript@5.2.2) vue-router: specifier: ^4.2.5 - version: 4.2.5(vue@3.4.18) + version: 4.2.5(vue@3.4.19) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.17)(typescript@5.2.2) + version: 10.9.2(@types/node@20.11.19)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -1750,7 +1750,7 @@ packages: dependencies: '@babel/compat-data': 7.23.5 '@babel/helper-validator-option': 7.23.5 - browserslist: 4.22.3 + browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 @@ -4008,14 +4008,14 @@ packages: requiresBuild: true optional: true - /@shikijs/core@1.0.0: - resolution: {integrity: sha512-UMKGMZ+8b88N0/n6DWwWth1PHsOaxjW+R2u+hzSiargZWTv+l3s1l8dhuIxUSsEUPlBDKLs2CSMiFZeviKQM1w==} + /@shikijs/core@1.1.5: + resolution: {integrity: sha512-cKc5vGQ4p/4sjx48BHIO7CvLaN32vqpz5Wh7v2n+U1EezGdfX4Wms7khBctKz3iCg9yYq4sfGUc2t+JWj6EUsw==} dev: true - /@shikijs/transformers@1.0.0: - resolution: {integrity: sha512-US0Sc0OdH7eGL64BtfvX3XezPfqhqF5mPyBFLlbZqSpFt2/emnv9GveAWzELGsIuvXoJ6N1RjeAdmQx5Xni6BQ==} + /@shikijs/transformers@1.1.5: + resolution: {integrity: sha512-ot6KWPmLuSN9nA9FAhttOXZIjKIy7cnwpNtI9aWmYN72RUaDz8eojRfMGUXsXXUxW/buvcvdZQAQldk7/pFpdw==} dependencies: - shiki: 1.0.0 + shiki: 1.1.5 dev: true /@sinclair/typebox@0.27.8: @@ -4078,7 +4078,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@types/debug@4.1.12: @@ -4106,14 +4106,14 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@types/fs-extra@11.0.4: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@types/json-schema@7.0.12: @@ -4123,7 +4123,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@types/less@3.0.6: @@ -4169,8 +4169,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.17: - resolution: {integrity: sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==} + /@types/node@20.11.19: + resolution: {integrity: sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==} dependencies: undici-types: 5.26.5 @@ -4200,7 +4200,7 @@ packages: /@types/sass@1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@types/semver@7.5.7: @@ -4210,7 +4210,7 @@ packages: /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@types/web-bluetooth@0.0.20: @@ -4220,7 +4220,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.17 + '@types/node': 20.11.19 dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.2.2): @@ -4359,15 +4359,15 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.3(vite@packages+vite)(vue@3.4.18): - resolution: {integrity: sha512-b8S5dVS40rgHdDrw+DQi/xOM9ed+kSRZzfm1T74bMmBDCd8XO87NKlFYInzCtwvtWwXZvo1QxE2OSspTATWrbA==} + /@vitejs/plugin-vue@5.0.4(vite@packages+vite)(vue@3.4.19): + resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: vite: '*' vue: ^3.2.25 dependencies: vite: link:packages/vite - vue: 3.4.18(typescript@5.2.2) + vue: 3.4.19(typescript@5.2.2) dev: true /@vitejs/release-scripts@1.3.1: @@ -4381,38 +4381,38 @@ packages: semver: 7.6.0 dev: true - /@vitest/expect@1.2.2: - resolution: {integrity: sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==} + /@vitest/expect@1.3.0: + resolution: {integrity: sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==} dependencies: - '@vitest/spy': 1.2.2 - '@vitest/utils': 1.2.2 + '@vitest/spy': 1.3.0 + '@vitest/utils': 1.3.0 chai: 4.3.10 dev: true - /@vitest/runner@1.2.2: - resolution: {integrity: sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==} + /@vitest/runner@1.3.0: + resolution: {integrity: sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==} dependencies: - '@vitest/utils': 1.2.2 + '@vitest/utils': 1.3.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.2.2: - resolution: {integrity: sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==} + /@vitest/snapshot@1.3.0: + resolution: {integrity: sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==} dependencies: magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.2.2: - resolution: {integrity: sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==} + /@vitest/spy@1.3.0: + resolution: {integrity: sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.2.2: - resolution: {integrity: sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==} + /@vitest/utils@1.3.0: + resolution: {integrity: sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -4430,11 +4430,11 @@ packages: source-map: 0.6.1 dev: true - /@vue/compiler-core@3.4.18: - resolution: {integrity: sha512-F7YK8lMK0iv6b9/Gdk15A67wM0KKZvxDxed0RR60C1z9tIJTKta+urs4j0RTN5XqHISzI3etN3mX0uHhjmoqjQ==} + /@vue/compiler-core@3.4.19: + resolution: {integrity: sha512-gj81785z0JNzRcU0Mq98E56e4ltO1yf8k5PQ+tV/7YHnbZkrM0fyFyuttnN8ngJZjbpofWE/m4qjKBiLl8Ju4w==} dependencies: '@babel/parser': 7.23.9 - '@vue/shared': 3.4.18 + '@vue/shared': 3.4.19 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.0.2 @@ -4446,30 +4446,30 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/compiler-dom@3.4.18: - resolution: {integrity: sha512-24Eb8lcMfInefvQ6YlEVS18w5Q66f4+uXWVA+yb7praKbyjHRNuKVWGuinfSSjM0ZIiPi++QWukhkgznBaqpEA==} + /@vue/compiler-dom@3.4.19: + resolution: {integrity: sha512-vm6+cogWrshjqEHTzIDCp72DKtea8Ry/QVpQRYoyTIg9k7QZDX6D8+HGURjtmatfgM8xgCFtJJaOlCaRYRK3QA==} dependencies: - '@vue/compiler-core': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/compiler-core': 3.4.19 + '@vue/shared': 3.4.19 - /@vue/compiler-sfc@3.4.18: - resolution: {integrity: sha512-rG5tqtnzwrVpMqAQ7FHtvHaV70G6LLfJIWLYZB/jZ9m/hrnZmIQh+H3ewnC5onwe/ibljm9+ZupxeElzqCkTAw==} + /@vue/compiler-sfc@3.4.19: + resolution: {integrity: sha512-LQ3U4SN0DlvV0xhr1lUsgLCYlwQfUfetyPxkKYu7dkfvx7g3ojrGAkw0AERLOKYXuAGnqFsEuytkdcComei3Yg==} dependencies: '@babel/parser': 7.23.9 - '@vue/compiler-core': 3.4.18 - '@vue/compiler-dom': 3.4.18 - '@vue/compiler-ssr': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/compiler-core': 3.4.19 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 estree-walker: 2.0.2 magic-string: 0.30.7 postcss: 8.4.35 source-map-js: 1.0.2 - /@vue/compiler-ssr@3.4.18: - resolution: {integrity: sha512-hSlv20oUhPxo2UYUacHgGaxtqP0tvFo6ixxxD6JlXIkwzwoZ9eKK6PFQN4hNK/R13JlNyldwWt/fqGBKgWJ6nQ==} + /@vue/compiler-ssr@3.4.19: + resolution: {integrity: sha512-P0PLKC4+u4OMJ8sinba/5Z/iDT84uMRRlrWzadgLA69opCpI1gG4N55qDSC+dedwq2fJtzmGald05LWR5TFfLw==} dependencies: - '@vue/compiler-dom': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/compiler-dom': 3.4.19 + '@vue/shared': 3.4.19 /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4508,10 +4508,10 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/reactivity@3.4.18: - resolution: {integrity: sha512-7uda2/I0jpLiRygprDo5Jxs2HJkOVXcOMlyVlY54yRLxoycBpwGJRwJT9EdGB4adnoqJDXVT2BilUAYwI7qvmg==} + /@vue/reactivity@3.4.19: + resolution: {integrity: sha512-+VcwrQvLZgEclGZRHx4O2XhyEEcKaBi50WbxdVItEezUf4fqRh838Ix6amWTdX0CNb/b6t3Gkz3eOebfcSt+UA==} dependencies: - '@vue/shared': 3.4.18 + '@vue/shared': 3.4.19 /@vue/runtime-core@3.2.0: resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} @@ -4520,11 +4520,11 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/runtime-core@3.4.18: - resolution: {integrity: sha512-7mU9diCa+4e+8/wZ7Udw5pwTH10A11sZ1nldmHOUKJnzCwvZxfJqAtw31mIf4T5H2FsLCSBQT3xgioA9vIjyDQ==} + /@vue/runtime-core@3.4.19: + resolution: {integrity: sha512-/Z3tFwOrerJB/oyutmJGoYbuoadphDcJAd5jOuJE86THNZji9pYjZroQ2NFsZkTxOq0GJbb+s2kxTYToDiyZzw==} dependencies: - '@vue/reactivity': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/reactivity': 3.4.19 + '@vue/shared': 3.4.19 /@vue/runtime-dom@3.2.0: resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} @@ -4534,42 +4534,42 @@ packages: csstype: 2.6.21 dev: true - /@vue/runtime-dom@3.4.18: - resolution: {integrity: sha512-2y1Mkzcw1niSfG7z3Qx+2ir9Gb4hdTkZe5p/I8x1aTIKQE0vY0tPAEUPhZm5tx6183gG3D/KwHG728UR0sIufA==} + /@vue/runtime-dom@3.4.19: + resolution: {integrity: sha512-IyZzIDqfNCF0OyZOauL+F4yzjMPN2rPd8nhqPP2N1lBn3kYqJpPHHru+83Rkvo2lHz5mW+rEeIMEF9qY3PB94g==} dependencies: - '@vue/runtime-core': 3.4.18 - '@vue/shared': 3.4.18 + '@vue/runtime-core': 3.4.19 + '@vue/shared': 3.4.19 csstype: 3.1.3 - /@vue/server-renderer@3.4.18(vue@3.4.18): - resolution: {integrity: sha512-YJd1wa7mzUN3NRqLEsrwEYWyO+PUBSROIGlCc3J/cvn7Zu6CxhNLgXa8Z4zZ5ja5/nviYO79J1InoPeXgwBTZA==} + /@vue/server-renderer@3.4.19(vue@3.4.19): + resolution: {integrity: sha512-eAj2p0c429RZyyhtMRnttjcSToch+kTWxFPHlzGMkR28ZbF1PDlTcmGmlDxccBuqNd9iOQ7xPRPAGgPVj+YpQw==} peerDependencies: - vue: 3.4.18 + vue: 3.4.19 dependencies: - '@vue/compiler-ssr': 3.4.18 - '@vue/shared': 3.4.18 - vue: 3.4.18(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.19 + '@vue/shared': 3.4.19 + vue: 3.4.19(typescript@5.2.2) /@vue/shared@3.2.0: resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} dev: true - /@vue/shared@3.4.18: - resolution: {integrity: sha512-CxouGFxxaW5r1WbrSmWwck3No58rApXgRSBxrqgnY1K+jk20F6DrXJkHdH9n4HVT+/B6G2CAn213Uq3npWiy8Q==} + /@vue/shared@3.4.19: + resolution: {integrity: sha512-/KliRRHMF6LoiThEy+4c1Z4KB/gbPrGjWwJR+crg2otgrf/egKzRaCPvJ51S5oetgsgXLfc4Rm5ZgrKHZrtMSw==} - /@vueuse/core@10.7.2(vue@3.4.18): + /@vueuse/core@10.7.2(vue@3.4.19): resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.7.2 - '@vueuse/shared': 10.7.2(vue@3.4.18) - vue-demi: 0.14.6(vue@3.4.18) + '@vueuse/shared': 10.7.2(vue@3.4.19) + vue-demi: 0.14.6(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.18): + /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.19): resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} peerDependencies: async-validator: '*' @@ -4610,10 +4610,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.7.2(vue@3.4.18) - '@vueuse/shared': 10.7.2(vue@3.4.18) + '@vueuse/core': 10.7.2(vue@3.4.19) + '@vueuse/shared': 10.7.2(vue@3.4.19) focus-trap: 7.5.4 - vue-demi: 0.14.6(vue@3.4.18) + vue-demi: 0.14.6(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4623,10 +4623,10 @@ packages: resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} dev: true - /@vueuse/shared@10.7.2(vue@3.4.18): + /@vueuse/shared@10.7.2(vue@3.4.19): resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} dependencies: - vue-demi: 0.14.6(vue@3.4.18) + vue-demi: 0.14.6(vue@3.4.19) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -4853,7 +4853,7 @@ packages: postcss: optional: true dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 caniuse-lite: 1.0.30001579 fraction.js: 4.3.7 normalize-range: 0.1.2 @@ -4974,15 +4974,15 @@ packages: dependencies: fill-range: 7.0.1 - /browserslist@4.22.3: - resolution: {integrity: sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==} + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001585 - electron-to-chromium: 1.4.661 + caniuse-lite: 1.0.30001588 + electron-to-chromium: 1.4.673 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.22.3) + update-browserslist-db: 1.0.13(browserslist@4.23.0) /buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -5027,8 +5027,8 @@ packages: resolution: {integrity: sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==} dev: false - /caniuse-lite@1.0.30001585: - resolution: {integrity: sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==} + /caniuse-lite@1.0.30001588: + resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} /capnp-ts@0.7.0: resolution: {integrity: sha512-XKxXAC3HVPv7r674zP0VC3RTXz+/JKhfyw94ljvF80yynK6VkTnqE3jMuN8b3dUVmmc43TjyxjW4KTsmB3c86g==} @@ -5395,11 +5395,11 @@ packages: /core-js-compat@3.35.0: resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 dev: false - /core-js@3.35.1: - resolution: {integrity: sha512-IgdsbxNyMskrTFxa9lWHyMwAJU5gXOPP+1yO+K59d50VLVAIDAbs7gIv705KzALModfK3ZrSZTPNpC0PQgIZuw==} + /core-js@3.36.0: + resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} requiresBuild: true dev: false @@ -5589,15 +5589,15 @@ packages: is-obj: 2.0.0 dev: true - /dotenv-expand@11.0.3: - resolution: {integrity: sha512-qkK+MLTvZ86oq4sjMqGpUN/38SQ/J37mny88CsEUFFjb2MBVz06a809ri0QeVDXpxkvZkXzqjGUb0M1R6n3OGw==} + /dotenv-expand@11.0.6: + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} engines: {node: '>=12'} dependencies: - dotenv: 16.4.2 + dotenv: 16.4.4 dev: true - /dotenv@16.4.2: - resolution: {integrity: sha512-rZSSFxke7d9nYQ5NeMIwp5PP+f8wXgKNljpOb7KtH6SKW1cEqcXAz9VSJYVLKe7Jhup/gUYOkaeSVyK8GJ+nBg==} + /dotenv@16.4.4: + resolution: {integrity: sha512-XvPXc8XAQThSjAbY6cQ/9PcBXmFoWuw1sQ3b8HqUCR6ziGXjkTi//kB9SWa2UwqlgdAIuRqAa/9hVljzPehbYg==} engines: {node: '>=12'} dev: true @@ -5608,8 +5608,8 @@ packages: /ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - /electron-to-chromium@1.4.661: - resolution: {integrity: sha512-AFg4wDHSOk5F+zA8aR+SVIOabu7m0e7BiJnigCvPXzIGy731XENw/lmNxTySpVFtkFEy+eyt4oHhh5FF3NjQNw==} + /electron-to-chromium@1.4.673: + resolution: {integrity: sha512-zjqzx4N7xGdl5468G+vcgzDhaHkaYgVcf9MqgexcTqsl2UHSCmOj/Bi3HAprg4BZCpC7HyD8a6nZl6QAZf72gw==} /emoji-regex@10.3.0: resolution: {integrity: sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==} @@ -5679,14 +5679,14 @@ packages: ext: 1.6.0 dev: false - /esbuild-plugin-browserslist@0.11.1(browserslist@4.22.3): + /esbuild-plugin-browserslist@0.11.1(browserslist@4.23.0): resolution: {integrity: sha512-yNdZRdDBEbm0PT4q2bJBhXvnwakXG5mG8ipiwGe5SRDPnKa7L7kQm2tHuBMowBtcFz6kRtZTv5njK7PJwU+tCQ==} engines: {node: '>=18'} peerDependencies: browserslist: ^4.21.8 esbuild: ~0.20.0 dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 debug: 4.3.4 zod: 3.21.4 transitivePeerDependencies: @@ -7103,7 +7103,7 @@ packages: colorette: 2.0.20 eventemitter3: 5.0.1 log-update: 6.0.0 - rfdc: 1.3.0 + rfdc: 1.3.1 wrap-ansi: 9.0.0 dev: true @@ -7302,8 +7302,8 @@ packages: engines: {node: '>=12'} dev: true - /miniflare@3.20240129.1: - resolution: {integrity: sha512-GfqclPxbTnam4S8GKHRkFyr+s+szELK/ORtQ3ZFUiGBO4HNJsaeA6RhBMKBH7iHqn5ng035cyPsLZvH35lwtsA==} + /miniflare@3.20240129.3: + resolution: {integrity: sha512-PCmLJ+UvtbpPj/fgNzTGbd+U5QBkt3akRNcdks9RBJU2SH+gUCp7iahsaI4GA344NX5MIbC6ctw1A6TfcA+aFA==} engines: {node: '>=16.13'} hasBin: true dependencies: @@ -7899,8 +7899,8 @@ packages: read-cache: 1.0.0 resolve: 1.22.4 - /postcss-import@16.0.0(postcss@8.4.35): - resolution: {integrity: sha512-e77lhVvrD1I2y7dYmBv0k9ULTdArgEYZt97T4w6sFIU5uxIHvDFQlKgUUyY7v7Barj0Yf/zm5A4OquZN7jKm5Q==} + /postcss-import@16.0.1(postcss@8.4.35): + resolution: {integrity: sha512-i2Pci0310NaLHr/5JUFSw1j/8hf1CzwMY13g6ZDxgOavmRHQi2ba3PmUHoihO+sjaum+KmCNzskNsw7JDrg03g==} engines: {node: '>=18.0.0'} peerDependencies: postcss: ^8.0.0 @@ -7940,7 +7940,7 @@ packages: dependencies: lilconfig: 3.0.0 postcss: 8.4.35 - ts-node: 10.9.2(@types/node@20.11.17)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.11.19)(typescript@5.2.2) yaml: 2.3.4 /postcss-modules-extract-imports@3.0.0(postcss@8.4.35): @@ -8407,10 +8407,6 @@ packages: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - /rfdc@1.3.0: - resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} - dev: true - /rfdc@1.3.1: resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} dev: true @@ -8520,8 +8516,8 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass@1.70.0: - resolution: {integrity: sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==} + /sass@1.71.0: + resolution: {integrity: sha512-HKKIKf49Vkxlrav3F/w6qRuPcmImGVbIXJ2I3Kg0VMA+3Bav+8yE9G5XmP5lMj6nl4OlqbPftGAscNaNu28b8w==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -8633,10 +8629,10 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true - /shiki@1.0.0: - resolution: {integrity: sha512-rOUGJa3yFGgOrEoiELYxraoBbag3ZWf9bpodlr05Wjm85Scx8OIX+otdSefq9Pk7L47TKEzGodSQb4L38jka6A==} + /shiki@1.1.5: + resolution: {integrity: sha512-754GuKIwkUdT810Xm8btuyNQPL+q3PqOkwGW/VlmAWyMYp+HbvvDt69sWXO1sm5aeczBJQjmQTTMR4GkKQNQPw==} dependencies: - '@shikijs/core': 1.0.0 + '@shikijs/core': 1.1.5 dev: true /side-channel@1.0.4: @@ -8879,12 +8875,6 @@ packages: engines: {node: '>=8'} dev: true - /strip-literal@1.3.0: - resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} - dependencies: - acorn: 8.11.3 - dev: true - /strip-literal@2.0.0: resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} dependencies: @@ -9007,8 +8997,8 @@ packages: temp-dir: 3.0.0 dev: true - /terser@5.27.0: - resolution: {integrity: sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==} + /terser@5.27.1: + resolution: {integrity: sha512-29wAr6UU/oQpnTw5HoadwjUZnFQXGdOfj0LjZ4sVxzqwHh/QVkvr7m8y9WoR4iN3FRitVduTc6KdjcW38Npsug==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9098,7 +9088,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.11.17)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.11.19)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -9117,7 +9107,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.11.17 + '@types/node': 20.11.19 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -9311,13 +9301,13 @@ packages: - supports-color dev: true - /update-browserslist-db@1.0.13(browserslist@4.22.3): + /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: - browserslist: 4.22.3 + browserslist: 4.23.0 escalade: 3.1.1 picocolors: 1.0.0 @@ -9354,8 +9344,8 @@ packages: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} - /vite-node@1.2.2: - resolution: {integrity: sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==} + /vite-node@1.3.0: + resolution: {integrity: sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -9368,12 +9358,12 @@ packages: - supports-color dev: true - /vitepress@1.0.0-rc.42(typescript@5.2.2): - resolution: {integrity: sha512-VeiVVXFblt/sjruFSJBNChMWwlztMrRMe8UXdNpf4e05mKtTYEY38MF5qoP90KxPTCfMQiKqwEGwXAGuOTK8HQ==} + /vitepress@1.0.0-rc.43(typescript@5.2.2): + resolution: {integrity: sha512-XZ9xaN76/LxCBqvk6U+3ne3T60JOavdOlk+FMQBlXYK/9pyyKGfjnEra4yKYvOdZdStoTg8VXTAj4wcsCTlJaQ==} hasBin: true peerDependencies: markdown-it-mathjax3: ^4.3.2 - postcss: ^8.4.34 + postcss: ^8.4.35 peerDependenciesMeta: markdown-it-mathjax3: optional: true @@ -9382,19 +9372,19 @@ packages: dependencies: '@docsearch/css': 3.5.2 '@docsearch/js': 3.5.2 - '@shikijs/core': 1.0.0 - '@shikijs/transformers': 1.0.0 + '@shikijs/core': 1.1.5 + '@shikijs/transformers': 1.1.5 '@types/markdown-it': 13.0.7 - '@vitejs/plugin-vue': 5.0.3(vite@packages+vite)(vue@3.4.18) + '@vitejs/plugin-vue': 5.0.4(vite@packages+vite)(vue@3.4.19) '@vue/devtools-api': 7.0.14 - '@vueuse/core': 10.7.2(vue@3.4.18) - '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.18) + '@vueuse/core': 10.7.2(vue@3.4.19) + '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.19) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - shiki: 1.0.0 + shiki: 1.1.5 vite: link:packages/vite - vue: 3.4.18(typescript@5.2.2) + vue: 3.4.19(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -9416,15 +9406,15 @@ packages: - universal-cookie dev: true - /vitest@1.2.2(@types/node@20.11.17): - resolution: {integrity: sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==} + /vitest@1.3.0(@types/node@20.11.19): + resolution: {integrity: sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': ^1.0.0 - '@vitest/ui': ^1.0.0 + '@vitest/browser': 1.3.0 + '@vitest/ui': 1.3.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -9441,14 +9431,13 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.17 - '@vitest/expect': 1.2.2 - '@vitest/runner': 1.2.2 - '@vitest/snapshot': 1.2.2 - '@vitest/spy': 1.2.2 - '@vitest/utils': 1.2.2 + '@types/node': 20.11.19 + '@vitest/expect': 1.3.0 + '@vitest/runner': 1.3.0 + '@vitest/snapshot': 1.3.0 + '@vitest/spy': 1.3.0 + '@vitest/utils': 1.3.0 acorn-walk: 8.3.2(acorn@8.11.3) - cac: 6.7.14 chai: 4.3.10 debug: 4.3.4 execa: 8.0.1 @@ -9457,11 +9446,11 @@ packages: pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.5.0 - strip-literal: 1.3.0 + strip-literal: 2.0.0 tinybench: 2.5.1 tinypool: 0.8.2 vite: link:packages/vite - vite-node: 1.2.2 + vite-node: 1.3.0 why-is-node-running: 2.2.2 transitivePeerDependencies: - acorn @@ -9473,7 +9462,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /vue-demi@0.14.6(vue@3.4.18): + /vue-demi@0.14.6(vue@3.4.19): resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} engines: {node: '>=12'} hasBin: true @@ -9485,16 +9474,16 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.18(typescript@5.2.2) + vue: 3.4.19(typescript@5.2.2) dev: true - /vue-router@4.2.5(vue@3.4.18): + /vue-router@4.2.5(vue@3.4.19): resolution: {integrity: sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.4.18(typescript@5.2.2) + vue: 3.4.19(typescript@5.2.2) dev: false /vue@3.2.0: @@ -9505,28 +9494,28 @@ packages: '@vue/shared': 3.2.0 dev: true - /vue@3.4.18(typescript@5.2.2): - resolution: {integrity: sha512-0zLRYamFRe0wF4q2L3O24KQzLyLpL64ye1RUToOgOxuWZsb/FhaNRdGmeozdtVYLz6tl94OXLaK7/WQIrVCw1A==} + /vue@3.4.19(typescript@5.2.2): + resolution: {integrity: sha512-W/7Fc9KUkajFU8dBeDluM4sRGc/aa4YJnOYck8dkjgZoXtVsn3OeTGni66FV1l3+nvPA7VBFYtPioaGKUmEADw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.18 - '@vue/compiler-sfc': 3.4.18 - '@vue/runtime-dom': 3.4.18 - '@vue/server-renderer': 3.4.18(vue@3.4.18) - '@vue/shared': 3.4.18 + '@vue/compiler-dom': 3.4.19 + '@vue/compiler-sfc': 3.4.19 + '@vue/runtime-dom': 3.4.19 + '@vue/server-renderer': 3.4.19(vue@3.4.19) + '@vue/shared': 3.4.19 typescript: 5.2.2 - /vuex@4.1.0(vue@3.4.18): + /vuex@4.1.0(vue@3.4.19): resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.4.18(typescript@5.2.2) + vue: 3.4.19(typescript@5.2.2) dev: false /web-streams-polyfill@3.2.1: @@ -9733,7 +9722,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.4.18(typescript@5.2.2) + vue: 3.4.19(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false @@ -9745,7 +9734,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.4.18(typescript@5.2.2) + vue: 3.4.19(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false From 81b3bd09cff926534ea667edfa5417b944cdf01c Mon Sep 17 00:00:00 2001 From: Murad Khafizov <101127600+murad-khafizov@users.noreply.github.com> Date: Tue, 20 Feb 2024 08:15:29 +0100 Subject: [PATCH 350/656] fix: srcSet with optional descriptor (#15905) Co-authored-by: patak --- packages/vite/src/node/__tests__/utils.spec.ts | 7 +++++++ packages/vite/src/node/utils.ts | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/__tests__/utils.spec.ts b/packages/vite/src/node/__tests__/utils.spec.ts index 3efdbdd77c2409..35fdd3d3f97249 100644 --- a/packages/vite/src/node/__tests__/utils.spec.ts +++ b/packages/vite/src/node/__tests__/utils.spec.ts @@ -338,6 +338,13 @@ describe('processSrcSetSync', () => { 'data:image/avif;base64,aA+/0= 400w, data:image/avif;base64,bB+/9= 800w' expect(processSrcSetSync(base64, ({ url }) => url)).toBe(base64) }) + + test('should not break a regular URL in srcSet', async () => { + const source = 'https://anydomain/image.jpg' + expect( + processSrcSetSync('https://anydomain/image.jpg', ({ url }) => url), + ).toBe(source) + }) }) describe('flattenId', () => { diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 6f8004566cb6f9..bc85a3b38d37b4 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -767,7 +767,9 @@ interface ImageCandidate { const escapedSpaceCharacters = /( |\\t|\\n|\\f|\\r)+/g const imageSetUrlRE = /^(?:[\w\-]+\(.*?\)|'.*?'|".*?"|\S*)/ function joinSrcset(ret: ImageCandidate[]) { - return ret.map(({ url, descriptor }) => `${url} ${descriptor}`).join(', ') + return ret + .map(({ url, descriptor }) => url + (descriptor ? ` ${descriptor}` : '')) + .join(', ') } function splitSrcSetDescriptor(srcs: string): ImageCandidate[] { From 1d263d39d32838cf5b77eeb44426ae81e969309c Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 20 Feb 2024 18:47:45 +0800 Subject: [PATCH 351/656] fix(watch): build watch fails when outDir is empty string (#15979) --- packages/vite/src/node/watch.ts | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/vite/src/node/watch.ts b/packages/vite/src/node/watch.ts index a1718ffb25166a..9c9972bdd3a471 100644 --- a/packages/vite/src/node/watch.ts +++ b/packages/vite/src/node/watch.ts @@ -9,17 +9,22 @@ export function resolveChokidarOptions( config: ResolvedConfig, options: WatchOptions | undefined, ): WatchOptions { - const { ignored = [], ...otherOptions } = options ?? {} + const { ignored: ignoredList, ...otherOptions } = options ?? {} + const ignored: WatchOptions['ignored'] = [ + '**/.git/**', + '**/node_modules/**', + '**/test-results/**', // Playwright + glob.escapePath(config.cacheDir) + '/**', + ...arraify(ignoredList || []), + ] + if (config.build.outDir) { + ignored.push( + glob.escapePath(path.resolve(config.root, config.build.outDir)) + '/**', + ) + } const resolvedWatchOptions: WatchOptions = { - ignored: [ - '**/.git/**', - '**/node_modules/**', - '**/test-results/**', // Playwright - glob.escapePath(config.cacheDir) + '/**', - glob.escapePath(path.resolve(config.root, config.build.outDir)) + '/**', - ...arraify(ignored), - ], + ignored, ignoreInitial: true, ignorePermissionErrors: true, ...otherOptions, From 257f5ec65098f7d40da59ac69632448627047526 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Tue, 20 Feb 2024 11:54:27 +0100 Subject: [PATCH 352/656] chore: update issue triaging workflow labels (#15976) --- CONTRIBUTING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 746b5cde962ab5..bcac545a0a206b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -209,14 +209,14 @@ flowchart TD real --NO--> intended{Is the intended\nbehaviour?} intended --YES--> explain[Explain and close\npoint to docs if needed] intended --NO--> open[Keep open for discussion\nRemove 'pending triage' label] - real --YES--> real2["1. Remove 'pending triage' label\n2. Add 'bug' label\n3. Add related feature label if\napplicable (e.g. 'bug: ssr'\nor 'plugin: vue')\n4. Add priority label (see below)"] + real --YES--> real2["1. Remove 'pending triage' label\n2. Add related feature label if\napplicable (e.g. 'feat: ssr')\n3. Add priority and meta labels (see below)"] real2 --> unusable{Does the\nbug make Vite\nunusable?} unusable --YES--> maj{Does the bug\naffect the majority\nof Vite users?} maj --YES--> p5[p5: urgent] maj --NO--> p4[p4: important] unusable --NO--> workarounds{Are there\nworkarounds for\nthe bug?} - workarounds --YES--> p2[p2: has workaround] workarounds --NO--> p3[p3: minor bug] + workarounds --YES--> p2[p2: edge case\nhas workaround] ``` ### Pull Request Review Workflow From 725589adbf7f5ab940600c51f8540c7b15fb3d69 Mon Sep 17 00:00:00 2001 From: Giorgio Boa <35845425+gioboa@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:11:39 +0100 Subject: [PATCH 353/656] fix(qwik template): change preview script (#15975) --- packages/create-vite/template-qwik-ts/package.json | 3 ++- packages/create-vite/template-qwik/package.json | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 383806c529cc20..024cd458c2dda6 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -6,9 +6,10 @@ "scripts": { "dev": "vite", "build": "tsc && vite build", - "preview": "vite preview" + "preview": "serve dist" }, "devDependencies": { + "serve": "^14.2.1", "typescript": "^5.2.2", "vite": "^5.1.3" }, diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 383806c529cc20..024cd458c2dda6 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -6,9 +6,10 @@ "scripts": { "dev": "vite", "build": "tsc && vite build", - "preview": "vite preview" + "preview": "serve dist" }, "devDependencies": { + "serve": "^14.2.1", "typescript": "^5.2.2", "vite": "^5.1.3" }, From 0fdc1c305c1e2d4096c04d2a45864103b4b2ecb4 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 20 Feb 2024 19:12:44 +0800 Subject: [PATCH 354/656] chore: update contributing.md overrides vite version (#15981) --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index bcac545a0a206b..9202d72cd4a703 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -68,7 +68,7 @@ You may wish to test your locally modified copy of Vite against another package ```json { "dependencies": { - "vite": "^4.0.0" + "vite": "^5.0.0" }, "pnpm": { "overrides": { From 7b9e927a65e0f8580a6a8faeaa938f659390259f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 12:58:43 +0100 Subject: [PATCH 355/656] chore(deps): update typescript-eslint monorepo to v7 (major) (#15960) --- package.json | 4 +- .../template-react-ts/package.json | 4 +- pnpm-lock.yaml | 98 +++++++++---------- 3 files changed, 53 insertions(+), 53 deletions(-) diff --git a/package.json b/package.json index fdbcd251be8d52..1362607ae7c0a9 100644 --- a/package.json +++ b/package.json @@ -59,8 +59,8 @@ "@types/semver": "^7.5.7", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^4.1.0", "eslint": "^8.56.0", diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 1cb892b6e864ae..c8c533819dadbd 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -16,8 +16,8 @@ "devDependencies": { "@types/react": "^18.2.56", "@types/react-dom": "^18.2.19", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.56.0", "eslint-plugin-react-hooks": "^4.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5767952e78e52f..fce187b3ca5296 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,11 +79,11 @@ importers: specifier: ^8.5.10 version: 8.5.10 '@typescript-eslint/eslint-plugin': - specifier: ^6.21.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.2.2) + specifier: ^7.0.2 + version: 7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^6.21.0 - version: 6.21.0(eslint@8.56.0)(typescript@5.2.2) + specifier: ^7.0.2 + version: 7.0.2(eslint@8.56.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -98,7 +98,7 @@ importers: version: 2.1.0 eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0) + version: 2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.56.0) eslint-plugin-n: specifier: ^16.6.2 version: 16.6.2(eslint@8.56.0) @@ -4223,23 +4223,23 @@ packages: '@types/node': 20.11.19 dev: true - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/type-utils': 7.0.2(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.0.2(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 eslint: 8.56.0 graphemer: 1.4.0 @@ -4252,20 +4252,20 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + /@typescript-eslint/parser@7.0.2(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 eslint: 8.56.0 typescript: 5.2.2 @@ -4273,26 +4273,26 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + /@typescript-eslint/scope-manager@7.0.2: + resolution: {integrity: sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + /@typescript-eslint/type-utils@7.0.2(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.2.2) + '@typescript-eslint/utils': 7.0.2(eslint@8.56.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.56.0 ts-api-utils: 1.0.1(typescript@5.2.2) @@ -4301,13 +4301,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + /@typescript-eslint/types@7.0.2: + resolution: {integrity: sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==} engines: {node: ^16.0.0 || >=18.0.0} dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.2.2): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + /@typescript-eslint/typescript-estree@7.0.2(typescript@5.2.2): + resolution: {integrity: sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' @@ -4315,8 +4315,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/visitor-keys': 7.0.2 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4328,18 +4328,18 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.56.0)(typescript@5.2.2): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + /@typescript-eslint/utils@7.0.2(eslint@8.56.0)(typescript@5.2.2): + resolution: {integrity: sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.7 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.0.2 + '@typescript-eslint/types': 7.0.2 + '@typescript-eslint/typescript-estree': 7.0.2(typescript@5.2.2) eslint: 8.56.0 semver: 7.6.0 transitivePeerDependencies: @@ -4347,11 +4347,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + /@typescript-eslint/visitor-keys@7.0.2: + resolution: {integrity: sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==} engines: {node: ^16.0.0 || >=18.0.0} dependencies: - '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/types': 7.0.2 eslint-visitor-keys: 3.4.3 dev: true @@ -5824,7 +5824,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -5845,7 +5845,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.56.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.0.2(eslint@8.56.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 @@ -5865,7 +5865,7 @@ packages: eslint-compat-utils: 0.1.2(eslint@8.56.0) dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@6.21.0)(eslint@8.56.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.0.2)(eslint@8.56.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -5875,7 +5875,7 @@ packages: doctrine: 3.0.0 eslint: 8.56.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.0.2)(eslint-import-resolver-node@0.3.9)(eslint@8.56.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 From 4fe971fda39ab1a323461c09b35108cc7a271484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 20 Feb 2024 22:05:07 +0900 Subject: [PATCH 356/656] fix: resolve directory correctly when `fs.cachedChecks: true` (#15983) --- packages/vite/src/node/fsUtils.ts | 4 ++++ playground/resolve/__tests__/resolve.spec.ts | 4 ++++ playground/resolve/index.html | 6 ++++++ playground/resolve/non-normalized.js | 1 + playground/resolve/vite.config.js | 7 +++++++ 5 files changed, 22 insertions(+) create mode 100644 playground/resolve/non-normalized.js diff --git a/packages/vite/src/node/fsUtils.ts b/packages/vite/src/node/fsUtils.ts index ae1892e989677c..9536218c8f8ce4 100644 --- a/packages/vite/src/node/fsUtils.ts +++ b/packages/vite/src/node/fsUtils.ts @@ -189,6 +189,10 @@ export function createCachedFsUtils(config: ResolvedConfig): FsUtils { function getDirentCacheFromPath( normalizedFile: string, ): DirentCache | false | undefined { + // path.posix.normalize may return a path either with / or without / + if (normalizedFile[normalizedFile.length - 1] === '/') { + normalizedFile = normalizedFile.slice(0, -1) + } if (normalizedFile === root) { return rootCache } diff --git a/playground/resolve/__tests__/resolve.spec.ts b/playground/resolve/__tests__/resolve.spec.ts index 45b87c23e4ab10..d930ac1e49a2df 100644 --- a/playground/resolve/__tests__/resolve.spec.ts +++ b/playground/resolve/__tests__/resolve.spec.ts @@ -215,6 +215,10 @@ test('Resolve doesnt interrupt page request with trailing query and .css', async expect(await page.textContent('h1')).toBe('Resolve') }) +test('resolve non-normalized absolute path', async () => { + expect(await page.textContent('.non-normalized')).toMatch('[success]') +}) + test.runIf(!isWindows)( 'Resolve doesnt interrupt page request that clashes with local project package.json', async () => { diff --git a/playground/resolve/index.html b/playground/resolve/index.html index 89eced2e7149e9..fa6b5afbb84cd6 100644 --- a/playground/resolve/index.html +++ b/playground/resolve/index.html @@ -167,6 +167,9 @@

    Unicode URL

    - +

    Filename including single quote

    @@ -143,11 +143,17 @@

    Filename including single quote

    +

    Filename including percent

    +
    + + +
    +

    encodeURI for the address

    @@ -447,12 +453,16 @@

    assets in noscript

    import fooUrl from './foo.js?url' text('.url', fooUrl) - import unicodeUrl from './テスト-測試-white space%.js?url' + import unicodeUrl from './テスト-測試-white space.js?url' text('.unicode-url', unicodeUrl) import filenameIncludingSingleQuoteUrl from "./nested/with-single'quote.png" text('.filename-including-single-quote', filenameIncludingSingleQuoteUrl) + // TODO: is not supported yet (https://github.com/vitejs/vite/pull/16243) + // import percentUrl from './asset/percent%25.png?url' + // text('.percent-url', percentUrl) + import cssUrl from './css/icons.css?url' text('.url-css', cssUrl) diff --git "a/playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.png" "b/playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" similarity index 100% rename from "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.png" rename to "playground/assets/nested/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.png" diff --git "a/playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.js" "b/playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" similarity index 100% rename from "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space%.js" rename to "playground/assets/\343\203\206\343\202\271\343\203\210-\346\270\254\350\251\246-white space.js" From 6a07243a0ecc06a81e87d5b3de7b88023a045e6b Mon Sep 17 00:00:00 2001 From: patak Date: Sat, 23 Mar 2024 10:58:33 +0100 Subject: [PATCH 457/656] release: v5.2.4 --- packages/vite/CHANGELOG.md | 6 ++++++ packages/vite/package.json | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index fe3308d896214a..acb9b232cec755 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,9 @@ +## 5.2.4 (2024-03-23) + +* fix: dont resolve imports with malformed URI (#16244) ([fbf69d5](https://github.com/vitejs/vite/commit/fbf69d5)), closes [#16244](https://github.com/vitejs/vite/issues/16244) + + + ## 5.2.3 (2024-03-22) * fix: handle warmup request error correctly (#16223) ([d7c5256](https://github.com/vitejs/vite/commit/d7c5256)), closes [#16223](https://github.com/vitejs/vite/issues/16223) diff --git a/packages/vite/package.json b/packages/vite/package.json index aa38301abaf624..d903c425bf9962 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.3", + "version": "5.2.4", "type": "module", "license": "MIT", "author": "Evan You", From 3a73e485cd4c08954fcb06698b5f721dea6e9f44 Mon Sep 17 00:00:00 2001 From: Wout Mertens Date: Sun, 24 Mar 2024 07:04:31 +0100 Subject: [PATCH 458/656] docs: clarify enforce vs hook.order (#16226) --- docs/guide/api-plugin.md | 2 ++ packages/vite/src/node/plugin.ts | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index 4d8066ff4dddb3..7f77b7b0464506 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -480,6 +480,8 @@ A Vite plugin can additionally specify an `enforce` property (similar to webpack - User plugins with `enforce: 'post'` - Vite post build plugins (minify, manifest, reporting) +Note that this is separate from hooks ordering, those are still separately subject to their `order` attribute [as usual for Rollup hooks](https://rollupjs.org/plugin-development/#build-hooks). + ## Conditional Application By default plugins are invoked for both serve and build. In cases where a plugin needs to be conditionally applied only during serve or build, use the `apply` property to only invoke them during `'build'` or `'serve'`: diff --git a/packages/vite/src/node/plugin.ts b/packages/vite/src/node/plugin.ts index 63b7598908c984..bf6eb069067bdc 100644 --- a/packages/vite/src/node/plugin.ts +++ b/packages/vite/src/node/plugin.ts @@ -39,7 +39,8 @@ import type { PreviewServerHook } from './preview' */ export interface Plugin
    extends RollupPlugin { /** - * Enforce plugin invocation tier similar to webpack loaders. + * Enforce plugin invocation tier similar to webpack loaders. Hooks ordering + * is still subject to the `order` property in the hook object. * * Plugin invocation order: * - alias resolution From 520bb8917e9bef86c27a1e3486d51a4878bd4297 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Sun, 24 Mar 2024 07:24:47 +0100 Subject: [PATCH 459/656] docs(create-vite): link to Vue docs for IDE support info (#16225) --- packages/create-vite/template-vue-ts/README.md | 6 +----- packages/create-vite/template-vue/README.md | 4 +--- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/packages/create-vite/template-vue-ts/README.md b/packages/create-vite/template-vue-ts/README.md index 0bfecb08f8aa58..33895ab2002862 100644 --- a/packages/create-vite/template-vue-ts/README.md +++ b/packages/create-vite/template-vue-ts/README.md @@ -2,8 +2,4 @@ This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` + diff --git a/playground/js-sourcemap/vite.config.js b/playground/js-sourcemap/vite.config.js index ba1c3510fc23b5..0c6d09b8d8906f 100644 --- a/playground/js-sourcemap/vite.config.js +++ b/playground/js-sourcemap/vite.config.js @@ -18,6 +18,9 @@ export default defineConfig({ if (name.endsWith('after-preload-dynamic-hashbang.js')) { return 'after-preload-dynamic-hashbang' } + if (name.endsWith('after-preload-dynamic-no-dep.js')) { + return 'after-preload-dynamic-no-dep' + } }, banner(chunk) { if (chunk.name.endsWith('after-preload-dynamic-hashbang')) { From 7caef4216e16d9ac71e38598a9ecedce2281d42f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 09:00:34 +0100 Subject: [PATCH 467/656] fix(deps): update all non-major dependencies (#16258) Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- docs/package.json | 2 +- package.json | 15 +- .../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 | 2 +- .../create-vite/template-qwik/package.json | 2 +- .../template-react-ts/package.json | 8 +- .../create-vite/template-react/package.json | 4 +- .../template-solid-ts/package.json | 4 +- .../create-vite/template-solid/package.json | 4 +- .../template-svelte-ts/package.json | 6 +- .../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 | 4 +- .../create-vite/template-vue/package.json | 2 +- packages/plugin-legacy/package.json | 6 +- packages/vite/package.json | 10 +- patches/postcss-import@16.0.1.patch | 38 - .../css-lightningcss-proxy/package.json | 2 +- playground/json/package.json | 2 +- playground/legacy/package.json | 2 +- playground/optimize-missing-deps/package.json | 2 +- playground/resolve/package.json | 2 +- playground/ssr-conditions/package.json | 2 +- playground/ssr-deps/package.json | 2 +- playground/ssr-html/package.json | 2 +- playground/ssr-noexternal/package.json | 2 +- playground/ssr-pug/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- playground/ssr/package.json | 2 +- playground/tailwind/package.json | 2 +- pnpm-lock.yaml | 1351 ++++++++--------- 35 files changed, 729 insertions(+), 773 deletions(-) delete mode 100644 patches/postcss-import@16.0.1.patch diff --git a/docs/package.json b/docs/package.json index 47d8e05eed31ce..82f5447b9c963b 100644 --- a/docs/package.json +++ b/docs/package.json @@ -10,7 +10,7 @@ "devDependencies": { "@shikijs/vitepress-twoslash": "^1.2.0", "@types/express": "^4.17.21", - "vitepress": "1.0.0-rc.45", + "vitepress": "1.0.1", "vue": "^3.4.21" } } diff --git a/package.json b/package.json index e38b96874e04f0..87cc9248a04461 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@babel/types": "^7.24.0", - "@eslint-types/typescript-eslint": "^7.0.2", + "@eslint-types/typescript-eslint": "^7.2.0", "@rollup/plugin-typescript": "^11.1.6", "@types/babel__core": "^7.20.5", "@types/babel__preset-env": "^7.9.6", @@ -53,21 +53,21 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.6", - "@types/node": "^20.11.28", + "@types/node": "^20.11.30", "@types/picomatch": "^2.3.3", "@types/sass": "~1.43.1", "@types/semver": "^7.5.8", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^4.1.0", "eslint": "^8.57.0", "eslint-define-config": "^2.1.0", "eslint-plugin-i": "^2.29.1", "eslint-plugin-n": "^16.6.2", - "eslint-plugin-regexp": "^2.3.0", + "eslint-plugin-regexp": "^2.4.0", "execa": "^8.0.1", "feed": "^4.2.2", "fs-extra": "^11.2.0", @@ -79,7 +79,7 @@ "rimraf": "^5.0.5", "rollup": "^4.13.0", "semver": "^7.6.0", - "simple-git-hooks": "^2.11.0", + "simple-git-hooks": "^2.11.1", "tslib": "^2.6.2", "tsx": "^4.7.1", "typescript": "^5.2.2", @@ -123,8 +123,7 @@ }, "patchedDependencies": { "chokidar@3.6.0": "patches/chokidar@3.6.0.patch", - "sirv@2.0.4": "patches/sirv@2.0.4.patch", - "postcss-import@16.0.1": "patches/postcss-import@16.0.1.patch" + "sirv@2.0.4": "patches/sirv@2.0.4.patch" }, "peerDependencyRules": { "allowedVersions": { diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 7c6874121c9cc8..ddd1ac974ad4d5 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.2.2", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index e7d6a17e178a7a..6a7b6178e43aaf 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.2" }, "devDependencies": { - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index b7dd33f7a458fd..56e9de291cbbb5 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.19.6" + "preact": "^10.20.1" }, "devDependencies": { "@preact/preset-vite": "^2.8.2", "typescript": "^5.2.2", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index bbd4bb91f38ca1..3592e3d6275aa0 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.19.6" + "preact": "^10.20.1" }, "devDependencies": { "@preact/preset-vite": "^2.8.2", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index fbaa38a1df1b07..73cb44de6d5257 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -11,7 +11,7 @@ "devDependencies": { "serve": "^14.2.1", "typescript": "^5.2.2", - "vite": "^5.2.0" + "vite": "^5.2.6" }, "dependencies": { "@builder.io/qwik": "^1.5.1" diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index e7e0a216f7ebb6..00a6eb306db7f9 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "serve": "^14.2.1", - "vite": "^5.2.0" + "vite": "^5.2.6" }, "dependencies": { "@builder.io/qwik": "^1.5.1" diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 2338f12414d4f0..d22c9206e2fe76 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,15 +14,15 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.66", + "@types/react": "^18.2.70", "@types/react-dom": "^18.2.22", - "@typescript-eslint/eslint-plugin": "^7.2.0", - "@typescript-eslint/parser": "^7.2.0", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.6", "typescript": "^5.2.2", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index f4babe084327c4..56e0e4985bae96 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,13 +14,13 @@ "react-dom": "^18.2.0" }, "devDependencies": { - "@types/react": "^18.2.66", + "@types/react": "^18.2.70", "@types/react-dom": "^18.2.22", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.6", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index af834e1aae5c50..d8d525aa979d31 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.15" + "solid-js": "^1.8.16" }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.2.0", + "vite": "^5.2.6", "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 05b58f352f31a6..9b3a425f5b5d01 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.15" + "solid-js": "^1.8.16" }, "devDependencies": { - "vite": "^5.2.0", + "vite": "^5.2.6", "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 3776ea3af1f3d0..910735dca315f1 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -11,11 +11,11 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.0.2", - "@tsconfig/svelte": "^5.0.2", + "@tsconfig/svelte": "^5.0.3", "svelte": "^4.2.12", - "svelte-check": "^3.6.7", + "svelte-check": "^3.6.8", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index b4ecca8d38a154..ae1c57d0b4d880 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.0.2", "svelte": "^4.2.12", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 6ffc98696c49c5..d636f815e20e38 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.2.2", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index afea57cffff1be..648b8e6c98e594 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.2.0" + "vite": "^5.2.6" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 52cc9f156ce09e..6afecb7de7701f 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", "typescript": "^5.2.2", - "vite": "^5.2.0", - "vue-tsc": "^2.0.6" + "vite": "^5.2.6", + "vue-tsc": "^2.0.7" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 9f65bf1bca02a4..13db31b874bfb7 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.2.0" + "vite": "^5.2.6" } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index 9b6d11827b13c6..1b0b4bcf2cf7db 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -41,11 +41,11 @@ "homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme", "funding": "https://github.com/vitejs/vite?sponsor=1", "dependencies": { - "@babel/core": "^7.24.0", - "@babel/preset-env": "^7.24.0", + "@babel/core": "^7.24.3", + "@babel/preset-env": "^7.24.3", "browserslist": "^4.23.0", "browserslist-to-esbuild": "^2.1.1", - "core-js": "^3.36.0", + "core-js": "^3.36.1", "magic-string": "^0.30.8", "regenerator-runtime": "^0.14.1", "systemjs": "^6.14.3" diff --git a/packages/vite/package.json b/packages/vite/package.json index 8184e65bea513e..003106a5cba08a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -86,7 +86,7 @@ "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", "dependencies": { "esbuild": "^0.20.1", - "postcss": "^8.4.36", + "postcss": "^8.4.38", "rollup": "^4.13.0" }, "optionalDependencies": { @@ -94,7 +94,7 @@ }, "devDependencies": { "@ampproject/remapping": "^2.3.0", - "@babel/parser": "^7.24.0", + "@babel/parser": "^7.24.1", "@jridgewell/trace-mapping": "^0.3.25", "@polka/compression": "^1.0.0-next.25", "@rollup/plugin-alias": "^5.1.0", @@ -119,7 +119,7 @@ "dep-types": "link:./src/types", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", - "es-module-lexer": "^1.4.1", + "es-module-lexer": "^1.5.0", "escape-html": "^1.0.3", "estree-walker": "^3.0.3", "etag": "^1.8.1", @@ -137,7 +137,7 @@ "periscopic": "^4.0.2", "picocolors": "^1.0.0", "picomatch": "^2.3.1", - "postcss-import": "^16.0.1", + "postcss-import": "^16.1.0", "postcss-load-config": "^4.0.2", "postcss-modules": "^6.0.0", "resolve.exports": "^2.0.2", @@ -151,7 +151,7 @@ "tsconfck": "^3.0.3", "tslib": "^2.6.2", "types": "link:./types", - "ufo": "^1.5.1", + "ufo": "^1.5.3", "ws": "^8.16.0" }, "peerDependencies": { diff --git a/patches/postcss-import@16.0.1.patch b/patches/postcss-import@16.0.1.patch deleted file mode 100644 index a0bee8d11f1201..00000000000000 --- a/patches/postcss-import@16.0.1.patch +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/lib/parse-styles.js b/lib/parse-styles.js -index 68a1fef604fad82ac367f6bd63e845027bf86089..4617545e86301f58bfcd649f66c0536e29bda50f 100644 ---- a/lib/parse-styles.js -+++ b/lib/parse-styles.js -@@ -223,19 +223,20 @@ function isProcessableURL(uri) { - return false - } - -- // check for fragment or query -- try { -- // needs a base to parse properly -- const url = new URL(uri, "https://example.com") -- -- if (url.hash) { -- return false -- } -- -- if (url.search) { -- return false -- } -- } catch {} // Ignore -+ // PATCH: comment out this part to support resolving imports field -+ // // check for fragment or query -+ // try { -+ // // needs a base to parse properly -+ // const url = new URL(uri, "https://example.com") -+ -+ // if (url.hash) { -+ // return false -+ // } -+ -+ // if (url.search) { -+ // return false -+ // } -+ // } catch {} // Ignore - - return true - } diff --git a/playground/css-lightningcss-proxy/package.json b/playground/css-lightningcss-proxy/package.json index 4e335a3184b382..06946b9a1f0756 100644 --- a/playground/css-lightningcss-proxy/package.json +++ b/playground/css-lightningcss-proxy/package.json @@ -10,6 +10,6 @@ }, "devDependencies": { "lightningcss": "^1.24.1", - "express": "^4.18.3" + "express": "^4.19.2" } } diff --git a/playground/json/package.json b/playground/json/package.json index 504938adbdff07..067ea65c19f8c0 100644 --- a/playground/json/package.json +++ b/playground/json/package.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@vitejs/test-json-module": "file:./json-module", - "express": "^4.18.3", + "express": "^4.19.2", "vue": "^3.4.21" } } diff --git a/playground/legacy/package.json b/playground/legacy/package.json index f39cc6fba1e0eb..08f017e04a39e1 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@vitejs/plugin-legacy": "workspace:*", - "express": "^4.18.3", + "express": "^4.19.2", "terser": "^5.29.2" } } diff --git a/playground/optimize-missing-deps/package.json b/playground/optimize-missing-deps/package.json index 9af5f68187ccf1..bcbd49586f6e2c 100644 --- a/playground/optimize-missing-deps/package.json +++ b/playground/optimize-missing-deps/package.json @@ -10,6 +10,6 @@ "@vitejs/test-missing-dep": "file:./missing-dep" }, "devDependencies": { - "express": "^4.18.3" + "express": "^4.19.2" } } diff --git a/playground/resolve/package.json b/playground/resolve/package.json index eb96f3f4de8fff..03410b28657ba2 100644 --- a/playground/resolve/package.json +++ b/playground/resolve/package.json @@ -19,7 +19,7 @@ "#query": "./imports-path/query.json" }, "dependencies": { - "@babel/runtime": "^7.24.0", + "@babel/runtime": "^7.24.1", "es5-ext": "0.10.64", "normalize.css": "^8.0.1", "@vitejs/test-require-pkg-with-module-field": "link:./require-pkg-with-module-field", diff --git a/playground/ssr-conditions/package.json b/playground/ssr-conditions/package.json index 931faae10cb7dd..5f94a6a5e88c84 100644 --- a/playground/ssr-conditions/package.json +++ b/playground/ssr-conditions/package.json @@ -13,6 +13,6 @@ "@vitejs/test-ssr-conditions-no-external": "file:./no-external" }, "devDependencies": { - "express": "^4.18.3" + "express": "^4.19.2" } } diff --git a/playground/ssr-deps/package.json b/playground/ssr-deps/package.json index a763f155c70e6f..e27f0f5c118171 100644 --- a/playground/ssr-deps/package.json +++ b/playground/ssr-deps/package.json @@ -33,6 +33,6 @@ "@vitejs/test-module-condition": "file:./module-condition" }, "devDependencies": { - "express": "^4.18.3" + "express": "^4.19.2" } } diff --git a/playground/ssr-html/package.json b/playground/ssr-html/package.json index e34cd840958a64..841eafe086a9f6 100644 --- a/playground/ssr-html/package.json +++ b/playground/ssr-html/package.json @@ -12,6 +12,6 @@ }, "dependencies": {}, "devDependencies": { - "express": "^4.18.3" + "express": "^4.19.2" } } diff --git a/playground/ssr-noexternal/package.json b/playground/ssr-noexternal/package.json index 2f46a22bb00ccb..3273e76b04c599 100644 --- a/playground/ssr-noexternal/package.json +++ b/playground/ssr-noexternal/package.json @@ -12,6 +12,6 @@ "dependencies": { "@vitejs/test-external-cjs": "file:./external-cjs", "@vitejs/test-require-external-cjs": "file:./require-external-cjs", - "express": "^4.18.3" + "express": "^4.19.2" } } diff --git a/playground/ssr-pug/package.json b/playground/ssr-pug/package.json index 47ff19bbec3ac3..23a489009aa8b8 100644 --- a/playground/ssr-pug/package.json +++ b/playground/ssr-pug/package.json @@ -9,7 +9,7 @@ "debug": "node --inspect-brk server" }, "devDependencies": { - "express": "^4.18.3", + "express": "^4.19.2", "pug": "^3.0.2" } } diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 1073d07516e519..e0094789ba4560 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.20240304.2", + "miniflare": "^3.20240320.0", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/ssr/package.json b/playground/ssr/package.json index 5f3d306bbc6a24..fe3899523cc956 100644 --- a/playground/ssr/package.json +++ b/playground/ssr/package.json @@ -10,6 +10,6 @@ }, "dependencies": {}, "devDependencies": { - "express": "^4.18.3" + "express": "^4.19.2" } } diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index 68846c459eff70..99ba5f2f237e4d 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "autoprefixer": "^10.4.18", + "autoprefixer": "^10.4.19", "tailwindcss": "^3.4.1", "vue": "^3.4.21", "vue-router": "^4.3.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1bdb5276b02cae..4f310cf11e5d26 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,9 +13,6 @@ patchedDependencies: chokidar@3.6.0: hash: bckcfsslxcffppz65mxcq6naau path: patches/chokidar@3.6.0.patch - postcss-import@16.0.1: - hash: fjrm7xa2co7loa5ldk32oip4ly - path: patches/postcss-import@16.0.1.patch sirv@2.0.4: hash: amdes53ifqfntejkflpaq5ifce path: patches/sirv@2.0.4.patch @@ -28,8 +25,8 @@ importers: specifier: ^7.24.0 version: 7.24.0 '@eslint-types/typescript-eslint': - specifier: ^7.0.2 - version: 7.0.2 + specifier: ^7.2.0 + version: 7.2.0 '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(rollup@4.13.0)(tslib@2.6.2)(typescript@5.2.2) @@ -64,8 +61,8 @@ importers: specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.11.28 - version: 20.11.28 + specifier: ^20.11.30 + version: 20.11.30 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -82,11 +79,11 @@ importers: specifier: ^8.5.10 version: 8.5.10 '@typescript-eslint/eslint-plugin': - specifier: ^7.2.0 - version: 7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.4.0 + version: 7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^7.2.0 - version: 7.2.0(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.4.0 + version: 7.4.0(eslint@8.57.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -101,13 +98,13 @@ importers: version: 2.1.0 eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.2.0)(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0) eslint-plugin-n: specifier: ^16.6.2 version: 16.6.2(eslint@8.57.0) eslint-plugin-regexp: - specifier: ^2.3.0 - version: 2.3.0(eslint@8.57.0) + specifier: ^2.4.0 + version: 2.4.0(eslint@8.57.0) execa: specifier: ^8.0.1 version: 8.0.1 @@ -142,8 +139,8 @@ importers: specifier: ^7.6.0 version: 7.6.0 simple-git-hooks: - specifier: ^2.11.0 - version: 2.11.0 + specifier: ^2.11.1 + version: 2.11.1 tslib: specifier: ^2.6.2 version: 2.6.2 @@ -161,7 +158,7 @@ importers: version: link:packages/vite vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.11.28) + version: 1.4.0(@types/node@20.11.30) docs: devDependencies: @@ -172,8 +169,8 @@ importers: specifier: ^4.17.21 version: 4.17.21 vitepress: - specifier: 1.0.0-rc.45 - version: 1.0.0-rc.45(typescript@5.2.2) + specifier: 1.0.1 + version: 1.0.1(typescript@5.2.2) vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.2.2) @@ -205,11 +202,11 @@ importers: packages/plugin-legacy: dependencies: '@babel/core': - specifier: ^7.24.0 - version: 7.24.0 + specifier: ^7.24.3 + version: 7.24.3 '@babel/preset-env': - specifier: ^7.24.0 - version: 7.24.0(@babel/core@7.24.0) + specifier: ^7.24.3 + version: 7.24.3(@babel/core@7.24.3) browserslist: specifier: ^4.23.0 version: 4.23.0 @@ -217,8 +214,8 @@ importers: specifier: ^2.1.1 version: 2.1.1(browserslist@4.23.0) core-js: - specifier: ^3.36.0 - version: 3.36.0 + specifier: ^3.36.1 + version: 3.36.1 magic-string: specifier: ^0.30.8 version: 0.30.8 @@ -245,8 +242,8 @@ importers: specifier: ^0.20.1 version: 0.20.1 postcss: - specifier: ^8.4.36 - version: 8.4.36 + specifier: ^8.4.38 + version: 8.4.38 rollup: specifier: ^4.13.0 version: 4.13.0 @@ -259,8 +256,8 @@ importers: specifier: ^2.3.0 version: 2.3.0 '@babel/parser': - specifier: ^7.24.0 - version: 7.24.0 + specifier: ^7.24.1 + version: 7.24.1 '@jridgewell/trace-mapping': specifier: ^0.3.25 version: 0.3.25 @@ -334,8 +331,8 @@ importers: specifier: ^11.0.6 version: 11.0.6 es-module-lexer: - specifier: ^1.4.1 - version: 1.4.1 + specifier: ^1.5.0 + version: 1.5.0 escape-html: specifier: ^1.0.3 version: 1.0.3 @@ -388,14 +385,14 @@ importers: specifier: ^2.3.1 version: 2.3.1 postcss-import: - specifier: ^16.0.1 - version: 16.0.1(patch_hash=fjrm7xa2co7loa5ldk32oip4ly)(postcss@8.4.36) + specifier: ^16.1.0 + version: 16.1.0(postcss@8.4.38) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.36)(ts-node@10.9.2) + version: 4.0.2(postcss@8.4.38)(ts-node@10.9.2) postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.36) + version: 6.0.0(postcss@8.4.38) resolve.exports: specifier: ^2.0.2 version: 2.0.2 @@ -430,8 +427,8 @@ importers: specifier: link:./types version: link:types ufo: - specifier: ^1.5.1 - version: 1.5.1 + specifier: ^1.5.3 + version: 1.5.3 ws: specifier: ^8.16.0 version: 8.16.0 @@ -581,7 +578,7 @@ importers: version: 4.2.0 postcss-nested: specifier: ^6.0.1 - version: 6.0.1(postcss@8.4.36) + version: 6.0.1(postcss@8.4.38) sass: specifier: ^1.72.0 version: 1.72.0 @@ -607,8 +604,8 @@ importers: playground/css-lightningcss-proxy: devDependencies: express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 lightningcss: specifier: ^1.24.1 version: 1.24.1 @@ -781,8 +778,8 @@ importers: specifier: file:./json-module version: file:playground/json/json-module express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 vue: specifier: ^3.4.21 version: 3.4.21(typescript@5.2.2) @@ -795,8 +792,8 @@ importers: specifier: workspace:* version: link:../../packages/plugin-legacy express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 terser: specifier: ^5.29.2 version: 5.29.2 @@ -1091,8 +1088,8 @@ importers: version: file:playground/optimize-missing-deps/missing-dep devDependencies: express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 playground/optimize-missing-deps/missing-dep: dependencies: @@ -1139,8 +1136,8 @@ importers: playground/resolve: dependencies: '@babel/runtime': - specifier: ^7.24.0 - version: 7.24.0 + specifier: ^7.24.1 + version: 7.24.1 '@vitejs/test-require-pkg-with-module-field': specifier: link:./require-pkg-with-module-field version: link:require-pkg-with-module-field @@ -1281,8 +1278,8 @@ importers: playground/ssr: devDependencies: express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 playground/ssr-alias: dependencies: @@ -1302,8 +1299,8 @@ importers: version: file:playground/ssr-conditions/no-external devDependencies: express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 playground/ssr-conditions/external: {} @@ -1379,8 +1376,8 @@ importers: version: 5.1.1 devDependencies: express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 playground/ssr-deps/css-lib: {} @@ -1454,8 +1451,8 @@ importers: playground/ssr-html: devDependencies: express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 playground/ssr-noexternal: dependencies: @@ -1466,8 +1463,8 @@ importers: specifier: file:./require-external-cjs version: file:playground/ssr-noexternal/require-external-cjs express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 playground/ssr-noexternal/external-cjs: {} @@ -1480,8 +1477,8 @@ importers: playground/ssr-pug: devDependencies: express: - specifier: ^4.18.3 - version: 4.18.3 + specifier: ^4.19.2 + version: 4.19.2 pug: specifier: ^3.0.2 version: 3.0.2 @@ -1524,8 +1521,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240304.2 - version: 3.20240304.2 + specifier: ^3.20240320.0 + version: 3.20240320.0 playground/ssr-webworker/browser-exports: {} @@ -1534,8 +1531,8 @@ importers: playground/tailwind: dependencies: autoprefixer: - specifier: ^10.4.18 - version: 10.4.18 + specifier: ^10.4.19 + version: 10.4.19 tailwindcss: specifier: ^3.4.1 version: 3.4.1(ts-node@10.9.2) @@ -1548,7 +1545,7 @@ importers: devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.11.28)(typescript@5.2.2) + version: 10.9.2(@types/node@20.11.30)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -1734,30 +1731,35 @@ packages: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 - /@babel/code-frame@7.23.5: - resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.23.4 - chalk: 2.4.2 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 /@babel/compat-data@7.23.5: resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} engines: {node: '>=6.9.0'} - /@babel/core@7.24.0: - resolution: {integrity: sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==} + /@babel/compat-data@7.24.1: + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/core@7.24.3: + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) - '@babel/helpers': 7.24.0 - '@babel/parser': 7.24.0 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 convert-source-map: 2.0.0 debug: 4.3.4 @@ -1767,8 +1769,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.23.6: - resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + /@babel/generator@7.24.1: + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 @@ -1800,42 +1802,42 @@ packages: lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.22.15(@babel/core@7.24.0): - resolution: {integrity: sha512-jKkwA59IXcvSaiK2UN45kKwSC9o+KuoXsBDvHvU/7BecYIp8GQ2UwrVvFgJASUT+hBnwJx6MhvMCuMzwZZ7jlg==} + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.0): + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.5.0(@babel/core@7.24.0): - resolution: {integrity: sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==} + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): + resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4 @@ -1862,8 +1864,8 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/helper-member-expression-to-functions@7.22.15: - resolution: {integrity: sha512-qLNsZbgrNh0fDQBCPocSL8guki1hcPvltGDv/NxvUoABwFq7GkKSu1nRXeJkVZc+wJvne2E0RKQz+2SQrz6eAA==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 @@ -1875,13 +1877,20 @@ packages: dependencies: '@babel/types': 7.24.0 - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.0): + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.22.15 '@babel/helper-simple-access': 7.22.5 @@ -1900,27 +1909,27 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.0): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.22.20(@babel/core@7.24.0): - resolution: {integrity: sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==} + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.22.15 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: false @@ -1960,876 +1969,875 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-function-name': 7.23.0 - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 '@babel/types': 7.24.0 dev: false - /@babel/helpers@7.24.0: - resolution: {integrity: sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==} + /@babel/helpers@7.24.1: + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.0 + '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color - /@babel/highlight@7.23.4: - resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} - requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 + picocolors: 1.0.0 - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==} + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) dev: false - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.23.7(@babel/core@7.24.0): - resolution: {integrity: sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==} + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.0): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.0): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-assertions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==} + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-attributes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==} + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.0): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.0): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.0): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.0): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-arrow-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==} + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-async-generator-functions@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==} + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-async-to-generator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==} + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-imports': 7.22.15 + '@babel/core': 7.24.3 + '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.0) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-block-scoped-functions@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==} + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-block-scoping@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==} + /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-class-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==} + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-class-static-block@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==} + /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-classes@7.23.8(@babel/core@7.24.0): - resolution: {integrity: sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==} + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==} + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.23.9 + '@babel/template': 7.24.0 dev: false - /@babel/plugin-transform-destructuring@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==} + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-dotall-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==} + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-duplicate-keys@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==} + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-dynamic-import@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==} + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-exponentiation-operator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==} + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-export-namespace-from@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==} + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-for-of@7.23.6(@babel/core@7.24.0): - resolution: {integrity: sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==} + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==} + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-json-strings@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==} + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==} + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==} + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-member-expression-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==} + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-modules-amd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==} + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-modules-commonjs@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==} + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.23.9(@babel/core@7.24.0): - resolution: {integrity: sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==} + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==} + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.0): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-new-target@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==} + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==} + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-numeric-separator@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==} + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-object-rest-spread@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==} + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-object-super@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==} + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.22.20(@babel/core@7.24.0) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-optional-catch-binding@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==} + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-optional-chaining@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==} + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-parameters@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==} + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-private-methods@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==} + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-private-property-in-object@7.23.4(@babel/core@7.24.0): - resolution: {integrity: sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==} + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) dev: false - /@babel/plugin-transform-property-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==} + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-regenerator@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==} + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==} + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-shorthand-properties@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==} + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-spread@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==} + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==} + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-template-literals@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==} + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-typeof-symbol@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==} + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-escapes@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==} + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-property-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==} + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==} + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.23.3(@babel/core@7.24.0): - resolution: {integrity: sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==} + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/preset-env@7.24.0(@babel/core@7.24.0): - resolution: {integrity: sha512-ZxPEzV9IgvGn73iK0E6VB9/95Nd7aMFpbE0l8KQFDG70cOV9IxRP7Y2FUPmlK0v6ImlLqYX50iuZ3ZTVhOF2lA==} + /@babel/preset-env@7.24.3(@babel/core@7.24.3): + resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.23.7(@babel/core@7.24.0) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.0) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.0) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.0) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-assertions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-attributes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.0) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.0) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.0) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.0) - '@babel/plugin-transform-arrow-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoped-functions': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-block-scoping': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-class-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-class-static-block': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-classes': 7.23.8(@babel/core@7.24.0) - '@babel/plugin-transform-computed-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-destructuring': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dotall-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-duplicate-keys': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-dynamic-import': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-exponentiation-operator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-export-namespace-from': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-for-of': 7.23.6(@babel/core@7.24.0) - '@babel/plugin-transform-function-name': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-json-strings': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-logical-assignment-operators': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-member-expression-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-amd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-commonjs': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-modules-systemjs': 7.23.9(@babel/core@7.24.0) - '@babel/plugin-transform-modules-umd': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.0) - '@babel/plugin-transform-new-target': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-nullish-coalescing-operator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-numeric-separator': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-object-rest-spread': 7.24.0(@babel/core@7.24.0) - '@babel/plugin-transform-object-super': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-optional-catch-binding': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-optional-chaining': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-parameters': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-methods': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-private-property-in-object': 7.23.4(@babel/core@7.24.0) - '@babel/plugin-transform-property-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-regenerator': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-reserved-words': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-shorthand-properties': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-spread': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-sticky-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-template-literals': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-typeof-symbol': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-escapes': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-property-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-regex': 7.23.3(@babel/core@7.24.0) - '@babel/plugin-transform-unicode-sets-regex': 7.23.3(@babel/core@7.24.0) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.0) - babel-plugin-polyfill-corejs2: 0.4.8(@babel/core@7.24.0) - babel-plugin-polyfill-corejs3: 0.9.0(@babel/core@7.24.0) - babel-plugin-polyfill-regenerator: 0.5.5(@babel/core@7.24.0) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) core-js-compat: 3.35.0 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.0): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 @@ -2839,8 +2847,8 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime@7.24.0: - resolution: {integrity: sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==} + /@babel/runtime@7.24.1: + resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -2851,34 +2859,25 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/template@7.23.9: - resolution: {integrity: sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - dev: false - /@babel/template@7.24.0: resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/parser': 7.24.0 + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 - /@babel/traverse@7.24.0: - resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.23.5 - '@babel/generator': 7.23.6 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 debug: 4.3.4 globals: 11.12.0 @@ -2893,8 +2892,8 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@cloudflare/workerd-darwin-64@1.20240304.0: - resolution: {integrity: sha512-rfHlvsWzkqEEQNvm14AOE/BYHYzB9wxQHCaZZEgwOuTl5KpDcs9La0N0LaDTR78ESumIWOcifVmko2VTrZb7TQ==} + /@cloudflare/workerd-darwin-64@1.20240320.1: + resolution: {integrity: sha512-ioG5k2M17xyiAlK/k3L21NZLMVeSHMjwlmGtZyCyzSLL5/zGINcgZ5yPLV0UuWiysw07/6Jjzm5Sx94hzMVybg==} engines: {node: '>=16'} cpu: [x64] os: [darwin] @@ -2902,8 +2901,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-darwin-arm64@1.20240304.0: - resolution: {integrity: sha512-IXGOxHsPdRYfAzcY6IroI1PDvx3hhXf18qFCloHp8Iw5bzLgq/PTjcp10Z/2xedZ2hVlfpHy1eEptsTmi9YeNw==} + /@cloudflare/workerd-darwin-arm64@1.20240320.1: + resolution: {integrity: sha512-Ga6RDdnFEIsN4WuWsaP9bLGvK9K7pEIVoSIgmw6vweVlD8UK/a2MPGrsF1ogwdeCTCOMY8wUh9poL/Yu48IPpg==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] @@ -2911,8 +2910,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-64@1.20240304.0: - resolution: {integrity: sha512-G1BEzbw9TFIeMvc425F145IetC7fuH4KOkGhseLq9y/mt5PfDWkghwmXSK+q0BiMwm0XAobtzVlHcEr2u4WlRQ==} + /@cloudflare/workerd-linux-64@1.20240320.1: + resolution: {integrity: sha512-KFof5H8eU0NXv+pUAU7Lk/OLtOmfsioTJqu0v6kPL7QsTGsgzj5sEQNcQ8DONSze549Yflu5W00qpA2cPz9eWQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] @@ -2920,8 +2919,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-arm64@1.20240304.0: - resolution: {integrity: sha512-LLk/d/y77TRu6QOG3CJUI2cD3Ff2lSg0ts6G83bsm9ZK+WKObWFFSPBy9l81m3EnlKFh7RZCzxN4J10kuDaO8w==} + /@cloudflare/workerd-linux-arm64@1.20240320.1: + resolution: {integrity: sha512-t+kGc6dGdkKvVMGcHCPhlCsUZF5dj8xbAFvLB7DAJ8T79ys30rmY2Lu/C8vKlhjH9TJhbzgKmPaJ0wC/K4euvw==} engines: {node: '>=16'} cpu: [arm64] os: [linux] @@ -2929,8 +2928,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-windows-64@1.20240304.0: - resolution: {integrity: sha512-I/j6nVpM+WDPg+bYUAiKLkwQsjrXFjpOGHvwYmcM44hnDjgODzk7AbVssEIXnhEO3oupBeuKvffr0lvX0Ngmpw==} + /@cloudflare/workerd-windows-64@1.20240320.1: + resolution: {integrity: sha512-9xDylCOsuzWqGuANkuUByiJ5RHeMqgw37FiI7rn8I6zdGAc/alOB9B4Bh7B73WC2uEpFL+XCEjcHZ6NmsO4NaQ==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -2944,14 +2943,14 @@ packages: dependencies: '@jridgewell/trace-mapping': 0.3.9 - /@docsearch/css@3.5.2: - resolution: {integrity: sha512-SPiDHaWKQZpwR2siD0KQUwlStvIAnEyK6tAE2h2Wuoq8ue9skzhlyVQ1ddzOxX6khULnAALDiR/isSF3bnuciA==} + /@docsearch/css@3.6.0: + resolution: {integrity: sha512-+sbxb71sWre+PwDK7X2T8+bhS6clcVMLwBPznX45Qu6opJcgRjAp7gYSDzVFp187J+feSj5dNBN1mJoi6ckkUQ==} dev: true - /@docsearch/js@3.5.2: - resolution: {integrity: sha512-p1YFTCDflk8ieHgFJYfmyHBki1D61+U9idwrLh+GQQMrBSP3DLGKpy0XUJtPjAOPltcVbqsTjiPFfH7JImjUNg==} + /@docsearch/js@3.6.0: + resolution: {integrity: sha512-QujhqINEElrkIfKwyyyTfbsfMAYCkylInLYMRqHy7PHc8xTBQCow73tlo/Kc7oIwBrCLf0P3YhjlOeV4v8hevQ==} dependencies: - '@docsearch/react': 3.5.2 + '@docsearch/react': 3.6.0 preact: 10.7.3 transitivePeerDependencies: - '@algolia/client-search' @@ -2961,8 +2960,8 @@ packages: - search-insights dev: true - /@docsearch/react@3.5.2: - resolution: {integrity: sha512-9Ahcrs5z2jq/DcAvYtvlqEBHImbm4YJI8M9y0x6Tqg598P40HTEkX7hsMcIuThI+hTFxRGZ9hll0Wygm2yEjng==} + /@docsearch/react@3.6.0: + resolution: {integrity: sha512-HUFut4ztcVNmqy9gp/wxNbC7pTOHhgVVkHVGCACTuLhUKUhKAF9KYHJtMiLUJxEqiFLQiuri1fWF8zqwM/cu1w==} peerDependencies: '@types/react': '>= 16.8.0 < 19.0.0' react: '>= 16.8.0 < 19.0.0' @@ -2980,7 +2979,7 @@ packages: dependencies: '@algolia/autocomplete-core': 1.9.3(algoliasearch@4.20.0) '@algolia/autocomplete-preset-algolia': 1.9.3(algoliasearch@4.20.0) - '@docsearch/css': 3.5.2 + '@docsearch/css': 3.6.0 algoliasearch: 4.20.0 transitivePeerDependencies: - '@algolia/client-search' @@ -3590,8 +3589,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint-types/typescript-eslint@7.0.2: - resolution: {integrity: sha512-2F67MVKhkJ2rSwoYvNJzJULqZwR5rNYI/eWoIrKDQ14lMzfqzbpzCBvnHrivBYWTN+Az7MVX00TzDTrjOc+YNA==} + /@eslint-types/typescript-eslint@7.2.0: + resolution: {integrity: sha512-QeCnZEHdeehkcZSy5q41aVHXD78FElfTjQ8AG5HnEREtyBG3PEz7NTuLD13Xbh6p0YR7q4GkV4EswVxz8IiMxA==} dev: true /@eslint/eslintrc@2.1.4: @@ -4082,18 +4081,14 @@ packages: requiresBuild: true optional: true - /@shikijs/core@1.1.5: - resolution: {integrity: sha512-cKc5vGQ4p/4sjx48BHIO7CvLaN32vqpz5Wh7v2n+U1EezGdfX4Wms7khBctKz3iCg9yYq4sfGUc2t+JWj6EUsw==} - dev: true - /@shikijs/core@1.2.0: resolution: {integrity: sha512-OlFvx+nyr5C8zpcMBnSGir0YPD6K11uYhouqhNmm1qLiis4GA7SsGtu07r9gKS9omks8RtQqHrJL4S+lqWK01A==} dev: true - /@shikijs/transformers@1.1.5: - resolution: {integrity: sha512-ot6KWPmLuSN9nA9FAhttOXZIjKIy7cnwpNtI9aWmYN72RUaDz8eojRfMGUXsXXUxW/buvcvdZQAQldk7/pFpdw==} + /@shikijs/transformers@1.2.0: + resolution: {integrity: sha512-xKn7DtA65DQV4FOfYsrvqM80xOy2xuXnxWWKsZmHv1VII/IOuDUDsWDu3KnpeLH6wqNJWp1GRoNUsHR1aw/VhQ==} dependencies: - shiki: 1.1.5 + shiki: 1.2.0 dev: true /@shikijs/twoslash@1.2.0(typescript@5.2.2): @@ -4143,7 +4138,7 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -4163,7 +4158,7 @@ packages: /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true @@ -4177,7 +4172,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/braces@3.0.1: @@ -4187,7 +4182,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/convert-source-map@2.0.3: @@ -4197,7 +4192,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/debug@4.1.12: @@ -4224,13 +4219,13 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -4249,7 +4244,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/hast@3.0.4: @@ -4269,7 +4264,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/less@3.0.6: @@ -4329,8 +4324,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.11.28: - resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: undici-types: 5.26.5 @@ -4368,7 +4363,7 @@ packages: /@types/sass@1.43.1: resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/semver@7.5.8: @@ -4379,7 +4374,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/serve-static@1.15.5: @@ -4387,13 +4382,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true /@types/unist@3.0.2: @@ -4407,12 +4402,12 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 dev: true - /@typescript-eslint/eslint-plugin@7.2.0(@typescript-eslint/parser@7.2.0)(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-mdekAHOqS9UjlmyF/LSs6AIEvfceV749GFxoBAjwAv0nkevfKHWQFDMcBZWUiIC5ft6ePWivXoS36aKQ0Cy3sw==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/eslint-plugin@7.4.0(@typescript-eslint/parser@7.4.0)(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 @@ -4422,11 +4417,11 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.9.1 - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/type-utils': 7.2.0(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/type-utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 eslint: 8.57.0 graphemer: 1.4.0 @@ -4439,9 +4434,9 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-5FKsVcHTk6TafQKQbuIVkXq58Fnbkd2wDL4LB7AURN7RUOu1utVP+G8+6u3ZhEroW3DF6hyo3ZEXxgKgp4KeCg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/parser@7.4.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -4449,10 +4444,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 eslint: 8.57.0 typescript: 5.2.2 @@ -4460,17 +4455,17 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@7.2.0: - resolution: {integrity: sha512-Qh976RbQM/fYtjx9hs4XkayYujB/aPwglw2choHmf3zBjB4qOywWSdt9+KLRdHubGcoSwBnXUH2sR3hkyaERRg==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/scope-manager@7.4.0: + resolution: {integrity: sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 dev: true - /@typescript-eslint/type-utils@7.2.0(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-xHi51adBHo9O9330J8GQYQwrKBqbIPJGZZVQTHHmy200hvkLZFWJIFtAG/7IYTWUyun6DE6w5InDReePJYJlJA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/type-utils@7.4.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 typescript: '*' @@ -4478,8 +4473,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.2.2) - '@typescript-eslint/utils': 7.2.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2) + '@typescript-eslint/utils': 7.4.0(eslint@8.57.0)(typescript@5.2.2) debug: 4.3.4 eslint: 8.57.0 ts-api-utils: 1.0.1(typescript@5.2.2) @@ -4488,22 +4483,22 @@ packages: - supports-color dev: true - /@typescript-eslint/types@7.2.0: - resolution: {integrity: sha512-XFtUHPI/abFhm4cbCDc5Ykc8npOKBSJePY3a3s+lwumt7XWJuzP5cZcfZ610MIPHjQjNsOLlYK8ASPaNG8UiyA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/types@7.4.0: + resolution: {integrity: sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==} + engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@7.2.0(typescript@5.2.2): - resolution: {integrity: sha512-cyxS5WQQCoBwSakpMrvMXuMDEbhOo9bNHHrNcEWis6XHx6KF518tkF1wBvKIn/tpq5ZpUYK7Bdklu8qY0MsFIA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/typescript-estree@7.4.0(typescript@5.2.2): + resolution: {integrity: sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/visitor-keys': 7.2.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/visitor-keys': 7.4.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 @@ -4515,18 +4510,18 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.2.0(eslint@8.57.0)(typescript@5.2.2): - resolution: {integrity: sha512-YfHpnMAGb1Eekpm3XRK8hcMwGLGsnT6L+7b2XyRv6ouDuJU1tZir1GS2i0+VXRatMwSI1/UfcyPe53ADkU+IuA==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/utils@7.4.0(eslint@8.57.0)(typescript@5.2.2): + resolution: {integrity: sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==} + engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.12 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.2.0 - '@typescript-eslint/types': 7.2.0 - '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.4.0 + '@typescript-eslint/types': 7.4.0 + '@typescript-eslint/typescript-estree': 7.4.0(typescript@5.2.2) eslint: 8.57.0 semver: 7.6.0 transitivePeerDependencies: @@ -4534,11 +4529,11 @@ packages: - typescript dev: true - /@typescript-eslint/visitor-keys@7.2.0: - resolution: {integrity: sha512-c6EIQRHhcpl6+tO8EMR+kjkkV+ugUNXOmeASA1rlzkd8EPIriavpWoiEz1HR/VLhbVIdhqnV6E7JZm00cBDx2A==} - engines: {node: ^16.0.0 || >=18.0.0} + /@typescript-eslint/visitor-keys@7.4.0: + resolution: {integrity: sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==} + engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/types': 7.4.0 eslint-visitor-keys: 3.4.3 dev: true @@ -4630,7 +4625,7 @@ packages: /@vue/compiler-core@3.2.0: resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 '@vue/shared': 3.2.0 estree-walker: 2.0.2 @@ -4640,7 +4635,7 @@ packages: /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 @@ -4662,14 +4657,14 @@ packages: /@vue/compiler-sfc@3.4.21: resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@vue/compiler-core': 3.4.21 '@vue/compiler-dom': 3.4.21 '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 estree-walker: 2.0.2 magic-string: 0.30.8 - postcss: 8.4.36 + postcss: 8.4.38 source-map-js: 1.0.2 /@vue/compiler-ssr@3.4.21: @@ -4686,29 +4681,29 @@ packages: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} dev: false - /@vue/devtools-api@7.0.14: - resolution: {integrity: sha512-TluWR9qZ6aO11bwtYK8+fzXxBqLfsE0mWZz1q/EQBmO9k82Cm6deieLwNNXjNFJz7xutazoia5Qa+zTYkPPOfw==} + /@vue/devtools-api@7.0.21(vue@3.4.21): + resolution: {integrity: sha512-hIkqpU3I9BM/qNUGhb/RAfEkRtFZTM4QFrBBH5gxGYubBIRctqgQk4ukLAkhaW+VmOw5DAPxQHXH4W6Oh36L6g==} dependencies: - '@vue/devtools-kit': 7.0.14 + '@vue/devtools-kit': 7.0.21(vue@3.4.21) + transitivePeerDependencies: + - vue dev: true - /@vue/devtools-kit@7.0.14: - resolution: {integrity: sha512-wAAJazr4hI0aVRpgWOCVPw+NzMQdthhnprHHIg4njp1MkKrpCNGQ7MtQbZF1AltAA7xpMCGyyt+0kYH0FqTiPg==} + /@vue/devtools-kit@7.0.21(vue@3.4.21): + resolution: {integrity: sha512-tNDtcQkPHfLDH1wtZuSZ2ZfE+r/aGswkBmKmXjwfpZTsOTk/YXsgrMnBKtHOL6dpsG3GyP09gIgNkCkA5lBIPQ==} + peerDependencies: + vue: ^3.0.0 dependencies: - '@vue/devtools-schema': 7.0.14 - '@vue/devtools-shared': 7.0.14 + '@vue/devtools-shared': 7.0.21 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 + vue: 3.4.21(typescript@5.2.2) dev: true - /@vue/devtools-schema@7.0.14: - resolution: {integrity: sha512-tpUeCLVrdHX+KzWMLTAwx/vAPFbo6jAUi7sr6Q+0mBIqIVSSIxNr5wEhegiFvYva+OtDeM2OrT+f7/X/5bvZNg==} - dev: true - - /@vue/devtools-shared@7.0.14: - resolution: {integrity: sha512-79RP1NDakBVWou9rDpVnT1WMjTbL1lJKm6YEOodjQ0dq5ehf0wsRbeYDhgAlnjehWRzTq5GAYFBFUPYBs0/QpA==} + /@vue/devtools-shared@7.0.21: + resolution: {integrity: sha512-wuIakRkSqwsk9+Y4z5QTdsmhTJRAt4aX0ROXyOOEPL+ROrN26YsPbXyqlzroU5uoOoAvx81iObIlmwZWtZztgw==} dependencies: rfdc: 1.3.1 dev: true @@ -4788,20 +4783,20 @@ packages: /@vue/shared@3.4.21: resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - /@vueuse/core@10.7.2(vue@3.4.21): - resolution: {integrity: sha512-AOyAL2rK0By62Hm+iqQn6Rbu8bfmbgaIMXcE3TSr7BdQ42wnSFlwIdPjInO62onYsEMK/yDMU8C6oGfDAtZ2qQ==} + /@vueuse/core@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 - '@vueuse/metadata': 10.7.2 - '@vueuse/shared': 10.7.2(vue@3.4.21) - vue-demi: 0.14.6(vue@3.4.21) + '@vueuse/metadata': 10.9.0 + '@vueuse/shared': 10.9.0(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.7.2(focus-trap@7.5.4)(vue@3.4.21): - resolution: {integrity: sha512-+u3RLPFedjASs5EKPc69Ge49WNgqeMfSxFn+qrQTzblPXZg6+EFzhjarS5edj2qAf6xQ93f95TUxRwKStXj/sQ==} + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.21): + resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} peerDependencies: async-validator: '*' axios: '*' @@ -4841,23 +4836,23 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.7.2(vue@3.4.21) - '@vueuse/shared': 10.7.2(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/shared': 10.9.0(vue@3.4.21) focus-trap: 7.5.4 - vue-demi: 0.14.6(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/metadata@10.7.2: - resolution: {integrity: sha512-kCWPb4J2KGrwLtn1eJwaJD742u1k5h6v/St5wFe8Quih90+k2a0JP8BS4Zp34XUuJqS2AxFYMb1wjUL8HfhWsQ==} + /@vueuse/metadata@10.9.0: + resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} dev: true - /@vueuse/shared@10.7.2(vue@3.4.21): - resolution: {integrity: sha512-qFbXoxS44pi2FkgFjPvF4h7c9oMDutpyBdcJdMYIMg9XyXli2meFMuaKn+UMgsClo//Th6+beeCgqweT/79BVA==} + /@vueuse/shared@10.9.0(vue@3.4.21): + resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.6(vue@3.4.21) + vue-demi: 0.14.7(vue@3.4.21) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5074,8 +5069,8 @@ packages: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: false - /autoprefixer@10.4.18: - resolution: {integrity: sha512-1DKbDfsr6KUElM6wg+0zRNkB/Q7WcKYAaK+pzXn+Xqmszm/5Xa9coeNdtP88Vi+dPzZnMjhge8GIV49ZQkDa+g==} + /autoprefixer@10.4.19: + resolution: {integrity: sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: @@ -5085,7 +5080,7 @@ packages: optional: true dependencies: browserslist: 4.23.0 - caniuse-lite: 1.0.30001596 + caniuse-lite: 1.0.30001600 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 @@ -5102,38 +5097,38 @@ packages: - debug dev: false - /babel-plugin-polyfill-corejs2@0.4.8(@babel/core@7.24.0): - resolution: {integrity: sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==} + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): + resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.23.5 - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/compat-data': 7.24.1 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.9.0(@babel/core@7.24.0): - resolution: {integrity: sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==} + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) - core-js-compat: 3.35.0 + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.5.5(@babel/core@7.24.0): - resolution: {integrity: sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==} + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.0 - '@babel/helper-define-polyfill-provider': 0.5.0(@babel/core@7.24.0) + '@babel/core': 7.24.3 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) transitivePeerDependencies: - supports-color dev: false @@ -5268,8 +5263,8 @@ packages: /caniuse-lite@1.0.30001588: resolution: {integrity: sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==} - /caniuse-lite@1.0.30001596: - resolution: {integrity: sha512-zpkZ+kEr6We7w63ORkoJ2pOfBwBkY/bJrG/UZ90qNb45Isblu8wzDgevEOrRL1r9dWayHjYiiyCMEXPn4DweGQ==} + /caniuse-lite@1.0.30001600: + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} dev: false /capnp-ts@0.7.0: @@ -5487,7 +5482,7 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 dev: true @@ -5497,10 +5492,6 @@ packages: dependencies: safe-buffer: 5.2.1 - /content-type@1.0.4: - resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} - engines: {node: '>= 0.6'} - /content-type@1.0.5: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} @@ -5643,6 +5634,11 @@ packages: /cookie@0.5.0: resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} engines: {node: '>= 0.6'} + dev: true + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} /copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} @@ -5656,8 +5652,14 @@ packages: browserslist: 4.23.0 dev: false - /core-js@3.36.0: - resolution: {integrity: sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==} + /core-js-compat@3.36.1: + resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} + dependencies: + browserslist: 4.23.0 + dev: false + + /core-js@3.36.1: + resolution: {integrity: sha512-BTvUrwxVBezj5SZ3f10ImnX2oRByMxql3EimVqMysepbC9EeMUOpLwdy6Eoili2x6E4kf+ZUB5k/+Jv55alPfA==} requiresBuild: true dev: false @@ -5929,8 +5931,8 @@ packages: is-arrayish: 0.2.1 dev: true - /es-module-lexer@1.4.1: - resolution: {integrity: sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==} + /es-module-lexer@1.5.0: + resolution: {integrity: sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==} dev: true /es5-ext@0.10.64: @@ -6096,7 +6098,7 @@ packages: - supports-color dev: true - /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + /eslint-module-utils@2.8.0(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} engines: {node: '>=4'} peerDependencies: @@ -6117,7 +6119,7 @@ packages: eslint-import-resolver-webpack: optional: true dependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.4.0(eslint@8.57.0)(typescript@5.2.2) debug: 3.2.7 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 @@ -6137,7 +6139,7 @@ packages: eslint-compat-utils: 0.1.2(eslint@8.57.0) dev: true - /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.2.0)(eslint@8.57.0): + /eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.4.0)(eslint@8.57.0): resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} engines: {node: '>=12'} peerDependencies: @@ -6147,7 +6149,7 @@ packages: doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.2.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.4.0)(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -6179,8 +6181,8 @@ packages: semver: 7.6.0 dev: true - /eslint-plugin-regexp@2.3.0(eslint@8.57.0): - resolution: {integrity: sha512-T8JUs7ssRGbuXb+CGfdUJbcxTBMCNOpNqNBLuC8JUKAEIez72J37RaOi5/4dAUsGz92GbWVtqTLPSJZGyP/sQA==} + /eslint-plugin-regexp@2.4.0(eslint@8.57.0): + resolution: {integrity: sha512-OL2S6VPjQhs9s/NclQ0qattVq1J0GU8ox70/HIVy5Dxw+qbbdd7KQkyucsez2clEQjvdtDe12DTnPphFFUyXFg==} engines: {node: ^18 || >=20} peerDependencies: eslint: '>=8.44.0' @@ -6345,16 +6347,16 @@ packages: engines: {node: '>=6'} dev: true - /express@4.18.3: - resolution: {integrity: sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==} + /express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 body-parser: 1.20.2 content-disposition: 0.5.4 - content-type: 1.0.4 - cookie: 0.5.0 + content-type: 1.0.5 + cookie: 0.6.0 cookie-signature: 1.0.6 debug: 2.6.9 depd: 2.0.0 @@ -6923,7 +6925,7 @@ packages: dev: true optional: true - /icss-utils@5.1.0(postcss@8.4.36): + /icss-utils@5.1.0(postcss@8.4.38): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -6932,7 +6934,7 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.36 + postcss: 8.4.38 dev: true /ignore-walk@5.0.1: @@ -7928,8 +7930,8 @@ packages: engines: {node: '>=12'} dev: true - /miniflare@3.20240304.2: - resolution: {integrity: sha512-yQ5TBKv7TlvF8khFvvH+1WWk8cBnaLgNzcbJ5DLQOdecxdDxUCVlN38HThd6Nhcz6EY+ckDkww8FkugUbSSpIQ==} + /miniflare@3.20240320.0: + resolution: {integrity: sha512-4M2QRxs+J5sUsybBzKT++tlbrjjjGZdtWxKmj2sqLsT26dGaKDz7DxjAeF5XIhKa5cADcffygjxx4EvfWocMmw==} engines: {node: '>=16.13'} hasBin: true dependencies: @@ -7941,7 +7943,7 @@ packages: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.3 - workerd: 1.20240304.0 + workerd: 1.20240320.1 ws: 8.16.0 youch: 3.2.3 zod: 3.21.4 @@ -8044,7 +8046,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.5.1 + ufo: 1.5.3 dev: true /mlly@1.6.1: @@ -8053,7 +8055,7 @@ packages: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.0.3 - ufo: 1.5.1 + ufo: 1.5.3 dev: true /moment@2.30.1: @@ -8364,7 +8366,7 @@ packages: resolution: {integrity: sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==} engines: {node: '>=16'} dependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 3.0.0 lines-and-columns: 2.0.3 @@ -8508,7 +8510,7 @@ packages: hasBin: true dev: true - /postcss-import@15.1.0(postcss@8.4.36): + /postcss-import@15.1.0(postcss@8.4.38): resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: @@ -8517,13 +8519,13 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.36 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 - /postcss-import@16.0.1(patch_hash=fjrm7xa2co7loa5ldk32oip4ly)(postcss@8.4.36): - resolution: {integrity: sha512-i2Pci0310NaLHr/5JUFSw1j/8hf1CzwMY13g6ZDxgOavmRHQi2ba3PmUHoihO+sjaum+KmCNzskNsw7JDrg03g==} + /postcss-import@16.1.0(postcss@8.4.38): + resolution: {integrity: sha512-7hsAZ4xGXl4MW+OKEWCnF6T5jqBw80/EE9aXg1r2yyn1RsVEU8EtKXbijEODa+rg7iih4bKf7vlvTGYR4CnPNg==} engines: {node: '>=18.0.0'} peerDependencies: postcss: ^8.0.0 @@ -8531,14 +8533,13 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.36 + postcss: 8.4.38 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 dev: true - patched: true - /postcss-js@4.0.1(postcss@8.4.36): + /postcss-js@4.0.1(postcss@8.4.38): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} engines: {node: ^12 || ^14 || >= 16} peerDependencies: @@ -8548,9 +8549,9 @@ packages: optional: true dependencies: camelcase-css: 2.0.1 - postcss: 8.4.36 + postcss: 8.4.38 - /postcss-load-config@4.0.2(postcss@8.4.36)(ts-node@10.9.2): + /postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2): resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} engines: {node: '>= 14'} peerDependencies: @@ -8563,11 +8564,11 @@ packages: optional: true dependencies: lilconfig: 3.0.0 - postcss: 8.4.36 - ts-node: 10.9.2(@types/node@20.11.28)(typescript@5.2.2) + postcss: 8.4.38 + ts-node: 10.9.2(@types/node@20.11.30)(typescript@5.2.2) yaml: 2.3.4 - /postcss-modules-extract-imports@3.0.0(postcss@8.4.36): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8576,10 +8577,10 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.36 + postcss: 8.4.38 dev: true - /postcss-modules-local-by-default@4.0.0(postcss@8.4.36): + /postcss-modules-local-by-default@4.0.0(postcss@8.4.38): resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8588,13 +8589,13 @@ packages: postcss: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.36) - postcss: 8.4.36 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 dev: true - /postcss-modules-scope@3.0.0(postcss@8.4.36): + /postcss-modules-scope@3.0.0(postcss@8.4.38): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8603,11 +8604,11 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.36 + postcss: 8.4.38 postcss-selector-parser: 6.0.11 dev: true - /postcss-modules-values@4.0.0(postcss@8.4.36): + /postcss-modules-values@4.0.0(postcss@8.4.38): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: @@ -8616,11 +8617,11 @@ packages: postcss: optional: true dependencies: - icss-utils: 5.1.0(postcss@8.4.36) - postcss: 8.4.36 + icss-utils: 5.1.0(postcss@8.4.38) + postcss: 8.4.38 dev: true - /postcss-modules@6.0.0(postcss@8.4.36): + /postcss-modules@6.0.0(postcss@8.4.38): resolution: {integrity: sha512-7DGfnlyi/ju82BRzTIjWS5C4Tafmzl3R79YP/PASiocj+aa6yYphHhhKUOEoXQToId5rgyFgJ88+ccOUydjBXQ==} peerDependencies: postcss: ^8.0.0 @@ -8629,17 +8630,17 @@ packages: optional: true dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.36) + icss-utils: 5.1.0(postcss@8.4.38) lodash.camelcase: 4.3.0 - postcss: 8.4.36 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.36) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.36) - postcss-modules-scope: 3.0.0(postcss@8.4.36) - postcss-modules-values: 4.0.0(postcss@8.4.36) + postcss: 8.4.38 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.38) + postcss-modules-scope: 3.0.0(postcss@8.4.38) + postcss-modules-values: 4.0.0(postcss@8.4.38) string-hash: 1.1.3 dev: true - /postcss-nested@6.0.1(postcss@8.4.36): + /postcss-nested@6.0.1(postcss@8.4.38): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} engines: {node: '>=12.0'} peerDependencies: @@ -8648,7 +8649,7 @@ packages: postcss: optional: true dependencies: - postcss: 8.4.36 + postcss: 8.4.38 postcss-selector-parser: 6.0.11 /postcss-selector-parser@6.0.11: @@ -8661,13 +8662,13 @@ packages: /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - /postcss@8.4.36: - resolution: {integrity: sha512-/n7eumA6ZjFHAsbX30yhHup/IMkOmlmvtEi7P+6RMYf+bGJSUHc3geH4a0NSZxAz/RJfiS9tooCTs9LAVYUZKw==} + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 - source-map-js: 1.1.0 + source-map-js: 1.2.0 /preact@10.7.3: resolution: {integrity: sha512-giqJXP8VbtA1tyGa3f1n9wiN7PrHtONrDyE3T+ifjr/tTkg+2N4d/6sjC9WyJKv8wM7rOYDveqy5ZoFmYlwo4w==} @@ -8963,7 +8964,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.0 + '@babel/runtime': 7.24.1 dev: false /regexp-ast-analysis@0.7.1: @@ -9060,7 +9061,7 @@ packages: rollup: 3.29.4 typescript: 5.2.2 optionalDependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 dev: true /rollup-plugin-dts@6.1.0(rollup@4.13.0)(typescript@5.2.2): @@ -9074,7 +9075,7 @@ packages: rollup: 4.13.0 typescript: 5.2.2 optionalDependencies: - '@babel/code-frame': 7.23.5 + '@babel/code-frame': 7.24.2 dev: true /rollup-plugin-esbuild@6.1.1(esbuild@0.20.1)(rollup@4.13.0): @@ -9086,7 +9087,7 @@ packages: dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.4 - es-module-lexer: 1.4.1 + es-module-lexer: 1.5.0 esbuild: 0.20.1 get-tsconfig: 4.7.2 rollup: 4.13.0 @@ -9273,12 +9274,6 @@ packages: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true - /shiki@1.1.5: - resolution: {integrity: sha512-754GuKIwkUdT810Xm8btuyNQPL+q3PqOkwGW/VlmAWyMYp+HbvvDt69sWXO1sm5aeczBJQjmQTTMR4GkKQNQPw==} - dependencies: - '@shikijs/core': 1.1.5 - dev: true - /shiki@1.2.0: resolution: {integrity: sha512-xLhiTMOIUXCv5DqJ4I70GgQCtdlzsTqFLZWcMHHG3TAieBUbvEGthdrlPDlX4mL/Wszx9C6rEcxU6kMlg4YlxA==} dependencies: @@ -9304,8 +9299,8 @@ packages: engines: {node: '>=14'} dev: true - /simple-git-hooks@2.11.0: - resolution: {integrity: sha512-Wab2uzjGJEL8Kx+2UY8waUSfkiolt2RbaAJWvPCjaAEXrrKoS7JqPk4STiIVl/yt3asZRUzFoK2ryhwvgh5rYw==} + /simple-git-hooks@2.11.1: + resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==} hasBin: true requiresBuild: true dev: true @@ -9357,8 +9352,8 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} - /source-map-js@1.1.0: - resolution: {integrity: sha512-9vC2SfsJzlej6MAaMPLu8HiBSHGdRAJ9hVFYN1ibZoNkeanmDmLUcIrj6G9DGL7XMJ54AKg/G75akXl1/izTOw==} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} /source-map-support@0.5.21: @@ -9616,11 +9611,11 @@ packages: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.0 - postcss: 8.4.36 - postcss-import: 15.1.0(postcss@8.4.36) - postcss-js: 4.0.1(postcss@8.4.36) - postcss-load-config: 4.0.2(postcss@8.4.36)(ts-node@10.9.2) - postcss-nested: 6.0.1(postcss@8.4.36) + postcss: 8.4.38 + postcss-import: 15.1.0(postcss@8.4.38) + postcss-js: 4.0.1(postcss@8.4.38) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2) + postcss-nested: 6.0.1(postcss@8.4.38) postcss-selector-parser: 6.0.11 resolve: 1.22.4 sucrase: 3.32.0 @@ -9746,7 +9741,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.11.28)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.11.30)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -9765,7 +9760,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.11.28 + '@types/node': 20.11.30 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -9880,8 +9875,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - /ufo@1.5.1: - resolution: {integrity: sha512-HGyF79+/qZ4soRvM+nHERR2pJ3VXDZ/8sL1uLahdgEDf580NkgiWOxLk33FetExqOWp352JZRsgXbG/4MaGOSg==} + /ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true /uglify-js@3.17.4: @@ -10010,7 +10005,7 @@ packages: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true dependencies: - '@babel/core': 7.24.0 + '@babel/core': 7.24.3 '@babel/standalone': 7.22.20 '@babel/types': 7.24.0 defu: 6.1.2 @@ -10093,31 +10088,31 @@ packages: - supports-color dev: true - /vitepress@1.0.0-rc.45(typescript@5.2.2): - resolution: {integrity: sha512-/OiYsu5UKpQKA2c0BAZkfyywjfauDjvXyv6Mo4Ra57m5n4Bxg1HgUGoth1CLH2vwUbR/BHvDA9zOM0RDvgeSVQ==} + /vitepress@1.0.1(typescript@5.2.2): + resolution: {integrity: sha512-eNr5pOBppYUUjEhv8S0S2t9Tv95LQ6mMeHj6ivaGwfHxpov70Vduuwl/QQMDRznKDSaP0WKV7a82Pb4JVOaqEw==} hasBin: true peerDependencies: - markdown-it-mathjax3: ^4.3.2 - postcss: ^8.4.35 + markdown-it-mathjax3: ^4 + postcss: ^8 peerDependenciesMeta: markdown-it-mathjax3: optional: true postcss: optional: true dependencies: - '@docsearch/css': 3.5.2 - '@docsearch/js': 3.5.2 - '@shikijs/core': 1.1.5 - '@shikijs/transformers': 1.1.5 + '@docsearch/css': 3.6.0 + '@docsearch/js': 3.6.0 + '@shikijs/core': 1.2.0 + '@shikijs/transformers': 1.2.0 '@types/markdown-it': 13.0.7 '@vitejs/plugin-vue': 5.0.4(vite@packages+vite)(vue@3.4.21) - '@vue/devtools-api': 7.0.14 - '@vueuse/core': 10.7.2(vue@3.4.21) - '@vueuse/integrations': 10.7.2(focus-trap@7.5.4)(vue@3.4.21) + '@vue/devtools-api': 7.0.21(vue@3.4.21) + '@vueuse/core': 10.9.0(vue@3.4.21) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.21) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 - shiki: 1.1.5 + shiki: 1.2.0 vite: link:packages/vite vue: 3.4.21(typescript@5.2.2) transitivePeerDependencies: @@ -10141,7 +10136,7 @@ packages: - universal-cookie dev: true - /vitest@1.4.0(@types/node@20.11.28): + /vitest@1.4.0(@types/node@20.11.30): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10166,7 +10161,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.30 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -10197,8 +10192,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /vue-demi@0.14.6(vue@3.4.21): - resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + /vue-demi@0.14.7(vue@3.4.21): + resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true requiresBuild: true @@ -10311,7 +10306,7 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@babel/types': 7.24.0 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 @@ -10321,17 +10316,17 @@ packages: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true - /workerd@1.20240304.0: - resolution: {integrity: sha512-/tYxdypPh9NKQje9r7bgBB73vAQfCQZbEPjNlxE/ml7jNKMHnRZv/D+By4xO0IPAifa37D0sJFokvYOahz1Lqw==} + /workerd@1.20240320.1: + resolution: {integrity: sha512-nuavAGGjh0qqM6RF5zxTHyUwEqdLCHchodbrpbh/xlJpFGnJVY5C1YgSi2S9aLkJJoa0/25Ta/+EzXEbApA/3w==} engines: {node: '>=16'} hasBin: true requiresBuild: true optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240304.0 - '@cloudflare/workerd-darwin-arm64': 1.20240304.0 - '@cloudflare/workerd-linux-64': 1.20240304.0 - '@cloudflare/workerd-linux-arm64': 1.20240304.0 - '@cloudflare/workerd-windows-64': 1.20240304.0 + '@cloudflare/workerd-darwin-64': 1.20240320.1 + '@cloudflare/workerd-darwin-arm64': 1.20240320.1 + '@cloudflare/workerd-linux-64': 1.20240320.1 + '@cloudflare/workerd-linux-arm64': 1.20240320.1 + '@cloudflare/workerd-windows-64': 1.20240320.1 dev: true /wrap-ansi@7.0.0: From 24e376ad8624ac9ca2f8f49b3c3e06947a0f0ce2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 26 Mar 2024 17:11:10 +0900 Subject: [PATCH 468/656] fix(sourcemap): don't warn even if the sourcesContent is an empty string (#16273) --- packages/vite/src/node/server/sourcemap.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/sourcemap.ts b/packages/vite/src/node/server/sourcemap.ts index a0ed31968b6c41..741ae4331ade22 100644 --- a/packages/vite/src/node/server/sourcemap.ts +++ b/packages/vite/src/node/server/sourcemap.ts @@ -44,7 +44,7 @@ export async function injectSourcesContent( for (let index = 0; index < map.sources.length; index++) { const sourcePath = map.sources[index] if ( - !sourcesContent[index] && + sourcesContent[index] == null && sourcePath && !virtualSourceRE.test(sourcePath) ) { From 1d9a04276464581d20c6226ce8cf8454503269f6 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Tue, 26 Mar 2024 09:11:26 +0100 Subject: [PATCH 469/656] chore: improve PR template (#16266) --- .github/PULL_REQUEST_TEMPLATE.md | 30 +++++++++--------------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index e73b70ddfcd7c0..2734afc421a080 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,26 +1,14 @@ - - ### Description - - -### Additional context - - - ---- - -### What is the purpose of this pull request? + -- [ ] Bug fix -- [ ] New Feature -- [ ] Documentation update -- [ ] Other + From c2d0b881d8dcca93e16aa74792e01ecbf3e2bf29 Mon Sep 17 00:00:00 2001 From: Jan Date: Wed, 27 Mar 2024 06:03:49 +0100 Subject: [PATCH 470/656] docs: use href attribute for link with rel=modulepreload (#16279) --- docs/guide/backend-integration.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/guide/backend-integration.md b/docs/guide/backend-integration.md index b134119a52d378..1f9be56358d18a 100644 --- a/docs/guide/backend-integration.md +++ b/docs/guide/backend-integration.md @@ -108,7 +108,7 @@ If you need a custom integration, you can follow the steps in this guide to conf - + ``` Specifically, a backend generating HTML should include the following tags given a manifest @@ -129,7 +129,7 @@ If you need a custom integration, you can follow the steps in this guide to conf - + ``` While the following should be included for the entry point `views/foo.js`: @@ -138,5 +138,5 @@ If you need a custom integration, you can follow the steps in this guide to conf - + ``` From 1f5379601e80d63916b7d77dd16d5dd8387e0002 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 27 Mar 2024 23:04:53 +0900 Subject: [PATCH 471/656] feat(hmr): reload when HTML file is created/deleted (#16288) --- packages/vite/src/node/server/hmr.ts | 54 ++++++-------------- packages/vite/src/node/server/index.ts | 14 ++--- packages/vite/src/node/server/moduleGraph.ts | 11 ++++ 3 files changed, 34 insertions(+), 45 deletions(-) diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index 86bf9961bf9a72..cf28591db056de 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -6,7 +6,7 @@ import colors from 'picocolors' import type { CustomPayload, HMRPayload, Update } from 'types/hmrPayload' import type { RollupError } from 'rollup' import { CLIENT_DIR } from '../constants' -import { createDebugger, normalizePath, unique } from '../utils' +import { createDebugger, normalizePath } from '../utils' import type { InferCustomEventPayload, ViteDevServer } from '..' import { isCSSRequest } from '../plugins/css' import { getAffectedGlobModules } from '../plugins/importMetaGlob' @@ -118,9 +118,9 @@ export function getShortName(file: string, root: string): string { } export async function handleHMRUpdate( + type: 'create' | 'delete' | 'update', file: string, server: ViteDevServer, - configOnly: boolean, ): Promise { const { hot, config, moduleGraph } = server const shortFile = getShortName(file, config.root) @@ -150,10 +150,6 @@ export async function handleHMRUpdate( return } - if (configOnly) { - return - } - debugHmr?.(`[file change] ${colors.dim(shortFile)}`) // (dev only) the client itself cannot be hot updated. @@ -166,22 +162,29 @@ export async function handleHMRUpdate( return } - const mods = moduleGraph.getModulesByFile(file) + const mods = moduleGraph.getModulesByFile(file) || new Set() + if (type === 'create' || type === 'delete') { + for (const mod of getAffectedGlobModules(file, server)) { + mods.add(mod) + } + } // check if any plugin wants to perform custom HMR handling const timestamp = Date.now() const hmrContext: HmrContext = { file, timestamp, - modules: mods ? [...mods] : [], + modules: [...mods], read: () => readModifiedFile(file), server, } - for (const hook of config.getSortedPluginHooks('handleHotUpdate')) { - const filteredModules = await hook(hmrContext) - if (filteredModules) { - hmrContext.modules = filteredModules + if (type === 'update') { + for (const hook of config.getSortedPluginHooks('handleHotUpdate')) { + const filteredModules = await hook(hmrContext) + if (filteredModules) { + hmrContext.modules = filteredModules + } } } @@ -315,33 +318,6 @@ function getSSRInvalidatedImporters(module: ModuleNode) { ) } -export async function handleFileAddUnlink( - file: string, - server: ViteDevServer, - isUnlink: boolean, -): Promise { - const modules = [...(server.moduleGraph.getModulesByFile(file) || [])] - - if (isUnlink) { - for (const deletedMod of modules) { - deletedMod.importedModules.forEach((importedMod) => { - importedMod.importers.delete(deletedMod) - }) - } - } - - modules.push(...getAffectedGlobModules(file, server)) - - if (modules.length > 0) { - updateModules( - getShortName(file, server.config.root), - unique(modules), - Date.now(), - server, - ) - } -} - function areAllImportsAccepted( importedBindings: Set, acceptedExports: Set, diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 134a781b9550d9..5cd066ffc736d4 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -82,7 +82,6 @@ import { createHMRBroadcaster, createServerHMRChannel, getShortName, - handleFileAddUnlink, handleHMRUpdate, updateModules, } from './hmr' @@ -728,10 +727,13 @@ export async function _createServer( const publicFiles = await initPublicFilesPromise - const onHMRUpdate = async (file: string, configOnly: boolean) => { + const onHMRUpdate = async ( + type: 'create' | 'delete' | 'update', + file: string, + ) => { if (serverConfig.hmr !== false) { try { - await handleHMRUpdate(file, server, configOnly) + await handleHMRUpdate(type, file, server) } catch (err) { hot.send({ type: 'error', @@ -762,8 +764,8 @@ export async function _createServer( } } } - await handleFileAddUnlink(file, server, isUnlink) - await onHMRUpdate(file, true) + if (isUnlink) moduleGraph.onFileDelete(file) + await onHMRUpdate(isUnlink ? 'delete' : 'create', file) } watcher.on('change', async (file) => { @@ -771,7 +773,7 @@ export async function _createServer( await container.watchChange(file, { event: 'update' }) // invalidate module graph cache on file change moduleGraph.onFileChange(file) - await onHMRUpdate(file, false) + await onHMRUpdate('update', file) }) getFsUtils(config).initWatcher?.(watcher) diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts index ac139f06fd112a..02a30fb7af315a 100644 --- a/packages/vite/src/node/server/moduleGraph.ts +++ b/packages/vite/src/node/server/moduleGraph.ts @@ -148,6 +148,17 @@ export class ModuleGraph { } } + onFileDelete(file: string): void { + const mods = this.getModulesByFile(file) + if (mods) { + mods.forEach((mod) => { + mod.importedModules.forEach((importedMod) => { + importedMod.importers.delete(mod) + }) + }) + } + } + invalidateModule( mod: ModuleNode, seen: Set = new Set(), From dfffea1f4363c07d6ebc05db6f0dae8bd8a0885d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 29 Mar 2024 13:51:38 +0900 Subject: [PATCH 472/656] fix(hmr): don't mutate module graph when collecting modules (#16302) --- packages/vite/src/node/server/hmr.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index cf28591db056de..c5f5f8254941f5 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -162,7 +162,7 @@ export async function handleHMRUpdate( return } - const mods = moduleGraph.getModulesByFile(file) || new Set() + const mods = new Set(moduleGraph.getModulesByFile(file)) if (type === 'create' || type === 'delete') { for (const mod of getAffectedGlobModules(file, server)) { mods.add(mod) From ffedc06cab6357fe8857a2bc432d57adef3c34d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 29 Mar 2024 15:04:00 +0900 Subject: [PATCH 473/656] fix(hmr): trigger hmr for missing file import errored module after file creation (#16303) --- .../vite/src/node/plugins/importAnalysis.ts | 1 + packages/vite/src/node/server/hmr.ts | 5 +++++ packages/vite/src/node/server/moduleGraph.ts | 5 +++++ playground/hmr/__tests__/hmr.spec.ts | 19 +++++++++++++++++++ playground/hmr/missing-file/index.html | 2 ++ playground/hmr/missing-file/main.js | 1 + 6 files changed, 33 insertions(+) create mode 100644 playground/hmr/missing-file/index.html create mode 100644 playground/hmr/missing-file/main.js diff --git a/packages/vite/src/node/plugins/importAnalysis.ts b/packages/vite/src/node/plugins/importAnalysis.ts index 6d758e04cd807c..a4c1b9fd38a033 100644 --- a/packages/vite/src/node/plugins/importAnalysis.ts +++ b/packages/vite/src/node/plugins/importAnalysis.ts @@ -311,6 +311,7 @@ export function importAnalysisPlugin(config: ResolvedConfig): Plugin { } // fix#9534, prevent the importerModuleNode being stopped from propagating updates importerModule.isSelfAccepting = false + moduleGraph._hasResolveFailedErrorModules.add(importerModule) return this.error( `Failed to resolve import "${url}" from "${normalizePath( path.relative(process.cwd(), importerFile), diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index c5f5f8254941f5..3d5aedb2378836 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -163,6 +163,11 @@ export async function handleHMRUpdate( } const mods = new Set(moduleGraph.getModulesByFile(file)) + if (type === 'create') { + for (const mod of moduleGraph._hasResolveFailedErrorModules) { + mods.add(mod) + } + } if (type === 'create' || type === 'delete') { for (const mod of getAffectedGlobModules(file, server)) { mods.add(mod) diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts index 02a30fb7af315a..c0554dd156481a 100644 --- a/packages/vite/src/node/server/moduleGraph.ts +++ b/packages/vite/src/node/server/moduleGraph.ts @@ -108,6 +108,9 @@ export class ModuleGraph { Promise | ModuleNode >() + /** @internal */ + _hasResolveFailedErrorModules = new Set() + constructor( private resolveId: ( url: string, @@ -229,6 +232,8 @@ export class ModuleGraph { ) } }) + + this._hasResolveFailedErrorModules.delete(mod) } invalidateAll(): void { diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index 5f82716df9203d..138cff2cb56b40 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -962,4 +962,23 @@ if (!isBuild) { editFile('css-deps/dep.js', (code) => code.replace(`red`, `green`)) await untilUpdated(() => getColor('.css-deps'), 'green') }) + + test('hmr should happen after missing file is created', async () => { + const file = 'missing-file/a.js' + const code = 'console.log("a.js")' + + await untilBrowserLogAfter( + () => + page.goto(viteTestUrl + '/missing-file/index.html', { + waitUntil: 'load', + }), + /connected/, // wait for HMR connection + ) + + await untilBrowserLogAfter(async () => { + const loadPromise = page.waitForEvent('load') + addFile(file, code) + await loadPromise + }, [/connected/, 'a.js']) + }) } diff --git a/playground/hmr/missing-file/index.html b/playground/hmr/missing-file/index.html new file mode 100644 index 00000000000000..cfbd07a1e44286 --- /dev/null +++ b/playground/hmr/missing-file/index.html @@ -0,0 +1,2 @@ +
    Page
    + diff --git a/playground/hmr/missing-file/main.js b/playground/hmr/missing-file/main.js new file mode 100644 index 00000000000000..999801e4dd1061 --- /dev/null +++ b/playground/hmr/missing-file/main.js @@ -0,0 +1 @@ +import './a.js' From 45a06daac82524cf318a4dff7ae0b5f9cf67a0b2 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Fri, 29 Mar 2024 07:57:28 +0100 Subject: [PATCH 474/656] chore: deprecate splitVendorChunkPlugin (#16274) --- docs/guide/build.md | 16 +--------------- .../vite/src/node/plugins/splitVendorChunk.ts | 9 +++++++++ 2 files changed, 10 insertions(+), 15 deletions(-) diff --git a/docs/guide/build.md b/docs/guide/build.md index 6fe034e8df735e..ab5d64707f3684 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -47,21 +47,7 @@ For example, you can specify multiple Rollup outputs with plugins that are only ## Chunking Strategy -You can configure how chunks are split using `build.rollupOptions.output.manualChunks` (see [Rollup docs](https://rollupjs.org/configuration-options/#output-manualchunks)). Until Vite 2.8, the default chunking strategy divided the chunks into `index` and `vendor`. It is a good strategy for some SPAs, but it is hard to provide a general solution for every Vite target use case. From Vite 2.9, `manualChunks` is no longer modified by default. You can continue to use the Split Vendor Chunk strategy by adding the `splitVendorChunkPlugin` in your config file: - -```js -// vite.config.js -import { splitVendorChunkPlugin } from 'vite' -export default defineConfig({ - plugins: [splitVendorChunkPlugin()], -}) -``` - -This strategy is also provided as a `splitVendorChunk({ cache: SplitVendorChunkCache })` factory, in case composition with custom logic is needed. `cache.reset()` needs to be called at `buildStart` for build watch mode to work correctly in this case. - -::: warning -You should use `build.rollupOptions.output.manualChunks` function form when using this plugin. If the object form is used, the plugin won't have any effect. -::: +You can configure how chunks are split using `build.rollupOptions.output.manualChunks` (see [Rollup docs](https://rollupjs.org/configuration-options/#output-manualchunks)). If you use a framework, refer to their documentation for configuring how chunks are splitted. ## Load Error Handling diff --git a/packages/vite/src/node/plugins/splitVendorChunk.ts b/packages/vite/src/node/plugins/splitVendorChunk.ts index b2ecbcb6f684dc..f75512e9c986c0 100644 --- a/packages/vite/src/node/plugins/splitVendorChunk.ts +++ b/packages/vite/src/node/plugins/splitVendorChunk.ts @@ -26,6 +26,9 @@ export const isCSSRequest = (request: string): boolean => // The cache needs to be reset on buildStart for watch mode to work correctly // Don't use this manualChunks strategy for ssr, lib mode, and 'umd' or 'iife' +/** + * @deprecated use build.rollupOutput.manualChunks or framework specific configuration + */ export class SplitVendorChunkCache { cache: Map constructor() { @@ -36,6 +39,9 @@ export class SplitVendorChunkCache { } } +/** + * @deprecated use build.rollupOutput.manualChunks or framework specific configuration + */ export function splitVendorChunk( options: { cache?: SplitVendorChunkCache } = {}, ): GetManualChunk { @@ -87,6 +93,9 @@ function staticImportedByEntry( return someImporterIs } +/** + * @deprecated use build.rollupOutput.manualChunks or framework specific configuration + */ export function splitVendorChunkPlugin(): Plugin { const caches: SplitVendorChunkCache[] = [] function createSplitVendorChunk(output: OutputOptions, config: UserConfig) { From e14123f602ddf0671b37a62de4f8ff2b84b36711 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 29 Mar 2024 15:59:16 +0900 Subject: [PATCH 475/656] docs(css): duplicate `@import` behavior (#16304) --- docs/config/shared-options.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index 45bfe61859f80c..39eef1a5e5f2e9 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -292,6 +292,10 @@ Whether to enable sourcemaps during dev. Selects the engine used for CSS processing. Check out [Lightning CSS](../guide/features.md#lightning-css) for more information. +::: info Duplicate `@import`s +Note that postcss (postcss-import) has a different behavior with duplicated `@import` from browsers. See [postcss/postcss-import#462](https://github.com/postcss/postcss-import/issues/462). +::: + ## css.lightningcss - **Experimental:** [Give Feedback](https://github.com/vitejs/vite/discussions/13835) From ad246da9897dc90b05ddc23ef96ae14ff490c7c9 Mon Sep 17 00:00:00 2001 From: patak-dev Date: Fri, 29 Mar 2024 09:13:58 +0100 Subject: [PATCH 476/656] release: v5.2.7 --- packages/vite/CHANGELOG.md | 12 ++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 4486c577e56378..cb1215084c182d 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,15 @@ +## 5.2.7 (2024-03-29) + +* chore: deprecate splitVendorChunkPlugin (#16274) ([45a06da](https://github.com/vitejs/vite/commit/45a06da)), closes [#16274](https://github.com/vitejs/vite/issues/16274) +* fix: skip injecting `__vite__mapDeps` when it's not used (#16271) ([890538a](https://github.com/vitejs/vite/commit/890538a)), closes [#16271](https://github.com/vitejs/vite/issues/16271) +* fix(deps): update all non-major dependencies (#16258) ([7caef42](https://github.com/vitejs/vite/commit/7caef42)), closes [#16258](https://github.com/vitejs/vite/issues/16258) +* fix(hmr): don't mutate module graph when collecting modules (#16302) ([dfffea1](https://github.com/vitejs/vite/commit/dfffea1)), closes [#16302](https://github.com/vitejs/vite/issues/16302) +* fix(hmr): trigger hmr for missing file import errored module after file creation (#16303) ([ffedc06](https://github.com/vitejs/vite/commit/ffedc06)), closes [#16303](https://github.com/vitejs/vite/issues/16303) +* fix(sourcemap): don't warn even if the sourcesContent is an empty string (#16273) ([24e376a](https://github.com/vitejs/vite/commit/24e376a)), closes [#16273](https://github.com/vitejs/vite/issues/16273) +* feat(hmr): reload when HTML file is created/deleted (#16288) ([1f53796](https://github.com/vitejs/vite/commit/1f53796)), closes [#16288](https://github.com/vitejs/vite/issues/16288) + + + ## 5.2.6 (2024-03-24) * fix: `fs.deny` with globs with directories (#16250) ([ba5269c](https://github.com/vitejs/vite/commit/ba5269c)), closes [#16250](https://github.com/vitejs/vite/issues/16250) diff --git a/packages/vite/package.json b/packages/vite/package.json index 003106a5cba08a..bea182f9591ae9 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.6", + "version": "5.2.7", "type": "module", "license": "MIT", "author": "Evan You", From eca68fa942818b69d08eae4dceaf46a330684a5e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 29 Mar 2024 17:57:16 +0900 Subject: [PATCH 477/656] fix(scanner): duplicate modules for same id if glob is used in html-like types (#16305) --- packages/vite/src/node/optimizer/scan.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index bcf6fd92c7e662..1cdef6c339c103 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -409,12 +409,10 @@ function esbuildScanPlugin( // Avoid matching the content of the comment raw = raw.replace(commentRE, '') const isHtml = p.endsWith('.html') - scriptRE.lastIndex = 0 let js = '' let scriptId = 0 - let match: RegExpExecArray | null - while ((match = scriptRE.exec(raw))) { - const [, openTag, content] = match + const matches = raw.matchAll(scriptRE) + for (const [, openTag, content] of matches) { const typeMatch = openTag.match(typeRE) const type = typeMatch && (typeMatch[1] || typeMatch[2] || typeMatch[3]) From 01af308dfd271df604a3fc9e9b3a9fcc2063e5d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 29 Mar 2024 18:24:03 +0900 Subject: [PATCH 478/656] fix(css): unknown file error happened with lightningcss (#16306) --- packages/vite/src/node/plugins/css.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 484630645060f5..90dbb6352378bc 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -2754,12 +2754,13 @@ async function compileLightningCSS( switch (dep.type) { case 'url': if (skipUrlReplacer(dep.url)) { - css = css.replace(dep.placeholder, dep.url) + css = css.replace(dep.placeholder, () => dep.url) break } deps.add(dep.url) if (urlReplacer) { - css = css.replace(dep.placeholder, await urlReplacer(dep.url, id)) + const replaceUrl = await urlReplacer(dep.url, id) + css = css.replace(dep.placeholder, () => replaceUrl) } break default: From 21cc10bfda99a5818bfd709beff260e72b4b4ec5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Fri, 29 Mar 2024 21:41:49 +0900 Subject: [PATCH 479/656] fix(hmr): multiple updates happened when invalidate is called while multiple tabs open (#16307) --- packages/vite/src/node/server/hmr.ts | 1 + packages/vite/src/node/server/index.ts | 8 ++++- packages/vite/src/node/server/moduleGraph.ts | 8 +++++ playground/hmr/__tests__/hmr.spec.ts | 34 ++++++++++++++++++++ 4 files changed, 50 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index 3d5aedb2378836..f6777838788d7f 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -533,6 +533,7 @@ export function handlePrunedModules( const t = Date.now() mods.forEach((mod) => { mod.lastHMRTimestamp = t + mod.lastHMRInvalidationReceived = false debugHmr?.(`[dispose] ${colors.dim(mod.file)}`) }) hot.send({ diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 5cd066ffc736d4..d36b4c309b3025 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -787,7 +787,13 @@ export async function _createServer( hot.on('vite:invalidate', async ({ path, message }) => { const mod = moduleGraph.urlToModuleMap.get(path) - if (mod && mod.isSelfAccepting && mod.lastHMRTimestamp > 0) { + if ( + mod && + mod.isSelfAccepting && + mod.lastHMRTimestamp > 0 && + !mod.lastHMRInvalidationReceived + ) { + mod.lastHMRInvalidationReceived = true config.logger.info( colors.yellow(`hmr invalidate `) + colors.dim(path) + diff --git a/packages/vite/src/node/server/moduleGraph.ts b/packages/vite/src/node/server/moduleGraph.ts index c0554dd156481a..442ece308dbaff 100644 --- a/packages/vite/src/node/server/moduleGraph.ts +++ b/packages/vite/src/node/server/moduleGraph.ts @@ -35,6 +35,13 @@ export class ModuleNode { ssrModule: Record | null = null ssrError: Error | null = null lastHMRTimestamp = 0 + /** + * `import.meta.hot.invalidate` is called by the client. + * If there's multiple clients, multiple `invalidate` request is received. + * This property is used to dedupe those request to avoid multiple updates happening. + * @internal + */ + lastHMRInvalidationReceived = false lastInvalidationTimestamp = 0 /** * If the module only needs to update its imports timestamp (e.g. within an HMR chain), @@ -199,6 +206,7 @@ export class ModuleGraph { if (isHmr) { mod.lastHMRTimestamp = timestamp + mod.lastHMRInvalidationReceived = false } else { // Save the timestamp for this invalidation, so we can avoid caching the result of possible already started // processing being done for this module diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index 138cff2cb56b40..27590bd6022bd0 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -1,7 +1,9 @@ import { beforeAll, describe, expect, it, test } from 'vitest' +import type { Page } from 'playwright-chromium' import { hasWindowsUnicodeFsBug } from '../../hasWindowsUnicodeFsBug' import { addFile, + browser, browserLogs, editFile, getBg, @@ -175,6 +177,38 @@ if (!isBuild) { await untilUpdated(() => el.textContent(), 'child updated') }) + test('invalidate works with multiple tabs', async () => { + let page2: Page + try { + page2 = await browser.newPage() + await page2.goto(viteTestUrl) + + const el = await page.$('.invalidation') + await untilBrowserLogAfter( + () => + editFile('invalidation/child.js', (code) => + code.replace('child', 'child updated'), + ), + [ + '>>> vite:beforeUpdate -- update', + '>>> vite:invalidate -- /invalidation/child.js', + '[vite] invalidate /invalidation/child.js', + '[vite] hot updated: /invalidation/child.js', + '>>> vite:afterUpdate -- update', + // if invalidate dedupe doesn't work correctly, this beforeUpdate will be called twice + '>>> vite:beforeUpdate -- update', + '(invalidation) parent is executing', + '[vite] hot updated: /invalidation/parent.js', + '>>> vite:afterUpdate -- update', + ], + true, + ) + await untilUpdated(() => el.textContent(), 'child updated') + } finally { + await page2.close() + } + }) + test('soft invalidate', async () => { const el = await page.$('.soft-invalidation') expect(await el.textContent()).toBe( From f1e67b6bdba07ce156ad4a8cb3b894603993ccd8 Mon Sep 17 00:00:00 2001 From: Jun Shindo <46585162+jay-es@users.noreply.github.com> Date: Sat, 30 Mar 2024 00:05:33 +0900 Subject: [PATCH 480/656] docs: fix capitalization typos (#16309) --- docs/guide/backend-integration.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/guide/backend-integration.md b/docs/guide/backend-integration.md index 1f9be56358d18a..4f6de439afeae9 100644 --- a/docs/guide/backend-integration.md +++ b/docs/guide/backend-integration.md @@ -116,10 +116,10 @@ If you need a custom integration, you can follow the steps in this guide to conf - A `` tag for each file in the entry point chunk's `css` list - Recursively follow all chunks in the entry point's `imports` list and include a - `` tag for each css file of each imported chunk. - - A tag for the `file` key of the entry point chunk (` + diff --git a/playground/js-sourcemap/test-ssr-dev.js b/playground/js-sourcemap/test-ssr-dev.js new file mode 100644 index 00000000000000..c414f058517283 --- /dev/null +++ b/playground/js-sourcemap/test-ssr-dev.js @@ -0,0 +1,38 @@ +import assert from 'node:assert' +import { fileURLToPath } from 'node:url' +import { createServer } from 'vite' + +async function runTest() { + const server = await createServer({ + root: fileURLToPath(new URL('.', import.meta.url)), + configFile: false, + optimizeDeps: { + noDiscovery: true, + }, + server: { + middlewareMode: true, + hmr: false, + }, + define: { + __testDefineObject: '{ "hello": "test" }', + }, + }) + const mod = await server.ssrLoadModule('/with-define-object-ssr.ts') + const error = await getError(() => mod.error()) + server.ssrFixStacktrace(error) + assert.match(error.stack, /at errorInner (.*with-define-object-ssr.ts:7:9)/) + await server.close() +} + +async function getError(f) { + let error + try { + await f() + } catch (e) { + error = e + } + assert.ok(error) + return error +} + +runTest() diff --git a/playground/js-sourcemap/vite.config.js b/playground/js-sourcemap/vite.config.js index 0c6d09b8d8906f..f47c89eff07ebf 100644 --- a/playground/js-sourcemap/vite.config.js +++ b/playground/js-sourcemap/vite.config.js @@ -21,6 +21,9 @@ export default defineConfig({ if (name.endsWith('after-preload-dynamic-no-dep.js')) { return 'after-preload-dynamic-no-dep' } + if (name.includes('with-define-object')) { + return 'with-define-object' + } }, banner(chunk) { if (chunk.name.endsWith('after-preload-dynamic-hashbang')) { @@ -30,4 +33,7 @@ export default defineConfig({ }, }, }, + define: { + __testDefineObject: '{ "hello": "test" }', + }, }) diff --git a/playground/js-sourcemap/with-define-object-ssr.ts b/playground/js-sourcemap/with-define-object-ssr.ts new file mode 100644 index 00000000000000..9ff85230025e2d --- /dev/null +++ b/playground/js-sourcemap/with-define-object-ssr.ts @@ -0,0 +1,8 @@ +export function error() { + errorInner() +} + +function errorInner() { + // @ts-expect-error "define" + throw new Error('with-define-object: ' + JSON.stringify(__testDefineObject)) +} diff --git a/playground/js-sourcemap/with-define-object.ts b/playground/js-sourcemap/with-define-object.ts new file mode 100644 index 00000000000000..5a9f8e2ddd43d9 --- /dev/null +++ b/playground/js-sourcemap/with-define-object.ts @@ -0,0 +1,12 @@ +// test complicated stack since broken sourcemap +// might still look correct with a simple case +function main() { + mainInner() +} + +function mainInner() { + // @ts-expect-error "define" + console.trace('with-define-object', __testDefineObject) +} + +main() From 646319cc845f24a12ac5f8f6d176597a5bf66fd3 Mon Sep 17 00:00:00 2001 From: Caven Date: Wed, 3 Apr 2024 20:38:40 +0800 Subject: [PATCH 487/656] fix: do not access document in `/@vite/client` when not defined (#16318) Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- packages/vite/src/client/client.ts | 77 +++++++++++-------- packages/vite/src/client/overlay.ts | 59 +++++++------- .../worker/__tests__/es/worker-es.spec.ts | 2 +- .../worker-relative-base.spec.ts | 2 +- .../emit-chunk-dynamic-import-worker.js | 6 +- 5 files changed, 82 insertions(+), 64 deletions(-) diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 38b632cb945b57..8fcb145fd0242c 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -102,9 +102,11 @@ function setupWebSocket( notifyListeners('vite:ws:disconnect', { webSocket: socket }) - console.log(`[vite] server connection lost. polling for restart...`) - await waitForSuccessfulPing(protocol, hostAndPath) - location.reload() + if (hasDocument) { + console.log(`[vite] server connection lost. polling for restart...`) + await waitForSuccessfulPing(protocol, hostAndPath) + location.reload() + } }) return socket @@ -182,16 +184,20 @@ async function handleMessage(payload: HMRPayload) { break case 'update': notifyListeners('vite:beforeUpdate', payload) - // if this is the first update and there's already an error overlay, it - // means the page opened with existing server compile error and the whole - // module script failed to load (since one of the nested imports is 500). - // in this case a normal update won't work and a full reload is needed. - if (isFirstUpdate && hasErrorOverlay()) { - window.location.reload() - return - } else { - clearErrorOverlay() - isFirstUpdate = false + if (hasDocument) { + // if this is the first update and there's already an error overlay, it + // means the page opened with existing server compile error and the whole + // module script failed to load (since one of the nested imports is 500). + // in this case a normal update won't work and a full reload is needed. + if (isFirstUpdate && hasErrorOverlay()) { + window.location.reload() + return + } else { + if (enableOverlay) { + clearErrorOverlay() + } + isFirstUpdate = false + } } await Promise.all( payload.updates.map(async (update): Promise => { @@ -249,21 +255,23 @@ async function handleMessage(payload: HMRPayload) { } case 'full-reload': notifyListeners('vite:beforeFullReload', payload) - if (payload.path && payload.path.endsWith('.html')) { - // if html file is edited, only reload the page if the browser is - // currently on that page. - const pagePath = decodeURI(location.pathname) - const payloadPath = base + payload.path.slice(1) - if ( - pagePath === payloadPath || - payload.path === '/index.html' || - (pagePath.endsWith('/') && pagePath + 'index.html' === payloadPath) - ) { + if (hasDocument) { + if (payload.path && payload.path.endsWith('.html')) { + // if html file is edited, only reload the page if the browser is + // currently on that page. + const pagePath = decodeURI(location.pathname) + const payloadPath = base + payload.path.slice(1) + if ( + pagePath === payloadPath || + payload.path === '/index.html' || + (pagePath.endsWith('/') && pagePath + 'index.html' === payloadPath) + ) { + pageReload() + } + return + } else { pageReload() } - return - } else { - pageReload() } break case 'prune': @@ -272,13 +280,15 @@ async function handleMessage(payload: HMRPayload) { break case 'error': { notifyListeners('vite:error', payload) - const err = payload.err - if (enableOverlay) { - createErrorOverlay(err) - } else { - console.error( - `[vite] Internal Server Error\n${err.message}\n${err.stack}`, - ) + if (hasDocument) { + const err = payload.err + if (enableOverlay) { + createErrorOverlay(err) + } else { + console.error( + `[vite] Internal Server Error\n${err.message}\n${err.stack}`, + ) + } } break } @@ -298,6 +308,7 @@ function notifyListeners(event: string, data: any): void { } const enableOverlay = __HMR_ENABLE_OVERLAY__ +const hasDocument = 'document' in globalThis function createErrorOverlay(err: ErrorPayload['err']) { clearErrorOverlay() diff --git a/packages/vite/src/client/overlay.ts b/packages/vite/src/client/overlay.ts index dffdafd9197ddb..f0e34cac19e68e 100644 --- a/packages/vite/src/client/overlay.ts +++ b/packages/vite/src/client/overlay.ts @@ -165,39 +165,41 @@ kbd { ` // Error Template -const template = h( - 'div', - { class: 'backdrop', part: 'backdrop' }, +let template: HTMLElement +const createTemplate = () => h( 'div', - { class: 'window', part: 'window' }, - h( - 'pre', - { class: 'message', part: 'message' }, - h('span', { class: 'plugin', part: 'plugin' }), - h('span', { class: 'message-body', part: 'message-body' }), - ), - h('pre', { class: 'file', part: 'file' }), - h('pre', { class: 'frame', part: 'frame' }), - h('pre', { class: 'stack', part: 'stack' }), + { class: 'backdrop', part: 'backdrop' }, h( 'div', - { class: 'tip', part: 'tip' }, - 'Click outside, press ', - h('kbd', {}, 'Esc'), - ' key, or fix the code to dismiss.', - h('br'), - 'You can also disable this overlay by setting ', - h('code', { part: 'config-option-name' }, 'server.hmr.overlay'), - ' to ', - h('code', { part: 'config-option-value' }, 'false'), - ' in ', - h('code', { part: 'config-file-name' }, hmrConfigName), - '.', + { class: 'window', part: 'window' }, + h( + 'pre', + { class: 'message', part: 'message' }, + h('span', { class: 'plugin', part: 'plugin' }), + h('span', { class: 'message-body', part: 'message-body' }), + ), + h('pre', { class: 'file', part: 'file' }), + h('pre', { class: 'frame', part: 'frame' }), + h('pre', { class: 'stack', part: 'stack' }), + h( + 'div', + { class: 'tip', part: 'tip' }, + 'Click outside, press ', + h('kbd', {}, 'Esc'), + ' key, or fix the code to dismiss.', + h('br'), + 'You can also disable this overlay by setting ', + h('code', { part: 'config-option-name' }, 'server.hmr.overlay'), + ' to ', + h('code', { part: 'config-option-value' }, 'false'), + ' in ', + h('code', { part: 'config-file-name' }, hmrConfigName), + '.', + ), ), - ), - h('style', {}, templateStyle), -) + h('style', {}, templateStyle), + ) const fileRE = /(?:[a-zA-Z]:\\|\/).*?:\d+:\d+/g const codeframeRE = /^(?:>?\s*\d+\s+\|.*|\s+\|\s*\^.*)\r?\n/gm @@ -213,6 +215,7 @@ export class ErrorOverlay extends HTMLElement { super() this.root = this.attachShadow({ mode: 'open' }) + template ??= createTemplate() this.root.appendChild(template) codeframeRE.lastIndex = 0 diff --git a/playground/worker/__tests__/es/worker-es.spec.ts b/playground/worker/__tests__/es/worker-es.spec.ts index 748cd2b0592bb2..3656b07c18d576 100644 --- a/playground/worker/__tests__/es/worker-es.spec.ts +++ b/playground/worker/__tests__/es/worker-es.spec.ts @@ -200,7 +200,7 @@ test('emit chunk', async () => { ) await untilUpdated( () => page.textContent('.emit-chunk-dynamic-import-worker'), - '"A string/es/"', + '"A stringmodule1/es/"', true, ) }) diff --git a/playground/worker/__tests__/relative-base/worker-relative-base.spec.ts b/playground/worker/__tests__/relative-base/worker-relative-base.spec.ts index ae791ff7f36fe4..6c3180c7e2aa31 100644 --- a/playground/worker/__tests__/relative-base/worker-relative-base.spec.ts +++ b/playground/worker/__tests__/relative-base/worker-relative-base.spec.ts @@ -141,7 +141,7 @@ test.runIf(isBuild)('emit chunk', async () => { ) await untilUpdated( () => page.textContent('.emit-chunk-dynamic-import-worker'), - '"A string./"', + '"A stringmodule1./"', true, ) }) diff --git a/playground/worker/emit-chunk-dynamic-import-worker.js b/playground/worker/emit-chunk-dynamic-import-worker.js index 9c3ede1faa2ed9..3df9fff1e7191b 100644 --- a/playground/worker/emit-chunk-dynamic-import-worker.js +++ b/playground/worker/emit-chunk-dynamic-import-worker.js @@ -1,5 +1,9 @@ +import module1Url from './modules/module1.js?url' + import('./modules/module0').then((module) => { - self.postMessage(module.default + import.meta.env.BASE_URL) + import(/* @vite-ignore */ module1Url).then((module1) => { + self.postMessage(module.default + module1.msg1 + import.meta.env.BASE_URL) + }) }) // for sourcemap From 72cd3e367f8a0bbde9232ac264cfb4c2b07d9ad5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 3 Apr 2024 21:51:39 +0900 Subject: [PATCH 488/656] chore: `pnpm audit --fix` (#16346) --- pnpm-lock.yaml | 31 ++++++++++--------------------- 1 file changed, 10 insertions(+), 21 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 811898b9d6bc8a..9ab502c9213ed9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5088,7 +5088,7 @@ packages: /axios@1.6.8: resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: - follow-redirects: 1.15.6 + follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -6521,8 +6521,8 @@ packages: tabbable: 6.2.0 dev: true - /follow-redirects@1.15.0(debug@4.3.4): - resolution: {integrity: sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==} + /follow-redirects@1.15.6(debug@4.3.4): + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} engines: {node: '>=4.0'} peerDependencies: debug: '*' @@ -6531,17 +6531,6 @@ packages: optional: true dependencies: debug: 4.3.4 - dev: true - - /follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: false /foreground-child@3.1.1: resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} @@ -6629,7 +6618,7 @@ packages: /generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} dependencies: - loader-utils: 3.2.0 + loader-utils: 3.2.1 dev: true /gensync@1.0.0-beta.2: @@ -6887,7 +6876,7 @@ packages: engines: {node: '>=8.0.0'} dependencies: eventemitter3: 4.0.7 - follow-redirects: 1.15.0(debug@4.3.4) + follow-redirects: 1.15.6(debug@4.3.4) requires-port: 1.0.0 transitivePeerDependencies: - debug @@ -7413,8 +7402,8 @@ packages: wrap-ansi: 9.0.0 dev: true - /loader-utils@3.2.0: - resolution: {integrity: sha512-HVl9ZqccQihZ7JM85dco1MvO9G+ONvxoGa9rkhzFsneGLKSUg1gJf9bWzhRhcvm2qChhWpebQhP44qxjKIUCaQ==} + /loader-utils@3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} engines: {node: '>= 12.13.0'} dev: true @@ -7949,7 +7938,7 @@ packages: workerd: 1.20240329.0 ws: 8.16.0 youch: 3.2.3 - zod: 3.21.4 + zod: 3.22.4 transitivePeerDependencies: - bufferutil - supports-color @@ -10420,8 +10409,8 @@ packages: resolution: {integrity: sha512-H6qQ6LtjP+kDQwDgol18fPi4OCo7F+73ZBYt2U9c1D3V74bIMKxXvyrN0x+1I7/RYh5YsausflQxQR/qwDLHPQ==} dev: true - /zod@3.21.4: - resolution: {integrity: sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==} + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} dev: true /zwitch@2.0.4: From 8b8d4024fb07a96e7a6707dbdc1a08c40f397eb9 Mon Sep 17 00:00:00 2001 From: sapphi-red <49056869+sapphi-red@users.noreply.github.com> Date: Wed, 3 Apr 2024 22:48:22 +0900 Subject: [PATCH 489/656] release: v5.2.8 --- packages/vite/CHANGELOG.md | 13 +++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index cb1215084c182d..a76909f375e403 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,16 @@ +## 5.2.8 (2024-04-03) + +* fix: csp nonce injection when no closing tag (#16281) (#16282) ([3c85c6b](https://github.com/vitejs/vite/commit/3c85c6b)), closes [#16281](https://github.com/vitejs/vite/issues/16281) [#16282](https://github.com/vitejs/vite/issues/16282) +* fix: do not access document in `/@vite/client` when not defined (#16318) ([646319c](https://github.com/vitejs/vite/commit/646319c)), closes [#16318](https://github.com/vitejs/vite/issues/16318) +* fix: fix sourcemap when using object as `define` value (#15805) ([445c4f2](https://github.com/vitejs/vite/commit/445c4f2)), closes [#15805](https://github.com/vitejs/vite/issues/15805) +* fix(css): unknown file error happened with lightningcss (#16306) ([01af308](https://github.com/vitejs/vite/commit/01af308)), closes [#16306](https://github.com/vitejs/vite/issues/16306) +* fix(hmr): multiple updates happened when invalidate is called while multiple tabs open (#16307) ([21cc10b](https://github.com/vitejs/vite/commit/21cc10b)), closes [#16307](https://github.com/vitejs/vite/issues/16307) +* fix(scanner): duplicate modules for same id if glob is used in html-like types (#16305) ([eca68fa](https://github.com/vitejs/vite/commit/eca68fa)), closes [#16305](https://github.com/vitejs/vite/issues/16305) +* chore(deps): update all non-major dependencies (#16325) ([a78e265](https://github.com/vitejs/vite/commit/a78e265)), closes [#16325](https://github.com/vitejs/vite/issues/16325) +* refactor: use types from sass instead of @types/sass (#16340) ([4581e83](https://github.com/vitejs/vite/commit/4581e83)), closes [#16340](https://github.com/vitejs/vite/issues/16340) + + + ## 5.2.7 (2024-03-29) * chore: deprecate splitVendorChunkPlugin (#16274) ([45a06da](https://github.com/vitejs/vite/commit/45a06da)), closes [#16274](https://github.com/vitejs/vite/issues/16274) diff --git a/packages/vite/package.json b/packages/vite/package.json index 1ee4f6a8f08e1e..066b9f0a14f100 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.7", + "version": "5.2.8", "type": "module", "license": "MIT", "author": "Evan You", From b762517afc316f8c22f8a01b75405e47edd9cfdc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Wed, 3 Apr 2024 22:55:20 +0900 Subject: [PATCH 490/656] ci: run publish in node 20 (#16348) --- .github/workflows/publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 7b6efbdbed27da..bde621d0d82a6c 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,10 +23,10 @@ jobs: - name: Install pnpm uses: pnpm/action-setup@v3.0.0 - - name: Set node version to 18 + - name: Set node version to 20 uses: actions/setup-node@v4 with: - node-version: 18 + node-version: 20 registry-url: https://registry.npmjs.org/ cache: "pnpm" From c0ec6bea69b6160553f4a5b30652dcef891788fc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maty=C3=A1=C5=A1=20Racek?= Date: Fri, 5 Apr 2024 04:30:10 +0200 Subject: [PATCH 491/656] perf: reduce size of injected __vite__mapDeps code (#16184) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: bluwy Co-authored-by: 翠 / green Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- packages/vite/src/node/plugins/importAnalysisBuild.ts | 8 +------- playground/js-sourcemap/__tests__/js-sourcemap.spec.ts | 4 ++-- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index d7f6491ceb7306..2c3fdcee0e7e23 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -514,13 +514,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { ) .join(',')}]` - const mapDepsCode = `\ -function __vite__mapDeps(indexes) { - if (!__vite__mapDeps.viteFileDeps) { - __vite__mapDeps.viteFileDeps = ${fileDepsCode} - } - return indexes.map((i) => __vite__mapDeps.viteFileDeps[i]) -}\n` + const mapDepsCode = `const __vite__fileDeps=${fileDepsCode},__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);\n` // inject extra code at the top or next line of hashbang if (code.startsWith('#!')) { diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index 1566549293efdb..15d82acd776283 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -140,7 +140,7 @@ describe.runIf(isBuild)('build tests', () => { expect(formatSourcemapForSnapshot(JSON.parse(map))).toMatchInlineSnapshot(` { "ignoreList": [], - "mappings": ";;;;;;w+BAAA,OAAO,2BAAuB,EAAC,wBAE/B,QAAQ,IAAI,uBAAuB", + "mappings": ";w+BAAA,OAAO,2BAAuB,EAAC,wBAE/B,QAAQ,IAAI,uBAAuB", "sources": [ "../../after-preload-dynamic.js", ], @@ -164,7 +164,7 @@ describe.runIf(isBuild)('build tests', () => { const js = findAssetFile(/after-preload-dynamic-hashbang-[-\w]{8}\.js$/) expect(js.split('\n').slice(0, 2)).toEqual([ '#!/usr/bin/env node', - 'function __vite__mapDeps(indexes) {', + expect.stringContaining('const __vite__fileDeps=['), ]) }) From e2658ad6fe81278069d75d0b3b9c260c3021b922 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 5 Apr 2024 10:30:20 +0800 Subject: [PATCH 492/656] perf(css): only replace empty chunk if imported (#16349) --- packages/vite/src/node/plugins/css.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/css.ts b/packages/vite/src/node/plugins/css.ts index 96e0890de3519b..0e97c247cf01f8 100644 --- a/packages/vite/src/node/plugins/css.ts +++ b/packages/vite/src/node/plugins/css.ts @@ -860,6 +860,7 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { for (const file in bundle) { const chunk = bundle[file] if (chunk.type === 'chunk') { + let chunkImportsPureCssChunk = false // remove pure css chunk from other chunk's imports, // and also register the emitted CSS files under the importer // chunks instead. @@ -874,11 +875,14 @@ export function cssPostPlugin(config: ResolvedConfig): Plugin { importedAssets.forEach((file) => chunk.viteMetadata!.importedAssets.add(file), ) + chunkImportsPureCssChunk = true return false } return true }) - chunk.code = replaceEmptyChunk(chunk.code) + if (chunkImportsPureCssChunk) { + chunk.code = replaceEmptyChunk(chunk.code) + } } } From b05c405f6884f9612fd8b6c1e7587a553cf58baf Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Fri, 5 Apr 2024 22:39:00 +0800 Subject: [PATCH 493/656] fix: `fsp.rm` removing files does not take effect (#16032) --- packages/vite/src/node/optimizer/index.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 4c98a289c5077a..43c0e22fd0140b 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -504,9 +504,12 @@ export function runOptimizeDeps( // No need to wait, we can clean up in the background because temp folders // are unique per run debug?.(colors.green(`removing cache dir ${processingCacheDir}`)) - fsp.rm(processingCacheDir, { recursive: true, force: true }).catch(() => { + try { + // When exiting the process, `fsp.rm` may not take effect, so we use `fs.rmSync` + fs.rmSync(processingCacheDir, { recursive: true, force: true }) + } catch (error) { // Ignore errors - }) + } } } From 77562c3ff2005c7ca7fc3749214c76d019fff4e3 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Mon, 8 Apr 2024 15:43:30 +0800 Subject: [PATCH 494/656] chore: update region comment (#16380) --- packages/vite/rollup.config.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/rollup.config.ts b/packages/vite/rollup.config.ts index 716e75dbe2f48b..2d14eace0eea9c 100644 --- a/packages/vite/rollup.config.ts +++ b/packages/vite/rollup.config.ts @@ -245,7 +245,7 @@ export default (commandLineArgs: any): RollupOptions[] => { ]) } -// #region ======== Plugins ======== +// #region Plugins interface ShimOptions { src?: string From 60367eee87e0764d7137320827f3975d6a45bd2c Mon Sep 17 00:00:00 2001 From: Mehdi <9340937+meduzen@users.noreply.github.com> Date: Mon, 8 Apr 2024 16:07:01 +0200 Subject: [PATCH 495/656] =?UTF-8?q?docs:=20add=20Mastodon=20to=20=E2=80=9C?= =?UTF-8?q?resources=E2=80=9D=20in=20docs=20navigation=20(#16370)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/.vitepress/config.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index ea73fa458aa64b..7af266a70c0477 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -148,6 +148,10 @@ export default defineConfig({ { text: 'Releases', link: '/releases' }, { items: [ + { + text: 'Mastodon', + link: 'https://elk.zone/m.webtoo.ls/@vite', + }, { text: 'Twitter', link: 'https://twitter.com/vite_js', From 58a2938a9766981fdc2ed89bec8ff1c96cae0716 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Apr 2024 17:17:01 +0200 Subject: [PATCH 496/656] fix(deps): update all non-major dependencies (#16376) --- package.json | 10 +- .../create-vite/template-lit-ts/package.json | 2 +- .../create-vite/template-lit/package.json | 2 +- .../template-preact-ts/package.json | 2 +- .../create-vite/template-preact/package.json | 2 +- .../create-vite/template-qwik-ts/package.json | 2 +- .../create-vite/template-qwik/package.json | 2 +- .../template-react-ts/package.json | 4 +- .../create-vite/template-react/package.json | 4 +- .../template-solid-ts/package.json | 2 +- .../create-vite/template-solid/package.json | 2 +- .../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 | 4 +- .../create-vite/template-vue/package.json | 2 +- packages/plugin-legacy/package.json | 6 +- packages/vite/package.json | 6 +- playground/backend-integration/package.json | 2 +- playground/css-sourcemap/package.json | 4 +- playground/css/package.json | 2 +- playground/js-sourcemap/package.json | 2 +- playground/legacy/package.json | 2 +- playground/multiple-entrypoints/package.json | 2 +- playground/preload/package.json | 2 +- playground/resolve/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- pnpm-lock.yaml | 877 +++++++++--------- 29 files changed, 487 insertions(+), 470 deletions(-) diff --git a/package.json b/package.json index 7990085c0cff3c..ec47953defb963 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@babel/types": "^7.24.0", - "@eslint-types/typescript-eslint": "^7.2.0", + "@eslint-types/typescript-eslint": "^7.5.0", "@rollup/plugin-typescript": "^11.1.6", "@types/babel__core": "^7.20.5", "@types/babel__preset-env": "^7.9.6", @@ -53,7 +53,7 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.6", - "@types/node": "^20.12.3", + "@types/node": "^20.12.5", "@types/picomatch": "^2.3.3", "@types/semver": "^7.5.8", "@types/stylus": "^0.48.42", @@ -66,21 +66,21 @@ "eslint-define-config": "^2.1.0", "eslint-plugin-i": "^2.29.1", "eslint-plugin-n": "^16.6.2", - "eslint-plugin-regexp": "^2.4.0", + "eslint-plugin-regexp": "^2.5.0", "execa": "^8.0.1", "feed": "^4.2.2", "fs-extra": "^11.2.0", "lint-staged": "^15.2.2", "npm-run-all2": "^6.1.2", "picocolors": "^1.0.0", - "playwright-chromium": "^1.42.1", + "playwright-chromium": "^1.43.0", "prettier": "3.2.5", "rimraf": "^5.0.5", "rollup": "^4.13.0", "semver": "^7.6.0", "simple-git-hooks": "^2.11.1", "tslib": "^2.6.2", - "tsx": "^4.7.1", + "tsx": "^4.7.2", "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index ac88ed02c6b81e..b72581c2590051 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.2.2", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index d692778e896985..dc31abfe2b9f17 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.2" }, "devDependencies": { - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 913e4d7f99ed93..1af2f460528e15 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -14,6 +14,6 @@ "devDependencies": { "@preact/preset-vite": "^2.8.2", "typescript": "^5.2.2", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index ff85898913869c..f2bf1305610c84 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@preact/preset-vite": "^2.8.2", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 3939435ae20925..06c24fb26f05fb 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -11,7 +11,7 @@ "devDependencies": { "serve": "^14.2.1", "typescript": "^5.2.2", - "vite": "^5.2.7" + "vite": "^5.2.8" }, "dependencies": { "@builder.io/qwik": "^1.5.1" diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index da4f1eb41ec47a..52a9a148779ea6 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "serve": "^14.2.1", - "vite": "^5.2.7" + "vite": "^5.2.8" }, "dependencies": { "@builder.io/qwik": "^1.5.1" diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 74063197274056..37e5c19ed94c11 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -15,7 +15,7 @@ }, "devDependencies": { "@types/react": "^18.2.74", - "@types/react-dom": "^18.2.23", + "@types/react-dom": "^18.2.24", "@typescript-eslint/eslint-plugin": "^7.5.0", "@typescript-eslint/parser": "^7.5.0", "@vitejs/plugin-react": "^4.2.1", @@ -23,6 +23,6 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.6", "typescript": "^5.2.2", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index c6110c7f373619..1b1402bbc5d901 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -15,12 +15,12 @@ }, "devDependencies": { "@types/react": "^18.2.74", - "@types/react-dom": "^18.2.23", + "@types/react-dom": "^18.2.24", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-react-refresh": "^0.4.6", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 349d35c8e3bbdd..922f83610eaefc 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.2.7", + "vite": "^5.2.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 7464f3891bf54d..138b091a13ce17 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -12,7 +12,7 @@ "solid-js": "^1.8.16" }, "devDependencies": { - "vite": "^5.2.7", + "vite": "^5.2.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 acdcd6471be81c..b773fbc6e216f2 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": "^3.6.9", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 2c042a3908be33..24abdf3ae4200d 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.0.2", "svelte": "^4.2.12", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index e8a7db141dfb9d..9efc4e4505f123 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.2.2", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index 43dce02b5a007c..1f68d52f2075c7 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.2.7" + "vite": "^5.2.8" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 5de78129aeb8f4..f869e551545535 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", "typescript": "^5.2.2", - "vite": "^5.2.7", - "vue-tsc": "^2.0.7" + "vite": "^5.2.8", + "vue-tsc": "^2.0.11" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 9f68b64c2c3577..92a449cc57b79f 100644 --- a/packages/create-vite/template-vue/package.json +++ b/packages/create-vite/template-vue/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.2.7" + "vite": "^5.2.8" } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index 1b0b4bcf2cf7db..f143b4553ed87f 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -41,12 +41,12 @@ "homepage": "https://github.com/vitejs/vite/tree/main/packages/plugin-legacy#readme", "funding": "https://github.com/vitejs/vite?sponsor=1", "dependencies": { - "@babel/core": "^7.24.3", - "@babel/preset-env": "^7.24.3", + "@babel/core": "^7.24.4", + "@babel/preset-env": "^7.24.4", "browserslist": "^4.23.0", "browserslist-to-esbuild": "^2.1.1", "core-js": "^3.36.1", - "magic-string": "^0.30.8", + "magic-string": "^0.30.9", "regenerator-runtime": "^0.14.1", "systemjs": "^6.14.3" }, diff --git a/packages/vite/package.json b/packages/vite/package.json index 066b9f0a14f100..24cea76552b88a 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -94,7 +94,7 @@ }, "devDependencies": { "@ampproject/remapping": "^2.3.0", - "@babel/parser": "^7.24.1", + "@babel/parser": "^7.24.4", "@jridgewell/trace-mapping": "^0.3.25", "@polka/compression": "^1.0.0-next.25", "@rollup/plugin-alias": "^5.1.0", @@ -127,7 +127,7 @@ "http-proxy": "^1.18.1", "launch-editor-middleware": "^2.6.1", "lightningcss": "^1.24.1", - "magic-string": "^0.30.8", + "magic-string": "^0.30.9", "micromatch": "^4.0.5", "mlly": "^1.6.1", "mrmime": "^2.0.0", @@ -144,7 +144,7 @@ "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-license": "^3.3.1", - "sass": "^1.72.0", + "sass": "^1.74.1", "sirv": "^2.0.4", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index 9463e05c2e52f4..6b6436ed76502d 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.72.0", + "sass": "^1.74.1", "tailwindcss": "^3.4.3", "fast-glob": "^3.3.2" } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index 53f41868add3bd..9883bdf6ca8c51 100644 --- a/playground/css-sourcemap/package.json +++ b/playground/css-sourcemap/package.json @@ -11,8 +11,8 @@ }, "devDependencies": { "less": "^4.2.0", - "magic-string": "^0.30.8", - "sass": "^1.72.0", + "magic-string": "^0.30.9", + "sass": "^1.74.1", "stylus": "^0.63.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index 02b8bb4baf2486..8982aa4e1aca7a 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.0.1", - "sass": "^1.72.0", + "sass": "^1.74.1", "stylus": "^0.63.0", "sugarss": "^4.0.1" }, diff --git a/playground/js-sourcemap/package.json b/playground/js-sourcemap/package.json index 9a163572c94841..f16596636ce78e 100644 --- a/playground/js-sourcemap/package.json +++ b/playground/js-sourcemap/package.json @@ -11,6 +11,6 @@ }, "dependencies": { "@vitejs/test-importee-pkg": "file:importee-pkg", - "magic-string": "^0.30.8" + "magic-string": "^0.30.9" } } diff --git a/playground/legacy/package.json b/playground/legacy/package.json index a029ca00de2f08..ee518eed304b48 100644 --- a/playground/legacy/package.json +++ b/playground/legacy/package.json @@ -17,6 +17,6 @@ "devDependencies": { "@vitejs/plugin-legacy": "workspace:*", "express": "^4.19.2", - "terser": "^5.30.2" + "terser": "^5.30.3" } } diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index 61c745973af6df..f2d4c79342fbe2 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.72.0" + "sass": "^1.74.1" } } diff --git a/playground/preload/package.json b/playground/preload/package.json index 26ff1d2bbbdb11..fed90dbe3e3720 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.ts" }, "devDependencies": { - "terser": "^5.30.2", + "terser": "^5.30.3", "@vitejs/test-dep-a": "file:./dep-a", "@vitejs/test-dep-including-a": "file:./dep-including-a" } diff --git a/playground/resolve/package.json b/playground/resolve/package.json index 03410b28657ba2..968c917540b090 100644 --- a/playground/resolve/package.json +++ b/playground/resolve/package.json @@ -19,7 +19,7 @@ "#query": "./imports-path/query.json" }, "dependencies": { - "@babel/runtime": "^7.24.1", + "@babel/runtime": "^7.24.4", "es5-ext": "0.10.64", "normalize.css": "^8.0.1", "@vitejs/test-require-pkg-with-module-field": "link:./require-pkg-with-module-field", diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 55a5cf2a4f3af8..e090114f29be52 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.20240329.0", + "miniflare": "^3.20240404.0", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9ab502c9213ed9..5183f84f16c70b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,8 +25,8 @@ importers: specifier: ^7.24.0 version: 7.24.0 '@eslint-types/typescript-eslint': - specifier: ^7.2.0 - version: 7.2.0 + specifier: ^7.5.0 + version: 7.5.0 '@rollup/plugin-typescript': specifier: ^11.1.6 version: 11.1.6(rollup@4.13.0)(tslib@2.6.2)(typescript@5.2.2) @@ -61,8 +61,8 @@ importers: specifier: ^4.0.6 version: 4.0.6 '@types/node': - specifier: ^20.12.3 - version: 20.12.3 + specifier: ^20.12.5 + version: 20.12.5 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -100,8 +100,8 @@ importers: specifier: ^16.6.2 version: 16.6.2(eslint@8.57.0) eslint-plugin-regexp: - specifier: ^2.4.0 - version: 2.4.0(eslint@8.57.0) + specifier: ^2.5.0 + version: 2.5.0(eslint@8.57.0) execa: specifier: ^8.0.1 version: 8.0.1 @@ -121,8 +121,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 playwright-chromium: - specifier: ^1.42.1 - version: 1.42.1 + specifier: ^1.43.0 + version: 1.43.0 prettier: specifier: 3.2.5 version: 3.2.5 @@ -142,8 +142,8 @@ importers: specifier: ^2.6.2 version: 2.6.2 tsx: - specifier: ^4.7.1 - version: 4.7.1 + specifier: ^4.7.2 + version: 4.7.2 typescript: specifier: ^5.2.2 version: 5.2.2 @@ -155,7 +155,7 @@ importers: version: link:packages/vite vitest: specifier: ^1.4.0 - version: 1.4.0(@types/node@20.12.3) + version: 1.4.0(@types/node@20.12.5) docs: devDependencies: @@ -199,11 +199,11 @@ importers: packages/plugin-legacy: dependencies: '@babel/core': - specifier: ^7.24.3 - version: 7.24.3 + specifier: ^7.24.4 + version: 7.24.4 '@babel/preset-env': - specifier: ^7.24.3 - version: 7.24.3(@babel/core@7.24.3) + specifier: ^7.24.4 + version: 7.24.4(@babel/core@7.24.4) browserslist: specifier: ^4.23.0 version: 4.23.0 @@ -214,8 +214,8 @@ importers: specifier: ^3.36.1 version: 3.36.1 magic-string: - specifier: ^0.30.8 - version: 0.30.8 + specifier: ^0.30.9 + version: 0.30.9 regenerator-runtime: specifier: ^0.14.1 version: 0.14.1 @@ -253,8 +253,8 @@ importers: specifier: ^2.3.0 version: 2.3.0 '@babel/parser': - specifier: ^7.24.1 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@jridgewell/trace-mapping': specifier: ^0.3.25 version: 0.3.25 @@ -352,8 +352,8 @@ importers: specifier: ^1.24.1 version: 1.24.1 magic-string: - specifier: ^0.30.8 - version: 0.30.8 + specifier: ^0.30.9 + version: 0.30.9 micromatch: specifier: ^4.0.5 version: 4.0.5 @@ -403,8 +403,8 @@ importers: specifier: ^3.3.1 version: 3.3.1(rollup@4.13.0) sass: - specifier: ^1.72.0 - version: 1.72.0 + specifier: ^1.74.1 + version: 1.74.1 sirv: specifier: ^2.0.4 version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) @@ -518,8 +518,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.72.0 - version: 1.72.0 + specifier: ^1.74.1 + version: 1.74.1 tailwindcss: specifier: ^3.4.3 version: 3.4.3(ts-node@10.9.2) @@ -580,8 +580,8 @@ importers: specifier: ^6.0.1 version: 6.0.1(postcss@8.4.38) sass: - specifier: ^1.72.0 - version: 1.72.0 + specifier: ^1.74.1 + version: 1.74.1 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -616,11 +616,11 @@ importers: specifier: ^4.2.0 version: 4.2.0 magic-string: - specifier: ^0.30.8 - version: 0.30.8 + specifier: ^0.30.9 + version: 0.30.9 sass: - specifier: ^1.72.0 - version: 1.72.0 + specifier: ^1.74.1 + version: 1.74.1 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -767,8 +767,8 @@ importers: specifier: file:importee-pkg version: file:playground/js-sourcemap/importee-pkg magic-string: - specifier: ^0.30.8 - version: 0.30.8 + specifier: ^0.30.9 + version: 0.30.9 playground/js-sourcemap/importee-pkg: {} @@ -795,8 +795,8 @@ importers: specifier: ^4.19.2 version: 4.19.2 terser: - specifier: ^5.30.2 - version: 5.30.2 + specifier: ^5.30.3 + version: 5.30.3 playground/lib: devDependencies: @@ -817,8 +817,8 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.72.0 - version: 1.72.0 + specifier: ^1.74.1 + version: 1.74.1 playground/nested-deps: dependencies: @@ -1108,8 +1108,8 @@ importers: specifier: file:./dep-including-a version: file:playground/preload/dep-including-a terser: - specifier: ^5.30.2 - version: 5.30.2 + specifier: ^5.30.3 + version: 5.30.3 playground/preload/dep-a: {} @@ -1136,8 +1136,8 @@ importers: playground/resolve: dependencies: '@babel/runtime': - specifier: ^7.24.1 - version: 7.24.1 + specifier: ^7.24.4 + version: 7.24.4 '@vitejs/test-require-pkg-with-module-field': specifier: link:./require-pkg-with-module-field version: link:require-pkg-with-module-field @@ -1521,8 +1521,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240329.0 - version: 3.20240329.0 + specifier: ^3.20240404.0 + version: 3.20240404.0 playground/ssr-webworker/browser-exports: {} @@ -1545,7 +1545,7 @@ importers: devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.3)(typescript@5.2.2) + version: 10.9.2(@types/node@20.12.5)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -1738,26 +1738,26 @@ packages: '@babel/highlight': 7.24.2 picocolors: 1.0.0 - /@babel/compat-data@7.23.5: - resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} - engines: {node: '>=6.9.0'} - /@babel/compat-data@7.24.1: resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} engines: {node: '>=6.9.0'} + + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.24.3: - resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) - '@babel/helpers': 7.24.1 - '@babel/parser': 7.24.1 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 @@ -1769,8 +1769,8 @@ packages: transitivePeerDependencies: - supports-color - /@babel/generator@7.24.1: - resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 @@ -1796,48 +1796,66 @@ packages: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.23.5 + '@babel/compat-data': 7.24.1 '@babel/helper-validator-option': 7.23.5 browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 - /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.3): + /@babel/helper-create-class-features-plugin@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: false - /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.3): + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.23.0 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + semver: 6.3.1 + dev: false + + /@babel/helper-create-regexp-features-plugin@7.22.15(@babel/core@7.24.4): resolution: {integrity: sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 regexpu-core: 5.3.2 semver: 6.3.1 dev: false - /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.3): + /@babel/helper-define-polyfill-provider@0.6.1(@babel/core@7.24.4): resolution: {integrity: sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 debug: 4.3.4 @@ -1871,28 +1889,21 @@ packages: '@babel/types': 7.24.0 dev: false - /@babel/helper-module-imports@7.22.15: - resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - /@babel/helper-module-imports@7.24.3: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 - dev: false - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.22.15 + '@babel/helper-module-imports': 7.24.3 '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 @@ -1909,25 +1920,25 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.3): + /@babel/helper-remap-async-to-generator@7.22.20(@babel/core@7.24.4): resolution: {integrity: sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-wrap-function': 7.22.20 dev: false - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.3): + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 @@ -1973,8 +1984,8 @@ packages: '@babel/types': 7.24.0 dev: false - /@babel/helpers@7.24.1: - resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 @@ -1992,852 +2003,864 @@ packages: js-tokens: 4.0.0 picocolors: 1.0.0 - /@babel/parser@7.24.1: - resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-firefox-class-in-computed-class-key@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-qpl6vOOEEzTLLcsuqYYo8yDtrTocmu2xkGvgNebvPjT9DTtfFYGmgDqY+rBYXNlqL4s9qLDn6xkrJv4RxAPiTA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.4 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.24.0 + dev: false + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.13.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) dev: false - /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.3): + /@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3): + /@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4): resolution: {integrity: sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 dev: false - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.3): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.3): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-syntax-import-attributes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.3): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.3): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.3): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.3): + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.3): + /@babel/plugin-transform-async-generator-functions@7.24.3(@babel/core@7.24.4): resolution: {integrity: sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-async-to-generator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-module-imports': 7.24.3 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.3) + '@babel/helper-remap-async-to-generator': 7.22.20(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-block-scoping@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==} + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-class-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-class-static-block@7.24.1(@babel/core@7.24.3): - resolution: {integrity: sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==} + /@babel/plugin-transform-class-static-block@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-B8q7Pz870Hz/q9UgP8InNpY01CSLDSCyqX7zcRuv3FcPl87A2G17lASroHWaCtbdIcbYzOZ7kWmXFKbijMSmFg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.12.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: false - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 dev: false - /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-dotall-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-duplicate-keys@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-dynamic-import@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-exponentiation-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.15 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-export-namespace-from@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-json-strings@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-logical-assignment-operators@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-amd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 dev: false - /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-systemjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-identifier': 7.22.20 dev: false - /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-modules-umd@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.3): + /@babel/plugin-transform-named-capturing-groups-regex@7.22.5(@babel/core@7.24.4): resolution: {integrity: sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-new-target@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-nullish-coalescing-operator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-numeric-separator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-object-rest-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.3) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-optional-catch-binding@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-optional-chaining@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-private-methods@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-private-property-in-object@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.3) + '@babel/helper-create-class-features-plugin': 7.24.1(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) dev: false - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-regenerator@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 regenerator-transform: 0.15.2 dev: false - /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-reserved-words@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: false - /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-sticky-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-typeof-symbol@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-escapes@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-property-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.3): + /@babel/plugin-transform-unicode-sets-regex@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-create-regexp-features-plugin': 7.22.15(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 dev: false - /@babel/preset-env@7.24.3(@babel/core@7.24.3): - resolution: {integrity: sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==} + /@babel/preset-env@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-7Kl6cSmYkak0FK/FXjSEnLJ1N9T/WA2RkMhu17gZ/dsxKJUuTYNIylahPTzqpLyJN4WhDif8X0XK1R8Wsguo/A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-validator-option': 7.23.5 - '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.3) - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.3) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.3) - '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.3) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.3) - '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.3) - '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.3) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.3) - '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-block-scoping': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-class-static-block': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.3) - '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.3) - '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.3) - '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.3) - babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.3) - babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.3) - babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.3) - core-js-compat: 3.35.0 + '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-proposal-private-property-in-object': 7.21.0-placeholder-for-preset-env.2(@babel/core@7.24.4) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-attributes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-async-generator-functions': 7.24.3(@babel/core@7.24.4) + '@babel/plugin-transform-async-to-generator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-class-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-class-static-block': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-dotall-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-duplicate-keys': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-dynamic-import': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-exponentiation-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-export-namespace-from': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-json-strings': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-logical-assignment-operators': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-amd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-systemjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-umd': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.5(@babel/core@7.24.4) + '@babel/plugin-transform-new-target': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-nullish-coalescing-operator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-numeric-separator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-rest-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-catch-binding': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-optional-chaining': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-methods': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-private-property-in-object': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-regenerator': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-reserved-words': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-sticky-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-typeof-symbol': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-escapes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-property-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-regex': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-unicode-sets-regex': 7.24.1(@babel/core@7.24.4) + '@babel/preset-modules': 0.1.6-no-external-plugins(@babel/core@7.24.4) + babel-plugin-polyfill-corejs2: 0.4.10(@babel/core@7.24.4) + babel-plugin-polyfill-corejs3: 0.10.4(@babel/core@7.24.4) + babel-plugin-polyfill-regenerator: 0.6.1(@babel/core@7.24.4) + core-js-compat: 3.36.1 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.3): + /@babel/preset-modules@0.1.6-no-external-plugins(@babel/core@7.24.4): resolution: {integrity: sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==} peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/types': 7.24.0 esutils: 2.0.3 @@ -2847,8 +2870,8 @@ packages: resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} dev: false - /@babel/runtime@7.24.1: - resolution: {integrity: sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==} + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -2864,7 +2887,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 /@babel/traverse@7.24.1: @@ -2872,12 +2895,12 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 debug: 4.3.4 globals: 11.12.0 @@ -2892,8 +2915,8 @@ packages: '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - /@cloudflare/workerd-darwin-64@1.20240329.0: - resolution: {integrity: sha512-/raHmsHrYjoC5am84wqyiZIDCRrrYN6YDFb4zchwWQzJ0ZHleUeY6IzNdjujrS/gYey/+Db9oyl2PD1xAZt4gA==} + /@cloudflare/workerd-darwin-64@1.20240404.0: + resolution: {integrity: sha512-rc/ov3I9GwgKRtUnkShNW3TIoZEPHzExrMRNlHq1VpXQRBSchHdMw8meMn54+oqgxW1AKLmPWj/c0A7EnYAsIw==} engines: {node: '>=16'} cpu: [x64] os: [darwin] @@ -2901,8 +2924,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-darwin-arm64@1.20240329.0: - resolution: {integrity: sha512-3wnwVdfFDt+JUhlA6NWW+093ryGNF0HMuBmkOh0PG6j4GMRH8Y+EDsqzqrzT3ZoGGXbI9x1H7k15VKb3LAN/KA==} + /@cloudflare/workerd-darwin-arm64@1.20240404.0: + resolution: {integrity: sha512-V9oPjeC2PYBCoAYnjbO2bsjT7PtzxfUHnh780FUi1r59Hwxd7FNlojwsIidA0nS/1WV5UKeJusIdrYlQbsketA==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] @@ -2910,8 +2933,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-64@1.20240329.0: - resolution: {integrity: sha512-E909ZIXgjdr2iuq5bF/vq02elizDlPQoYRiKojdvODC7w8rbnpwnuptajS4xK5kmKh4XBiU2o9NDhut/W1kfyw==} + /@cloudflare/workerd-linux-64@1.20240404.0: + resolution: {integrity: sha512-ndO7q6G2X8uYd5byGFzow4SWPqINQcmJ7pKKATNa+9vh/YMO0of2ihPntnm9uv577l8nRiAwRkHbnsWoEI33qQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] @@ -2919,8 +2942,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-linux-arm64@1.20240329.0: - resolution: {integrity: sha512-PELA3FVW75pKchsSI5o40oiClFY2Uiq+KUx/f/srwz2pIJoM5YWLmFrv+s8feKoEwuabxIGSzHxy7QA++HyprQ==} + /@cloudflare/workerd-linux-arm64@1.20240404.0: + resolution: {integrity: sha512-hto5pjKYFqFu2Rvxnh84TzgDwalBRXQSwOVHltcgqo48en9TJDCN48ZtLj2G7QTGUOMW88h+nqdbj8+P7S/GXQ==} engines: {node: '>=16'} cpu: [arm64] os: [linux] @@ -2928,8 +2951,8 @@ packages: dev: true optional: true - /@cloudflare/workerd-windows-64@1.20240329.0: - resolution: {integrity: sha512-/T+AcjVqTuqAeGBQmjAF4TOTm8sv3BSO/NtUPa1ghCvsp1sb03L6/c3wFc9ZonSdRYeBb0XDX7PnenGCvjr/Tw==} + /@cloudflare/workerd-windows-64@1.20240404.0: + resolution: {integrity: sha512-DpCLvNkOeFinKGJwv9qbyT7RLZ1168dhPx85IHSqAYVWZIszNSmNOkEDqklvoJoab01AqETrrEhwBdmjCA7qfA==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -3589,8 +3612,8 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint-types/typescript-eslint@7.2.0: - resolution: {integrity: sha512-QeCnZEHdeehkcZSy5q41aVHXD78FElfTjQ8AG5HnEREtyBG3PEz7NTuLD13Xbh6p0YR7q4GkV4EswVxz8IiMxA==} + /@eslint-types/typescript-eslint@7.5.0: + resolution: {integrity: sha512-zKvsPBDq6o0L4p2sRtq8fxOtGc+mm37aZSXLsiD4DIRl2kYUxKNO9CKDTAgmuMYUzih9J7lbLxAomreLrdAiVQ==} dev: true /@eslint/eslintrc@2.1.4: @@ -3828,7 +3851,7 @@ packages: estree-walker: 2.0.2 glob: 8.1.0 is-reference: 1.2.1 - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 4.13.0 dev: true @@ -3845,7 +3868,7 @@ packages: astring: 1.8.6 estree-walker: 2.0.2 fast-glob: 3.3.2 - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 4.13.0 dev: true @@ -4142,7 +4165,7 @@ packages: /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 '@types/babel__generator': 7.6.4 '@types/babel__template': 7.4.1 @@ -4162,7 +4185,7 @@ packages: /@types/babel__template@7.4.1: resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 dev: true @@ -4176,7 +4199,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/braces@3.0.1: @@ -4186,7 +4209,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/convert-source-map@2.0.3: @@ -4196,7 +4219,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/debug@4.1.12: @@ -4223,13 +4246,13 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -4248,7 +4271,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/hast@3.0.4: @@ -4268,7 +4291,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/less@3.0.6: @@ -4328,8 +4351,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.12.3: - resolution: {integrity: sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==} + /@types/node@20.12.5: + resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} dependencies: undici-types: 5.26.5 @@ -4372,7 +4395,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/serve-static@1.15.5: @@ -4380,13 +4403,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@types/unist@3.0.2: @@ -4400,7 +4423,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 dev: true /@typescript-eslint/eslint-plugin@7.5.0(@typescript-eslint/parser@7.5.0)(eslint@8.57.0)(typescript@5.2.2): @@ -4588,7 +4611,7 @@ packages: /@vitest/snapshot@1.4.0: resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -4623,7 +4646,7 @@ packages: /@vue/compiler-core@3.2.0: resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 '@vue/shared': 3.2.0 estree-walker: 2.0.2 @@ -4633,7 +4656,7 @@ packages: /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 @@ -4655,13 +4678,13 @@ packages: /@vue/compiler-sfc@3.4.21: resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@vue/compiler-core': 3.4.21 '@vue/compiler-dom': 3.4.21 '@vue/compiler-ssr': 3.4.21 '@vue/shared': 3.4.21 estree-walker: 2.0.2 - magic-string: 0.30.8 + magic-string: 0.30.9 postcss: 8.4.38 source-map-js: 1.2.0 @@ -5095,38 +5118,38 @@ packages: - debug dev: false - /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.3): + /babel-plugin-polyfill-corejs2@0.4.10(@babel/core@7.24.4): resolution: {integrity: sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.24.1 - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.3): + /babel-plugin-polyfill-corejs3@0.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) core-js-compat: 3.36.1 transitivePeerDependencies: - supports-color dev: false - /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.3): + /babel-plugin-polyfill-regenerator@0.6.1(@babel/core@7.24.4): resolution: {integrity: sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==} peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/core': 7.24.3 - '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.3) + '@babel/core': 7.24.4 + '@babel/helper-define-polyfill-provider': 0.6.1(@babel/core@7.24.4) transitivePeerDependencies: - supports-color dev: false @@ -5480,7 +5503,7 @@ packages: /constantinople@4.0.1: resolution: {integrity: sha512-vCrqcSIq4//Gx74TXXCGnHpulY1dskqLTFGDmhrGxzeXL8lF8kvXv6mpNWlJj1uD4DW23D4ljAqbY4RRaaUZIw==} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 dev: true @@ -5644,12 +5667,6 @@ packages: is-what: 3.14.1 dev: true - /core-js-compat@3.35.0: - resolution: {integrity: sha512-5blwFAddknKeNgsjBzilkdQ0+YK8L1PfqPYq40NOYMYFSS38qj+hpTcLLWwpIwA2A5bje/x5jmVn2tzUMg9IVw==} - dependencies: - browserslist: 4.23.0 - dev: false - /core-js-compat@3.36.1: resolution: {integrity: sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==} dependencies: @@ -6179,8 +6196,8 @@ packages: semver: 7.6.0 dev: true - /eslint-plugin-regexp@2.4.0(eslint@8.57.0): - resolution: {integrity: sha512-OL2S6VPjQhs9s/NclQ0qattVq1J0GU8ox70/HIVy5Dxw+qbbdd7KQkyucsez2clEQjvdtDe12DTnPphFFUyXFg==} + /eslint-plugin-regexp@2.5.0(eslint@8.57.0): + resolution: {integrity: sha512-I7vKcP0o75WS5SHiVNXN+Eshq49sbrweMQIuqSL3AId9AwDe9Dhbfug65vw64LxmOd4v+yf5l5Xt41y9puiq0g==} engines: {node: ^18 || >=20} peerDependencies: eslint: '>=8.44.0' @@ -7510,8 +7527,8 @@ packages: '@jridgewell/sourcemap-codec': 1.4.15 dev: true - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + /magic-string@0.30.9: + resolution: {integrity: sha512-S1+hd+dIrC8EZqKyT9DstTH/0Z+f76kmmvZnkfQVmOpDEF9iVgdYif3Q/pIWHmCoo59bQVGW0kVL3e2nl+9+Sw==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 @@ -7922,8 +7939,8 @@ packages: engines: {node: '>=12'} dev: true - /miniflare@3.20240329.0: - resolution: {integrity: sha512-kdHlMwhV241kck5oh8uyKPIhCusP1BL4+iOSeJZgcJ46EATA6crWtYqlARNU9t/iYXhzKhXOlOPJjjlCJuOgTA==} + /miniflare@3.20240404.0: + resolution: {integrity: sha512-+FOTcztPMW3akmucX4vE0PWMNvP4JBwl4s9ieA84fcOaDtTbtfU1rHXpcacj16klpUpvSnD6xd8Sjsn6SJXPfg==} engines: {node: '>=16.13'} hasBin: true dependencies: @@ -7935,7 +7952,7 @@ packages: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.3 - workerd: 1.20240329.0 + workerd: 1.20240404.0 ws: 8.16.0 youch: 3.2.3 zod: 3.22.4 @@ -8487,17 +8504,17 @@ packages: pathe: 1.1.2 dev: true - /playwright-chromium@1.42.1: - resolution: {integrity: sha512-VelpmKJ+3G3QlAFfA9JIuEYyU8b8vQrlIPY3tIaGv+adn7mem56SP04e+zMudcxisfOT3suQOSTD1qs6YErdDg==} + /playwright-chromium@1.43.0: + resolution: {integrity: sha512-WeytzaCdiSL7NfGr6Pix/LTrnVixo5apb0q3SjgDQ9xtLYq0QCB9WanzDj2GI7DCmPEIhdCpvC2MRAjuJUUZyA==} engines: {node: '>=16'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.42.1 + playwright-core: 1.43.0 dev: true - /playwright-core@1.42.1: - resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} + /playwright-core@1.43.0: + resolution: {integrity: sha512-iWFjyBUH97+pUFiyTqSLd8cDMMOS0r2ZYz2qEsPjH8/bX++sbIJT35MSwKnp1r/OQBAqC5XO99xFbJ9XClhf4w==} engines: {node: '>=16'} hasBin: true dev: true @@ -8557,7 +8574,7 @@ packages: dependencies: lilconfig: 3.0.0 postcss: 8.4.38 - ts-node: 10.9.2(@types/node@20.12.3)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.12.5)(typescript@5.2.2) yaml: 2.3.4 /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): @@ -8956,7 +8973,7 @@ packages: /regenerator-transform@0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.24.1 + '@babel/runtime': 7.24.4 dev: false /regexp-ast-analysis@0.7.1: @@ -9049,7 +9066,7 @@ packages: rollup: ^3.25 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 3.29.4 typescript: 5.2.2 optionalDependencies: @@ -9063,7 +9080,7 @@ packages: rollup: ^3.29.4 || ^4 typescript: ^4.5 || ^5.0 dependencies: - magic-string: 0.30.8 + magic-string: 0.30.9 rollup: 4.13.0 typescript: 5.2.2 optionalDependencies: @@ -9096,7 +9113,7 @@ packages: commenting: 1.1.0 glob: 7.2.0 lodash: 4.17.21 - magic-string: 0.30.8 + magic-string: 0.30.9 mkdirp: 3.0.1 moment: 2.30.1 package-name-regex: 2.0.6 @@ -9153,8 +9170,8 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass@1.72.0: - resolution: {integrity: sha512-Gpczt3WA56Ly0Mn8Sl21Vj94s1axi9hDIzDFn9Ph9x3C3p4nNyvsqJoQyVXKou6cBlfFWEgRW4rT8Tb4i3XnVA==} + /sass@1.74.1: + resolution: {integrity: sha512-w0Z9p/rWZWelb88ISOLyvqTWGmtmu2QJICqDBGyNnfG4OUnPX9BBjjYIXUpXCMOOg5MQWNpqzt876la1fsTvUA==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -9640,8 +9657,8 @@ packages: temp-dir: 3.0.0 dev: true - /terser@5.30.2: - resolution: {integrity: sha512-vTDjRKYKip4dOFL5VizdoxHTYDfEXPdz5t+FbxCC5Rp2s+KbEO8w5wqMDPgj7CtFKZuzq7PXv28fZoXfqqBVuw==} + /terser@5.30.3: + resolution: {integrity: sha512-STdUgOUx8rLbMGO9IOwHLpCqolkDITFFQSMYYwKE1N2lY6MVSaeoi10z/EhWxRc6ybqoVmKSkhKYH/XUpl7vSA==} engines: {node: '>=10'} hasBin: true dependencies: @@ -9735,7 +9752,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.12.3)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.12.5)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -9754,7 +9771,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.12.3 + '@types/node': 20.12.5 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -9782,8 +9799,8 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + /tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -9999,7 +10016,7 @@ packages: resolution: {integrity: sha512-Egkr/s4zcMTEuulcIb7dgURS6QpN7DyqQYdf+jBtiaJvQ+eRsrtWUoX84SbvQWuLkXsOjM+8sJC9u6KoMK/U7Q==} hasBin: true dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.4 '@babel/standalone': 7.22.20 '@babel/types': 7.24.0 defu: 6.1.2 @@ -10130,7 +10147,7 @@ packages: - universal-cookie dev: true - /vitest@1.4.0(@types/node@20.12.3): + /vitest@1.4.0(@types/node@20.12.5): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10155,7 +10172,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.5 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -10166,7 +10183,7 @@ packages: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.9 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.5.0 @@ -10300,7 +10317,7 @@ packages: resolution: {integrity: sha512-RNGKj82nUPg3g5ygxkQl0R937xLyho1J24ItRCBTr/m1YnZkzJy1hUiHUJrc/VlsDQzsCnInEGSg3bci0Lmd4w==} engines: {node: '>= 10.0.0'} dependencies: - '@babel/parser': 7.24.1 + '@babel/parser': 7.24.4 '@babel/types': 7.24.0 assert-never: 1.2.1 babel-walk: 3.0.0-canary-5 @@ -10310,17 +10327,17 @@ packages: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true - /workerd@1.20240329.0: - resolution: {integrity: sha512-6wWuMOwWsp3K6447XsI/MZYFq0KlpV2zVbbNFEkv3N7UgJJKaHGwL/hilr6RlS4UFLU4co8nrF2lc5uR781HKg==} + /workerd@1.20240404.0: + resolution: {integrity: sha512-U4tfnvBcPMsv7pmRGuF0J5UnoZi6tbc64tXNfyijI74r6w6Vlb2+a6eibdQL8g0g46+4vjuTKME9G5RvSvdc8g==} engines: {node: '>=16'} hasBin: true requiresBuild: true optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240329.0 - '@cloudflare/workerd-darwin-arm64': 1.20240329.0 - '@cloudflare/workerd-linux-64': 1.20240329.0 - '@cloudflare/workerd-linux-arm64': 1.20240329.0 - '@cloudflare/workerd-windows-64': 1.20240329.0 + '@cloudflare/workerd-darwin-64': 1.20240404.0 + '@cloudflare/workerd-darwin-arm64': 1.20240404.0 + '@cloudflare/workerd-linux-64': 1.20240404.0 + '@cloudflare/workerd-linux-arm64': 1.20240404.0 + '@cloudflare/workerd-windows-64': 1.20240404.0 dev: true /wrap-ansi@7.0.0: From 4af9f97cade9fdb349e4928871bbf15c190f9e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 9 Apr 2024 17:09:35 +0900 Subject: [PATCH 497/656] fix(legacy): modern polyfill autodetection was not injecting enough polyfills (#16367) --- packages/plugin-legacy/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/plugin-legacy/src/index.ts b/packages/plugin-legacy/src/index.ts index c33893420c8ed0..ad821f857ab593 100644 --- a/packages/plugin-legacy/src/index.ts +++ b/packages/plugin-legacy/src/index.ts @@ -139,7 +139,7 @@ function viteLegacyPlugin(options: Options = {}): Plugin[] { // es2020 = chrome 80+, safari 13.1+, firefox 72+, edge 80+ // https://github.com/evanw/esbuild/issues/121#issuecomment-646956379 const modernTargetsBabel = - 'edge>=80, firefox>=72, chrome>=80, safari>=13.1, chromeAndroid>=80, iOS>=13.1' + 'edge>=79, firefox>=67, chrome>=64, safari>=12, chromeAndroid>=64, iOS>=12' const genLegacy = options.renderLegacyChunks !== false const genModern = options.renderModernChunks !== false From f8e0791e3f7c7c39c041a563e77396eca706d05e Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Tue, 9 Apr 2024 17:11:09 +0800 Subject: [PATCH 498/656] docs: update dep optimization options entries (#16204) Co-authored-by: Bjorn Lu --- docs/config/dep-optimization-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index 6f8b52d0ad7e78..be248e65d7a8bf 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -8,7 +8,7 @@ By default, Vite will crawl all your `.html` files to detect dependencies that need to be pre-bundled (ignoring `node_modules`, `build.outDir`, `__tests__` and `coverage`). If `build.rollupOptions.input` is specified, Vite will crawl those entry points instead. -If neither of these fit your needs, you can specify custom entries using this option - the value should be a [fast-glob pattern](https://github.com/mrmlnc/fast-glob#basic-syntax) or array of patterns that are relative from Vite project root. This will overwrite default entries inference. Only `node_modules` and `build.outDir` folders will be ignored by default when `optimizeDeps.entries` is explicitly defined. If other folders need to be ignored, you can use an ignore pattern as part of the entries list, marked with an initial `!`. +If neither of these fit your needs, you can specify custom entries using this option - the value should be a [fast-glob pattern](https://github.com/mrmlnc/fast-glob#basic-syntax) or array of patterns that are relative from Vite project root. This will overwrite default entries inference. Only `node_modules` and `build.outDir` folders will be ignored by default when `optimizeDeps.entries` is explicitly defined. If other folders need to be ignored, you can use an ignore pattern as part of the entries list, marked with an initial `!`. If you don't want to ignore `node_modules` and `build.outDir`, you can specify using literal string paths (without fast-glob patterns) instead. ## optimizeDeps.exclude From e526573cae8a2fb073bf9a38bef17aeb9adbebc3 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 11 Apr 2024 03:17:49 +0800 Subject: [PATCH 499/656] docs: add links to environment api (#16392) --- docs/guide/api-vite-runtime.md | 4 +++- docs/guide/ssr.md | 15 +++++---------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/docs/guide/api-vite-runtime.md b/docs/guide/api-vite-runtime.md index 5c4ee3f07c3ec5..9aa579d268ddcf 100644 --- a/docs/guide/api-vite-runtime.md +++ b/docs/guide/api-vite-runtime.md @@ -1,7 +1,9 @@ # Vite Runtime API :::warning Low-level API -This API was introduced in Vite 5.1 as an experimental feature. It was added to [gather feedback](https://github.com/vitejs/vite/discussions/15774). There will probably be breaking changes to it in Vite 5.2, so make sure to pin the Vite version to `~5.1.0` when using it. This is a low-level API meant for library and framework authors. If your goal is to create an application, make sure to check out the higher-level SSR plugins and tools at [Awesome Vite SSR section](https://github.com/vitejs/awesome-vite#ssr) first. +This API was introduced in Vite 5.1 as an experimental feature. It was added to [gather feedback](https://github.com/vitejs/vite/discussions/15774). There will likely be breaking changes, so make sure to pin the Vite version to `~5.1.0` when using it. This is a low-level API meant for library and framework authors. If your goal is to create an application, make sure to check out the higher-level SSR plugins and tools at [Awesome Vite SSR section](https://github.com/vitejs/awesome-vite#ssr) first. + +Currently, the API is being revised as the [Environment API](https://github.com/vitejs/vite/discussions/16358) which is released at `^6.0.0-alpha.0`. ::: The "Vite Runtime" is a tool that allows running any code by processing it with Vite plugins first. It is different from `server.ssrLoadModule` because the runtime implementation is decoupled from the server. This allows library and framework authors to implement their own layer of communication between the server and the runtime. diff --git a/docs/guide/ssr.md b/docs/guide/ssr.md index 60ed03b5ccc406..79c29518994a2b 100644 --- a/docs/guide/ssr.md +++ b/docs/guide/ssr.md @@ -8,6 +8,8 @@ The following guide also assumes prior experience working with SSR in your frame :::warning Low-level API This is a low-level API meant for library and framework authors. If your goal is to create an application, make sure to check out the higher-level SSR plugins and tools at [Awesome Vite SSR section](https://github.com/vitejs/awesome-vite#ssr) first. That said, many applications are successfully built directly on top of Vite's native low-level API. + +Currently, Vite is working on an improved SSR API with the [Environment API](https://github.com/vitejs/vite/discussions/16358). Check out the link for more details. ::: :::tip Help @@ -138,17 +140,10 @@ app.use('*', async (req, res, next) => { // preambles from @vitejs/plugin-react template = await vite.transformIndexHtml(url, template) - // 3a. Load the server entry. ssrLoadModule automatically transforms + // 3. Load the server entry. ssrLoadModule automatically transforms // ESM source code to be usable in Node.js! There is no bundling // required, and provides efficient invalidation similar to HMR. const { render } = await vite.ssrLoadModule('/src/entry-server.js') - // 3b. Since Vite 5.1, you can use the experimental createViteRuntime API - // instead. - // It fully supports HMR and works in a simillar way to ssrLoadModule - // More advanced use case would be creating a runtime in a separate - // thread or even a different machine using ViteRuntime class - const runtime = await vite.createViteRuntime(server) - const { render } = await runtime.executeEntrypoint('/src/entry-server.js') // 4. render the app HTML. This assumes entry-server.js's exported // `render` function calls appropriate framework SSR APIs, @@ -183,7 +178,7 @@ The `dev` script in `package.json` should also be changed to use the server scri To ship an SSR project for production, we need to: 1. Produce a client build as normal; -2. Produce an SSR build, which can be directly loaded via `import()` so that we don't have to go through Vite's `ssrLoadModule` or `runtime.executeEntrypoint`; +2. Produce an SSR build, which can be directly loaded via `import()` so that we don't have to go through Vite's `ssrLoadModule`; Our scripts in `package.json` will look like this: @@ -203,7 +198,7 @@ Then, in `server.js` we need to add some production specific logic by checking ` - Instead of reading the root `index.html`, use the `dist/client/index.html` as the template, since it contains the correct asset links to the client build. -- Instead of `await vite.ssrLoadModule('/src/entry-server.js')` or `await runtime.executeEntrypoint('/src/entry-server.js')`, use `import('./dist/server/entry-server.js')` (this file is the result of the SSR build). +- Instead of `await vite.ssrLoadModule('/src/entry-server.js')`, use `import('./dist/server/entry-server.js')` (this file is the result of the SSR build). - Move the creation and all usage of the `vite` dev server behind dev-only conditional branches, then add static file serving middlewares to serve files from `dist/client`. From 6c323d5b3ab3cdf81d21bbe965ed3c36aa7f0589 Mon Sep 17 00:00:00 2001 From: Evan You Date: Thu, 11 Apr 2024 23:59:16 +0800 Subject: [PATCH 500/656] docs: SF meetup promo (#16398) --- .../theme/components/AsideSponsors.vue | 36 ++++++------------- docs/index.md | 15 ++++++-- 2 files changed, 23 insertions(+), 28 deletions(-) diff --git a/docs/.vitepress/theme/components/AsideSponsors.vue b/docs/.vitepress/theme/components/AsideSponsors.vue index 92eef401923d87..bd1baf1b7b93c5 100644 --- a/docs/.vitepress/theme/components/AsideSponsors.vue +++ b/docs/.vitepress/theme/components/AsideSponsors.vue @@ -18,23 +18,18 @@ const sponsors = computed(() => { diff --git a/docs/index.md b/docs/index.md index 0771f563b896ae..969b4492650740 100644 --- a/docs/index.md +++ b/docs/index.md @@ -21,9 +21,9 @@ hero: - theme: alt text: View on GitHub link: https://github.com/vitejs/vite - - theme: brand - text: 🎉 ViteConf 23! - link: https://viteconf.org/23/replay?utm=vite-homepage + - theme: alt + text: 📅 Vite Meetup SF + link: https://lu.ma/vite features: - icon: 💡 @@ -45,3 +45,12 @@ features: title: Fully Typed APIs details: Flexible programmatic APIs with full TypeScript typing. --- + + From 102c2fd5ad32a607f2b14dd728e8a802b7ddce34 Mon Sep 17 00:00:00 2001 From: Hiroshi Ogawa Date: Sat, 13 Apr 2024 23:48:08 +0900 Subject: [PATCH 501/656] fix: fix accumulated stacks in error overlay (#16393) --- packages/vite/src/client/overlay.ts | 5 +---- playground/html/__tests__/html.spec.ts | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/packages/vite/src/client/overlay.ts b/packages/vite/src/client/overlay.ts index f0e34cac19e68e..63f570be488efb 100644 --- a/packages/vite/src/client/overlay.ts +++ b/packages/vite/src/client/overlay.ts @@ -165,7 +165,6 @@ kbd { ` // Error Template -let template: HTMLElement const createTemplate = () => h( 'div', @@ -214,9 +213,7 @@ export class ErrorOverlay extends HTMLElement { constructor(err: ErrorPayload['err'], links = true) { super() this.root = this.attachShadow({ mode: 'open' }) - - template ??= createTemplate() - this.root.appendChild(template) + this.root.appendChild(createTemplate()) codeframeRE.lastIndex = 0 const hasFrame = err.frame && codeframeRE.test(err.frame) diff --git a/playground/html/__tests__/html.spec.ts b/playground/html/__tests__/html.spec.ts index 1baab83cf6a792..ed06f730308a4d 100644 --- a/playground/html/__tests__/html.spec.ts +++ b/playground/html/__tests__/html.spec.ts @@ -274,6 +274,29 @@ describe.runIf(isServe)('invalid', () => { expect(isVisbleOverlay).toBeFalsy() }) + test('stack is updated', async () => { + await page.goto(viteTestUrl + '/invalid.html') + + const errorOverlay = await page.waitForSelector('vite-error-overlay') + const hiddenPromise = errorOverlay.waitForElementState('hidden') + await page.keyboard.press('Escape') + await hiddenPromise + + viteServer.hot.send({ + type: 'error', + err: { + message: 'someError', + stack: [ + 'Error: someError', + ' at someMethod (/some/file.ts:1:2)', + ].join('\n'), + }, + }) + const newErrorOverlay = await page.waitForSelector('vite-error-overlay') + const stack = await newErrorOverlay.$$eval('.stack', (m) => m[0].innerHTML) + expect(stack).toMatch(/^Error: someError/) + }) + test('should reload when fixed', async () => { await page.goto(viteTestUrl + '/invalid.html') await editFile('invalid.html', (content) => { From a77707d69ca53d21e6c7ae9256683ecd3f1d721e Mon Sep 17 00:00:00 2001 From: patak-dev Date: Mon, 15 Apr 2024 10:09:58 +0200 Subject: [PATCH 502/656] release: v5.2.9 --- packages/vite/CHANGELOG.md | 11 +++++++++++ packages/vite/package.json | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index a76909f375e403..b6e258362ff36d 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,14 @@ +## 5.2.9 (2024-04-15) + +* fix: `fsp.rm` removing files does not take effect (#16032) ([b05c405](https://github.com/vitejs/vite/commit/b05c405)), closes [#16032](https://github.com/vitejs/vite/issues/16032) +* fix: fix accumulated stacks in error overlay (#16393) ([102c2fd](https://github.com/vitejs/vite/commit/102c2fd)), closes [#16393](https://github.com/vitejs/vite/issues/16393) +* fix(deps): update all non-major dependencies (#16376) ([58a2938](https://github.com/vitejs/vite/commit/58a2938)), closes [#16376](https://github.com/vitejs/vite/issues/16376) +* chore: update region comment (#16380) ([77562c3](https://github.com/vitejs/vite/commit/77562c3)), closes [#16380](https://github.com/vitejs/vite/issues/16380) +* perf: reduce size of injected __vite__mapDeps code (#16184) ([c0ec6be](https://github.com/vitejs/vite/commit/c0ec6be)), closes [#16184](https://github.com/vitejs/vite/issues/16184) +* perf(css): only replace empty chunk if imported (#16349) ([e2658ad](https://github.com/vitejs/vite/commit/e2658ad)), closes [#16349](https://github.com/vitejs/vite/issues/16349) + + + ## 5.2.8 (2024-04-03) * fix: csp nonce injection when no closing tag (#16281) (#16282) ([3c85c6b](https://github.com/vitejs/vite/commit/3c85c6b)), closes [#16281](https://github.com/vitejs/vite/issues/16281) [#16282](https://github.com/vitejs/vite/issues/16282) diff --git a/packages/vite/package.json b/packages/vite/package.json index 24cea76552b88a..74423dc3a5ca0d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.2.8", + "version": "5.2.9", "type": "module", "license": "MIT", "author": "Evan You", From 6cccef78a52492c24d9b28f3a1784824f34f5cc3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 16:49:17 +0800 Subject: [PATCH 503/656] chore(deps): update dependency eslint-plugin-n to v17 (#16381) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- .eslintrc.cjs | 33 +++++++------ package.json | 2 +- packages/vite/index.cjs | 1 + .../fixtures/circular/circular-index.js | 1 - .../fixtures/cjs-external-non-existing.js | 1 - .../fixtures/esm-external-non-existing.js | 1 - packages/vite/src/node/utils.ts | 1 + packages/vite/src/runtime/sourcemap/index.ts | 2 + pnpm-lock.yaml | 46 +++++++++++-------- 9 files changed, 53 insertions(+), 35 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index b3c31d519d30d5..555654b9690922 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -175,19 +175,8 @@ module.exports = defineConfig({ 'n/no-extraneous-require': 'off', 'n/no-missing-import': 'off', 'n/no-missing-require': 'off', - // engine field doesn't exist in playgrounds - 'n/no-unsupported-features/es-builtins': [ - 'error', - { - version: pkg.engines.node, - }, - ], - 'n/no-unsupported-features/node-builtins': [ - 'error', - { - version: pkg.engines.node, - }, - ], + 'n/no-unsupported-features/es-builtins': 'off', + 'n/no-unsupported-features/node-builtins': 'off', '@typescript-eslint/explicit-module-boundary-types': 'off', }, }, @@ -216,6 +205,24 @@ module.exports = defineConfig({ 'i/no-commonjs': 'error', }, }, + { + files: ['playground/**/__tests__/**'], + rules: { + // engine field doesn't exist in playgrounds + 'n/no-unsupported-features/es-builtins': [ + 'error', + { + version: pkg.engines.node, + }, + ], + 'n/no-unsupported-features/node-builtins': [ + 'error', + { + version: pkg.engines.node, + }, + ], + }, + }, { files: [ 'playground/tsconfig-json/**', diff --git a/package.json b/package.json index ec47953defb963..bd65a95529d13d 100644 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "eslint": "^8.57.0", "eslint-define-config": "^2.1.0", "eslint-plugin-i": "^2.29.1", - "eslint-plugin-n": "^16.6.2", + "eslint-plugin-n": "^17.2.0", "eslint-plugin-regexp": "^2.5.0", "execa": "^8.0.1", "feed": "^4.2.2", diff --git a/packages/vite/index.cjs b/packages/vite/index.cjs index 7e5fec44e90637..ef2a182045698e 100644 --- a/packages/vite/index.cjs +++ b/packages/vite/index.cjs @@ -6,6 +6,7 @@ warnCjsUsage() module.exports.defineConfig = (config) => config // proxy cjs utils (sync functions) +// eslint-disable-next-line n/no-missing-require -- will be generated by build Object.assign(module.exports, require('./dist/node-cjs/publicUtils.cjs')) // async functions, can be redirect from ESM build diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/circular/circular-index.js b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/circular/circular-index.js index 9fdf137a639c8b..cf87d0e9c4e9f1 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/circular/circular-index.js +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/circular/circular-index.js @@ -3,6 +3,5 @@ export { b } from './circular-b' // since there is no .accept, it does full reload import.meta.hot.on('vite:beforeFullReload', () => { - // eslint-disable-next-line no-console console.log('full reload') }) diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/cjs-external-non-existing.js b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/cjs-external-non-existing.js index 2b67706ca1dcfb..905b2492e757d3 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/cjs-external-non-existing.js +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/cjs-external-non-existing.js @@ -1,4 +1,3 @@ import { nonExisting } from '@vitejs/cjs-external' -// eslint-disable-next-line no-console console.log(nonExisting) diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/esm-external-non-existing.js b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/esm-external-non-existing.js index 7a1d8a07ebc60a..3d5265ce521c06 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/esm-external-non-existing.js +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/esm-external-non-existing.js @@ -1,4 +1,3 @@ import { nonExisting } from '@vitejs/esm-external' -// eslint-disable-next-line no-console console.log(nonExisting) diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index 90fa8daa038b74..b9ceece25f40f2 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -196,6 +196,7 @@ function testCaseInsensitiveFS() { } export const urlCanParse = + // eslint-disable-next-line n/no-unsupported-features/node-builtins URL.canParse ?? // URL.canParse is supported from Node.js 18.17.0+, 20.0.0+ ((path: string, base?: string | undefined): boolean => { diff --git a/packages/vite/src/runtime/sourcemap/index.ts b/packages/vite/src/runtime/sourcemap/index.ts index 8329c27013eb9a..648c5e52717fc2 100644 --- a/packages/vite/src/runtime/sourcemap/index.ts +++ b/packages/vite/src/runtime/sourcemap/index.ts @@ -8,6 +8,7 @@ export function enableSourceMapSupport(runtime: ViteRuntime): () => void { `Cannot use "sourcemapInterceptor: 'node'" because global "process" variable is not available.`, ) } + /* eslint-disable n/no-unsupported-features/node-builtins -- process.setSourceMapsEnabled and process.sourceMapsEnabled */ if (typeof process.setSourceMapsEnabled !== 'function') { throw new TypeError( `Cannot use "sourcemapInterceptor: 'node'" because "process.setSourceMapsEnabled" function is not available. Please use Node >= 16.6.0.`, @@ -16,6 +17,7 @@ export function enableSourceMapSupport(runtime: ViteRuntime): () => void { const isEnabledAlready = process.sourceMapsEnabled ?? false process.setSourceMapsEnabled(true) return () => !isEnabledAlready && process.setSourceMapsEnabled(false) + /* eslint-enable n/no-unsupported-features/node-builtins */ } return interceptStackTrace( runtime, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5183f84f16c70b..603da0897e4f80 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -97,8 +97,8 @@ importers: specifier: ^2.29.1 version: 2.29.1(@typescript-eslint/parser@7.5.0)(eslint@8.57.0) eslint-plugin-n: - specifier: ^16.6.2 - version: 16.6.2(eslint@8.57.0) + specifier: ^17.2.0 + version: 17.2.0(eslint@8.57.0) eslint-plugin-regexp: specifier: ^2.5.0 version: 2.5.0(eslint@8.57.0) @@ -1997,6 +1997,7 @@ packages: /@babel/highlight@7.24.2: resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} + requiresBuild: true dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -5251,12 +5252,6 @@ packages: engines: {node: '>=6'} dev: true - /builtins@5.0.1: - resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} - dependencies: - semver: 7.6.0 - dev: true - /bytes@3.1.2: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} @@ -5922,6 +5917,14 @@ packages: resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} engines: {node: '>= 0.8'} + /enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + /entities@4.4.0: resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} engines: {node: '>=0.12'} @@ -6176,23 +6179,20 @@ packages: - supports-color dev: true - /eslint-plugin-n@16.6.2(eslint@8.57.0): - resolution: {integrity: sha512-6TyDmZ1HXoFQXnhCTUjVFULReoBPOAjpuiKELMkeP40yffI/1ZRO+d9ug/VC6fqISo2WkuIBk3cvuRPALaWlOQ==} - engines: {node: '>=16.0.0'} + /eslint-plugin-n@17.2.0(eslint@8.57.0): + resolution: {integrity: sha512-XBkFQxjTFKy9oc925ezHcDoZ8VLdGfxRkdZf0poR4TjC+zvm28pG2Tc7ZZpD1/UxSAzbw6Zz0WpnpUX3KruAAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: '>=7.0.0' + eslint: '>=8.23.0' dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - builtins: 5.0.1 + enhanced-resolve: 5.16.0 eslint: 8.57.0 eslint-plugin-es-x: 7.5.0(eslint@8.57.0) get-tsconfig: 4.7.2 - globals: 13.24.0 + globals: 14.0.0 ignore: 5.2.4 - is-builtin-module: 3.2.1 - is-core-module: 2.13.1 - minimatch: 3.1.2 - resolve: 1.22.4 + minimatch: 9.0.3 semver: 7.6.0 dev: true @@ -6770,6 +6770,11 @@ packages: type-fest: 0.20.2 dev: true + /globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + dev: true + /globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} @@ -9633,6 +9638,11 @@ packages: transitivePeerDependencies: - ts-node + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true + /tar@6.1.11: resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} engines: {node: '>= 10'} From b8726357c90fb6b641e8c6654e25a5d7e8fa29d4 Mon Sep 17 00:00:00 2001 From: Adam Hines Date: Thu, 18 Apr 2024 01:24:26 -0600 Subject: [PATCH 504/656] fix(cspNonce): don't overwrite existing nonce values (#16415) --- packages/vite/src/node/plugins/html.ts | 23 ++++++++++++++--------- playground/csp/__tests__/csp.spec.ts | 14 ++++++++++++++ playground/csp/index.html | 10 ++++++++++ 3 files changed, 38 insertions(+), 9 deletions(-) diff --git a/packages/vite/src/node/plugins/html.ts b/packages/vite/src/node/plugins/html.ts index 232f9cc0e037a3..f5acc47a39d8ab 100644 --- a/packages/vite/src/node/plugins/html.ts +++ b/packages/vite/src/node/plugins/html.ts @@ -1180,24 +1180,29 @@ export function injectNonceAttributeTagHook( return } + const { nodeName, attrs, sourceCodeLocation } = node + if ( - node.nodeName === 'script' || - (node.nodeName === 'link' && - node.attrs.some( + nodeName === 'script' || + (nodeName === 'link' && + attrs.some( (attr) => attr.name === 'rel' && parseRelAttr(attr.value).some((a) => processRelType.has(a)), )) ) { + // If we already have a nonce attribute, we don't need to add another one + if (attrs.some(({ name }) => name === 'nonce')) { + return + } + + const startTagEndOffset = sourceCodeLocation!.startTag!.endOffset + // if the closing of the start tag includes a `/`, the offset should be 2 so the nonce // is appended prior to the `/` - const appendOffset = - html[node.sourceCodeLocation!.startTag!.endOffset - 2] === '/' ? 2 : 1 + const appendOffset = html[startTagEndOffset - 2] === '/' ? 2 : 1 - s.appendRight( - node.sourceCodeLocation!.startTag!.endOffset - appendOffset, - ` nonce="${nonce}"`, - ) + s.appendRight(startTagEndOffset - appendOffset, ` nonce="${nonce}"`) } }) diff --git a/playground/csp/__tests__/csp.spec.ts b/playground/csp/__tests__/csp.spec.ts index 49155665a4143f..93aa7cbbc1c278 100644 --- a/playground/csp/__tests__/csp.spec.ts +++ b/playground/csp/__tests__/csp.spec.ts @@ -27,6 +27,20 @@ test('dynamic js', async () => { ) }) +test('inline js', async () => { + await expectWithRetry(() => page.textContent('.inline-js')).toBe( + 'inline-js: ok', + ) +}) + +test('nonce attributes are not repeated', async () => { + const htmlSource = await page.content() + expect(htmlSource).not.toContain(/nonce=""[^>]*nonce=""/) + await expectWithRetry(() => page.textContent('.double-nonce-js')).toBe( + 'double-nonce-js: ok', + ) +}) + test('meta[property=csp-nonce] is injected', async () => { const meta = await page.$('meta[property=csp-nonce]') expect(await (await meta.getProperty('nonce')).jsonValue()).not.toBe('') diff --git a/playground/csp/index.html b/playground/csp/index.html index e782bad46e1b8c..c29d55054921d6 100644 --- a/playground/csp/index.html +++ b/playground/csp/index.html @@ -11,3 +11,13 @@

    dynamic

    js: error

    dynamic-js: error

    +

    inline-js: error

    +

    double-nonce-js: error

    + + From af72eabab170c05a7b1e7fb99000e1344ff83a37 Mon Sep 17 00:00:00 2001 From: Senao <48955231+XiSenao@users.noreply.github.com> Date: Thu, 18 Apr 2024 16:39:27 +0800 Subject: [PATCH 505/656] fix: adjust esm syntax judgment logic (#16436) --- packages/vite/src/node/optimizer/index.ts | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 43c0e22fd0140b..f8028c070a9c34 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -43,7 +43,7 @@ const jsExtensionRE = /\.js$/i const jsMapExtensionRE = /\.js\.map$/i export type ExportsData = { - hasImports: boolean + hasModuleSyntax: boolean // exported names (for `export { a as b }`, `b` is exported name) exports: readonly string[] // hint if the dep requires loading as jsx @@ -1079,9 +1079,9 @@ export async function extractExportsData( write: false, format: 'esm', }) - const [imports, exports] = parse(result.outputFiles[0].text) + const [, exports, , hasModuleSyntax] = parse(result.outputFiles[0].text) return { - hasImports: imports.length > 0, + hasModuleSyntax, exports: exports.map((e) => e.n), } } @@ -1104,9 +1104,9 @@ export async function extractExportsData( usedJsxLoader = true } - const [imports, exports] = parseResult + const [, exports, , hasModuleSyntax] = parseResult const exportsData: ExportsData = { - hasImports: imports.length > 0, + hasModuleSyntax, exports: exports.map((e) => e.n), jsxLoader: usedJsxLoader, } @@ -1123,9 +1123,9 @@ function needsInterop( if (getDepOptimizationConfig(config, ssr)?.needsInterop?.includes(id)) { return true } - const { hasImports, exports } = exportsData + const { hasModuleSyntax, exports } = exportsData // entry has no ESM syntax - likely CJS or UMD - if (!exports.length && !hasImports) { + if (!hasModuleSyntax) { return true } From 8e54bbd74d86537b449641a6623b1bc3800e82b2 Mon Sep 17 00:00:00 2001 From: Adam Hines Date: Thu, 18 Apr 2024 04:54:39 -0600 Subject: [PATCH 506/656] feat: write cspNonce to style tags (#16419) --- docs/guide/features.md | 2 +- packages/vite/src/node/plugins/html.ts | 1 + playground/csp/index.html | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/docs/guide/features.md b/docs/guide/features.md index 4d7d674f413743..75940b8d17310c 100644 --- a/docs/guide/features.md +++ b/docs/guide/features.md @@ -699,7 +699,7 @@ To deploy CSP, certain directives or configs must be set due to Vite's internals ### [`'nonce-{RANDOM}'`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/Sources#nonce-base64-value) -When [`html.cspNonce`](/config/shared-options#html-cspnonce) is set, Vite adds a nonce attribute with the specified value to the output script tag and link tag for stylesheets. Note that Vite will not add a nonce attribute to other tags, such as ` diff --git a/docs/index.md b/docs/index.md index 969b4492650740..0771f563b896ae 100644 --- a/docs/index.md +++ b/docs/index.md @@ -21,9 +21,9 @@ hero: - theme: alt text: View on GitHub link: https://github.com/vitejs/vite - - theme: alt - text: 📅 Vite Meetup SF - link: https://lu.ma/vite + - theme: brand + text: 🎉 ViteConf 23! + link: https://viteconf.org/23/replay?utm=vite-homepage features: - icon: 💡 @@ -45,12 +45,3 @@ features: title: Fully Typed APIs details: Flexible programmatic APIs with full TypeScript typing. --- - - From 6a7dde54e4ac357798d7124894ff71cb36a36985 Mon Sep 17 00:00:00 2001 From: Evan You Date: Fri, 3 May 2024 10:39:04 -0700 Subject: [PATCH 533/656] docs: add cute logo --- docs/index.md | 13 +++++++++++++ docs/public/logo-uwu.png | Bin 0 -> 89122 bytes 2 files changed, 13 insertions(+) create mode 100644 docs/public/logo-uwu.png diff --git a/docs/index.md b/docs/index.md index 0771f563b896ae..1cb1f3c7717fa0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -45,3 +45,16 @@ features: title: Fully Typed APIs details: Flexible programmatic APIs with full TypeScript typing. --- + + diff --git a/docs/public/logo-uwu.png b/docs/public/logo-uwu.png new file mode 100644 index 0000000000000000000000000000000000000000..e45e40af12a3e2c39468d0624bb93b11d9266a44 GIT binary patch literal 89122 zcmY&<1z40_^Y_vqh#)Opi*$EMNiHibjWkF%NQ2TK4NI)#(nvRmf^>IxcQ<_N^S(as z_rI^*YxiuN`%L|2&di*!cgnKQpS^kp005rL%So#O0LbY80OBw@D*TfPQ|lA>3xcz% ztR%ur4~rjsfZ-sg?F;~5;{ACd03hka00iAGd1(oCkM#W(jAl9w&#R||zPI#884$-HqLt^N39>ZBt^f87 zvDYYpKJff?4i)MblB5r@UVARKL!P^Wup)bQSmWK*#@M)960E5B)9wA?kq7}Ud`*8Z zB)Vthf8WDjQ&^}35dIze2Ozd%{5t|*;iD`6Z)EiCjRWHUhDa!ZaQgmU#IJGSJo$V5 zcoVRU{C5BVpgu!p_&dUrC+p(2aemA4Jj14eK0G_>R}8xU4#K~4`7d`kHfvQ*GtbQ{ zHp`Vz7VW30Twe4ht(yhIKE_QoYsX|;_94z88WsJ$#gE{x4T9?cQA(DyJV!^Dx0EC) z(y!`6PA^1z*q@yU*_w)ZW#j_Bh-2T-9?lXP1vWWT zuwOX8n81(;NvdgPqvd$NiT)E0VDR@Z!^W!u2C*!Y^yLJ!`)-+3Viz(%;*FonO0}ei zSv@AvR3Zr9{xaU5@MYHt#MDtJO4D*Qg&`Ddz;!kAOaaCZ*}#$zfB=OO!j+u^)&So$ z{z~JUjA?X!6{Blcb(Ck|^|*|ZqaH2~@i5^gx*Y@H*}rQ*tYmz@HF6zFbjI^}RqaxY zWNStnnFz07RNjCYw!@9!kNH>F$iV0|?)XlYsB(W!FdmzjnPhxVUJcNO&IoHdu6a;S z43kt64e^cK->GpzZFG_xc}t&>_W@F27%!ofSKa7=4m<${+VS3~gD=RD0a^b4)rU6# zuCD$Go|%|ZD2$U3TIsFx7AGBp6oc4=N+_W4UzMT-;&HKM?>P1Mj}eD~dp?=Itb-B= zVRPW7q${6g1p$o4|59%h+~H{RQhDfeG%d&3xatXGnxsX?4}t(Gg!rJIo$6-WDpXq`O@r9z3xWNG(451(+WE;7| zy@@|}{ol{J;aVE0%4q^|;=AY*iIVdUoJM}zJ-hBJ#^8bjh(!F$ODx<_5~L5AU+BbE z9uR1MD;4U77rGj~`pb?VIALqoo2C^kE@XHeBG2W#dtU~pU0LKG6#y&;1$$bW_~5f) zk^Vbdm_YOteZiRWL7qmskN z25bk^sNiSd384eNApFGyROEROz@I|m)PbYo-=)8ya>oN0A+Y?e7UBr|->1txE&zX& z??U0(&;P7{_}^~;aCrod?zjK|!G^5xLp zhbtD~$8-f8j5`0%q~E|C8Q6ef2F0A$yTRCq{u2M%s2E&o>86h6+X8?T>r7vk8xAo@ zSy#{P82m9ec5!$jTlEl=*Jp7Es_s)9HSul((T4i&y`mg~zVns7lEU5kuc=g)6HRC(qPFg@*6bcMHFL)O|{TS*}Q_%C+%)SVmyNX;0y?k0TZ75z_mqkQo;BfrQ=x;CJ z?3@fulj{0V&rGuPv~+~)Nc0c}30xEY?+pwRS>OxrA`l1O-W}nI-r~=Z z%vFV*ZUhM9l2@UP6ki2hk3Y*?%^rHVto$V6jxYK%Kh>k!xN;3v&~)MzF<>ynwUu3l_j%;$I~f3thV|F?Dq7 zCO-TWxSeeOLHy9mQg9*0n7S;oK^ZHaoz#UhTeyc7MjK68pq}x9Tyrr z^EOX;F=bN;JZR)05hMjMGv5_O{Ni<1{ynO`ciOqPJNNyUuk_Gk8if$?GY5fyFr>er z_ZAcmDJffOii+Z@2 z6URya(Sh*Spy9N7uxY1L6g}NhfQ8!V_3MyEN#Y)G+WTY@YR<)d1&E zidL>UOY57Jt}`yzo{GJF$x7_lGMyV1iQN6Xbu$(J8FIO(0 zcq8x7Dk+}tb(%DIo}lc>fbx*<_|Zo&=himuRy<_E7h<_|g-rwT)uxac`8_NF;P}_z zhtV9#(t=ltB`==B2BeAR)#9td4vLlXX!UdBZoWB*cR!|HyYwR9K&?G*KV%=34)UF1 zreSi-Xe7>AQ4dwT@4W(p6~oTsNcdDJ_kUW@^UI<0mOs8_G3=87B^>a@Q$_L07f(hlpXcv=?Bwh*22 z(eXE#SAOdfc#Zt(fA)mVDnPR6hBuM}HY06q2Jx2BPgOT5=o&*Z_zn(HKH-*%SoU_p zK8b&A=A62m`d#3}3L&czbz~jx3b-@+HtMPnI;?6DJDSNKaS# z?!R>E-~gxj!VVZVh?f{f%r~v75GD$JPt(acyPe9?L5W_`j{{C!7I>mt#$ECOD8q2N z;f8}rhGt3f*MDvY2}BRz?f${VryITzKhXr+`cpv_;G;u@Ttaf8gS8B^SjHf~8Q5lP zb?h0f*ula+Sy%YM64mT|TTdFSfDr7d`1R$%lvv^5mVjypC$HO5Ewcq)7?=8CG2V3Z z6eyx|LhI+F1OIc3_&F=q{FwlA!9Tyei=PRp(gXtj>=$!=URq?Pr06G?@+;em2w-Z5?HI{D!(3x{c0$ z*q0k<e%fmnAXt?j{^CB>RN|{?w zp0F*#^2qQ&9Qdw_#Yq_9U%KEv*j!}jPX!PBzn?TN~i7J-b zU5=`^kY^8ZIC#lN1JcE)rC3kSBD=}K#0G#Wyj8*&&u=>6qaFFOUH)3CB%@i$R6|Q& zGSSLAx|Ns4Eu_29tIXGD47Heix@)6hLk7Dg#WEyl-Z4<3lGC#^GTTxSu5ZNuS}B7g z88ne)5FW6(Q&J1U*_5r~ zF8G0;(ck9ux9}jEi($H}5ep%YSTX%$WZyJ60(MLlV6gt+NEkTsmHvh$TN z41D#3GLqz1b#-GN%&IUgUK4?$uv@boKttPEo9B4z5o_ z9HS0ZRzv#_BdDCwQVaw83Q&-0sfV-Fy@mL1Drz`wUIY9;eD#jWh-VqZA`g*&^;kwa zYKE7L=Z@WgOzHZJjD0O7&f-EsX)QF-X+1Q87KNSK*tHYp1NYhmUsuOO+pHO|j#m51 z*WdZ1d!|5^`&{Yf&Or+iy`(U=aHt}ubv9Xrh@!QjC#TrPJ7NAVLG~Ns5jJ+GaU@zq z!Hj&YfAlplwjp)$ozR;!j92}ZsbGVxwb*um5}_?b^9t<#Qol0w;J5+8GZKO+^qd^D z;3F2R5JByPZj@~cnjbY@p1V7Qge#YOV~@n<5JC@iB+k!&RYYx4H%OXWY7){z%z)tL)Y)?>IC7u$Oq zUcmJboy@-{ERtrqvqk0@=+7b>9?t3hs z@~Yt4dR@-NC2Ca8krO88Jy&BhTAq^;o-)C+*?6{7;Vlzt?UX@g_CoK4yPELM zJ0>A&=os=pUi8PXJgN~K(rK*QdEz;j)7QJEX5m2;fKd4~!=1P0N2gWXm$o}*=@_xZ z0|$^vJZk*=eg)Ne75(;Yt6FH{foDF@PvEE2?& zlTS6&-_BhvNZ&O#A6LnN&sAZ?=0awo96}|8z>x&!)AgM_RpY0$ zPes~GKjXS8a&6BVlUlPbIy)(QJHB}bk*^(Cy6z2@7jA2Yf!7SP4)5J2Y3O~KtmWt>;~=e-(u!GQ*XLz5&(n19{%Oas^THQwU@3btsRCZ<s*50GvYcgVT?FmIP-OooXoI=#o3I!@6n|5aWq>W1a`>YWE z@nA+qrr;cIq>|L{u}XB;dz1i^w`p-9LyOYqwug19=^~J-kYxH=LuaB1keb>Yfn@wF zL+tIk2rudgxRX3D9USilsjk`Mt{pL?xO&FCbDrhs`YR}{u1)hI9y7AfNb-JOq@ zqFXdaLH3T*{gf8Ju6?d zMOwelgvxl17C6_zOs^!da)ipUXn9E5F(OHScedc$9rhpw;t?}fdZXVbj>#M79;2YV z5r`YwYBc2}6^dpABsl|qhw{V49j{nrueAw()7ud z8`10zbouciwa~>}ft*-&P|kO)AD#)p!bVsAmT3BO6rR$xsZGx^_oJSdD+IVIoBf0eEsiOEFK5TBnWN`cufnAk)!ax2uUzAvOuvNVTw` z-s*d`m6F;Fh=9JCC$#NyzQ$$W03LNvOt8L&1#7ERChg_td*V}C90C``#StbAd;?6y z_2f&=>DSD*-g#E)XM9q4ttKN9t1lg{&RJ|SeKI30>)k$rMvU}T%;+aP|ED7b_{e|_bszOvz1bxV3z zy8u@w$fkHuBX2@&?vUPBOUZo0Y6LqrLs4P;;b9B_gU@}#X!XO26j^xb~$a{BYk})WjltQtp)o(czv+WfB$g=JS0@EKac~;xo{$FzIp*a zgE>Ut(OcQ5eOe$wG9JK0a&wh$DX~31gtWryVQTc^bA5<)Cw0TnRMIFm zyTyjYY3JAEtBzd3c!)r?-p_cJyJk_l>>AnDc!KcC8Ueu=J-yYjVLdkB5Kry>n+nCW zP2l84rKBbl+)$N2)l=)Sa1RZt4Xt-GtwkDF8o^=0OqxeHi|nG&ik0;1m&V7qTzz-m%*w3_Xnf zF0s-1HqfDyH5Z^!MhL{= z1R_{7j>FM!zVI14($kkIDFB{ZR`6O*X$>)YFjf>cK%Ejk#!h)2<`wo~c+A|sX=t@P za&Yu`LjlA1W0fS@qe|Qy`nY^?nJMrX5ifrcURiKgb69plG*aq*Ty}Ha7Qli&D&KOQ z?_ZDb1feMFo(W}D`#5SGtIS=Z>w)G~61D9z8$HR6d>6IKCH#%fugvM=lR~D+EL@uP^WQqpkLW5*EsLGD9kDk%$sAIc&v%M_cN-+;>T2 z66b+aP+!=G(EndzzYMfJBGe1;!vYy@gxV`^cU2p3ir~pXz0nQ&a3uX{*2cdtjZ|& z+n$DI`MBL8VEPldktFcoC6uRs)F0H0-&$vaB~DrDu+bqo@sm`9V2YVPoY>qsdhS;U z%qVYUx`?(ZskjT55{;~FPMc`wt?P)zj?c7;9zK(KE3lfa;t4%D2wiZ`dthI+;~09- z-g@1CMeZamZSTb}qTDoY2*dr3@3#-dnthx=_?^yT(LR$P=3}S2O;;|c&mII*6 zo!;<8ck*Vf0p!Xse$;>Uwudy+S%gIYI?gJ8xp4Ug*zX~o5$-Xjj%92%QD_6fl%I5b z4oQ`xzl(D`x%NR!-T$?d6o;si4#avoBWh8?ubs%R*2!=(y(mE@3A24J+obcDcPP^z z(V;$2M|XwyF(R>832A+U%vQh=BxA}+w6|07iBdfAaN$I%`m^9?g_YL?wiI5Wlo6_& zuZ2Tcb$i_zY#a9(;y86z-!+~$Z7QtDJ=si8(Z_Y2{#0%+C@HUDNa6*{m zz@ZOtzq4Z3a&%XtgUxeLK}o+{1DM~kZV_s5FZ67HBt?UZ1g^DG)OcxS$_CsYXh|^0 z70wF!QKFIjV*_?vN)g9)|D&|?bkD`l6tdw-qfdZc;%=dsGam)*DXNSJA;{|laSx^1 zgGj{=YBWIzslso@&kQr=#TiqS_wMIkf}UD$y2D9bO~pq$*11JCHfkC{w|bV^Gj(86 zrwj)1%_2PENs=o&!MMkx2`H1W{cAU!tj>N=N22Dzqmo^30Zx4HGSknbvqcLc#=%bm zduFl(j(ugasn_b01F$W}pUnOpwVaAm!8ZS~5Z@sUY5HWT&O`jMp zNjYt;*>TJ6QxL4NN0ZUsn5FA`zI4rDd%sxN|G8r@%Y$-Ff&Vj7Hz)ak>kER7=^N<^ z4?mMhU&5xAjJl6#W_7f?g82)Hu8G8q1o{20g?A$P8>7$1CUqC_M&hgH1TP1k~z2hyl-Iew9>UutR8Y%sV!9eE8S&WFe zRJpruh8fT+vw_uolH_Rl6CUr>fveY=GzS?2`E)5nQwAIExq$sCt9r9NpJ6UNGMS?z zri>;#oSS+@n^wJZL^MgRL-H`yjzeZ3S!V-tj~Iycg9mj!f!bbo(MKqFM%9bOoO5%_ z1nSo@IdB4fl*!I9c&X0xrqLe*A#f}>?%`tJRKc%5MdE{a17akOnKUdSeySPw8&~X3 zf5`)ZPqk>F(J>k@Y5(lW$X0?w;rJKUA8$vI0V3R!?D}whd?8);B%r^g^O@;;sLAdl znSqw|3*Nv4;O?<+#QU>aecPMpkI_Vix?Gzq{`5@?5^bN(b>%5m?UHvx6`8!te9BBT zDniqeZm9?7*=kl*@|4R(t$ey&^RU$zqndV-K(M5{2-QnBcPNl2{4rbU+lf$2W8e#o zLjtzt^|EZaa2d~))y41N~B*5hfZN&wH332HYuP;iLnDZC=eW zG0EhA0Os^(ylclZs7=?V!$*skOUn=PM_hZW{|a7{e8WAPAaXz26e@O7>e5n(LyJPr zC_-@YKBL)YqaG+}<#=72f#lp(J8dD_shlt&EkN;$^A8k>9*Nd2uZ~*KY}6|n#&+dB zgY8JH&Zpa+zV{H((YI|Qleje=>1~*uFm_EZcjWik-+lUa0N!seGL4JKJ4=*Q8DVw4 zwY<{z5u-Dx_419K;3I-4$ah0%UOV$?%o3h#{UmCWV@dU>i=3$Klh3n-*|u)hUcg-inL8h#Ka>q2OGh6)TA?+96t9zrB80t4;*U zp=awzPpaszgE5PjTK~GPt1#yh%1sY-Sr+}ew@|Ot5x`nlStqao>psV){q+BvF1i< z*0!&s>nJm`6G0q)X7b)~W=hhXEa`-GmLYrWDO56uOc@W+H$56RwU~-1^)>^D_7+W= zfkUO*iV6Mu`|x{5K;#QsrwD^%!@{wiWjtdZw6BWrO)e=T)y?j0M;1k&X1d1n-Y)eh zdBuds%&qdQEw;v3!Y}xG-PHZ{(VSc1#VrbcWQ8KqmudSpV-qnzDyxTgNC>@4T@A_l z%5ZZmU@}+LAa=pzym4cCak4hinCd{6iLF)LsjLDdWXFRfOD52>Z9pJ<&RJoap1PWn zPK@~{wfkh6oi``Mub|bG;a^05f^k#ORPyUl zF-aPF9`)uR%BHxC_HTn)PcPFQ9k#$#9&o!`wf9bWU5mu756VlSkGGn;l4qRWSdChU zo{(&a5e~feeA(pZTp>R;TmOBW077Q0vSO_8!b4v#)k7Wq9m`3B2&Ge~dj5R2PpGe8 zb5oCh#UC{-lnJ$RVnzr1LwGodk?|yst*ByLL(BAEm3$(g70PgM-F~gfu*3;(Ew{H50MZF9SG$dkb(A8B|9Z21XF-}gf->E}kGZ=@L&ZH&7>KaZEh zym%AUe$)%m;NvsqhZedk*L(r9SB0Osk*{hV8pNtST=NKMkjA@uXm<(r!qzo1?vq5tquo^BFSwBZVkN^E_~m`V33)GRn#+K1RN_l}ydx zM?K!XcY={=UzJlJ>}Kk{1^miZ+ufRNdSOv{IlodLw%srW8L2N0=`hUXNuwP z)fsp;HkfQrY{dl13X8+R&!w5P>-d0f_n$u*%Cwy}FXb{7g-f~dl&v+JfT|fkYUwd) zs!0Nh55*fMWbkY^9XZ-u@>(D|d?N`$=IitXavd~Deh@*mh(zQp)h zMe{BA1#0jcAF_V3CJXzNvzz3!5XAPOAW{>zKDfAmYdBhap~QxfXJ%@^O-{uvx|w{^ zk2)7u`=>T;GOaJ+9ftikzI9usA3^VcXw9*-REp0$x$?w;n!%AM)rkG_s3xG}c3flz zqJPNv<1*&UaTe}_Y<{hfFtBm(Le@H8cvQlV4U)tgqWxUw?*k^(^ zW@zZ;siEGxdm6l`>13Dpuq*nlA>C#wc2jcqF!_qg-A)6U9r(^QCYdNaLgDjrC+wBZ z7K;osQ*A^__Nhn->>w-!+m~&msAe2^jCKp(D~{n9jjcPyVz2>!aH{R~kLA_|V!elt)osZ1WKg@bzofpAx<0M1t=JXz#oe z$P{i}L|F|$QKyM@h%}x)Vs}w7!~FcE<|j!ZdrN+7y9s%;i-hGC6Bl6#b}B`WVUcD5 z;Z+Kun#wDMP0TNULVQZixLhgLDDH?W7_Ai-^V6N<&qSI3v$=c)nBi$4P!|K)0Zm1W zSbpS)wNE4dOPbp0v0+=vb_GM#bH4gA0!RT1^WJ1bmRANv*Ii-|$yWTuy4Vcc4Ci~! zp8B{8+RNqu-?JN7JSp_6s#a|{Yy9}dSkRk|ZrqKdE{(~Ny8XIZgVv@<`@Wpt3obIi z)%8I6#z+rRPNMhw6sHVzc}Kj(MBK^mu-!>-4h2Kx%o?(2G{LqJ8Et!+#T}3cozyvI zb05Nk>1?(BA#UL|=$(=D9a~myK*%>G9GrAQIe4BZ>om*>aNes*hl93;j?94eryPTs z3*SHS&nvi`)Q!2?F7FXIR$lxZTEoo_O$cbF5wWtJz`i~6Qk{;wtG*;d@+CRyLGw-5 z9J+TLuv9>2)N@`@e17nL%tvRbgO9Y1I!18NBE@te?=W9uQq1$kwAx~Q4&y@fY2eMt zz4^NiNVVNeGtf8>qrFgvy?o?=srIPw-ox!c>5zV4#5A$*c51fBRXnztjh>;IIva0E z&eoLEJWvT6C*6xK&7v)uiYwp|o+*i>$4MvqlgU1pI6j)his!lK=dusrT{bs=KJeLe zgZdPm*E6-~{W4CWcQ!#eL$v%!aTuwBP(6#!TXdr~hv}y*ysIfC;(g-uV`fk;9qPA5}L9M3DO8w5yH4Jw{yQ%Y_Cyxya%e(kb(?7v7IL5A3 zWsQN+z;S%n+-@}ji}`3qgBWPG1D@;L8a9isk2gGP6U9J9bmjZX4m7v=$XP7gN|&vb zp=`Upx_%39azrMEs`>_aO6H}+F^;;v8HSgLqG4Za$Q~gxeYHQg#W;<<37X)qDp(Vi0-!8@R zEZ9SeI}(rSCCslx^dylT;nX45rg~Bez1(_W^^lV|9-r<)$t*F+i^-A9|kLFB{ zQk3D^CVZe^i`-@ggjX7Q-&i6_p@K`0OyKpIf7A?Krz&nroBb+sFDvcG2cD3yQ4i(%TX()4%u(g6x-x7@q2FYnVN4tr5`!vFTVBiguZmE1T=AFeCcn(IF2v_tL znb(P?A((tm-oaBFDCy|U#$c#F5tdssU_22QFeM1NKKXS8M}oDRHoa|>STYrPec3U` zQ1Y=*axs^V&bxX zIJfDm6GCr|?IgE~d}DHlqvqVp>U+m9pXNvriio;51V6eP`5G)QPRD4xR*DNs`{|GN zNdA-SkC)uE7Gn1t2#!Kl!jPlD{{0MH8T(HI!7bh0bFY7rdk>nom0yEQN9)qU1s)G6teZiR={UGyRi!88=bC2w6gWF&fEBO3i8u1qQ!I*GPtm`1W0 zrCeKB&@WmAfnq2uzzIP!&~tpByZj|j{r8o=(te+2600|2gE~HChe~)B=m;1?4Y7=W z65!SEyQO@mV~?oGh|t|%{7wdFb{?fZ8lMF0VdoFU9vV5&*lVq-HAPS^2;8KcM^< z!~y7!KdL*z#Sh&0#}0q24@{#V+51Q@oUm#!I*8_`?OcVyRI-4WAk%`R=G`jA>rCI|n`C;GY&~Vt}mzh3}cDwBHqdB?|3| zWZZ374cOJ~yH9wih9x$IY&?FcUbgy>WPGGVQVcxCFFju&g1)&_=OIj)hz;$rkansW zW4HbUvDAp&>c-}qW6K|v*N99k-ZpMX47JH(VE-{^y3s$jBj!E^eJ$8PL+G`$tD-L_ z;}NbFDlG;)@E!P7Ih$pzt9l(K?WZ}X^qyw1b~~o?J-T8g`BL@IlK$|quxOF6S*&>w zUjI0za_Zg>tW5KtZxLUeyl1$%sDfC|{odu|9-i|f7+H-EBaF&$L)Y+&>_$ame*Lh> zVMi}UUiQ3SZP%NNlVs%Mm-A^Mb>)dU=^gc!o5tU8CZMwmq+U5?j$SP`C-)N31B}Ql z6;BgvUqt?yfcO7;s=(LeNrhU`x#46o1LKT)BA`o!F-y)di#3M*3TMz zyTxuG{X(=dcbcfPc|qNQv6G~-E^jTwm0a7=660shrQ%6Qgmx_curZJcL#5k^@5DFU z%WePjU61opvg5lEcX;%cy|zR=a$=v&2QLFMb7DjE@^u^ntE{jZ+^m>{CMx=rfNwH{ z*bW&4@N|@ux_KM28YTO3{Ve*`1U1TOblx~P;TSl?xpe!o2W>pSLxMl0Q@_(aX{|*A zyN^gqhrYF?&)!NB_g-}xrkUQ5{+aC^QnBq*PjUctpeM3KI;5=SF zHWJZR0EvO;SKq$ZE{>L}k9`%XxO5V=UCmd$=CnXkoWoiuf3xb&D!O&rLfKNUYq>?9 z%8^iV)ci~HidR)h)B3(OrE){`Dnstcv9s;#ffvn6Cevr&ot2|0rc^}=uxpm7w)Cn2 zf};oG89d`Vz#Bc0{Zl7_^plTaZ5Fybo1Sh^P|90Q z@J63{CuD@U_H(o0b5oi(@yX6IuXIQ`srOt<0K-HLK%}&i)7)B9po<6@CIN3V0|Tm~ z;brl*UAJuTqO`TDy;S@?SI4e~68FA`jOD72XK-$2Fg-Z3wehXxZOfXLYE3SVJ5v`= z8qU!h71*dnty(MVTI8<7%Oda<7+{|1Y)7-@|BTx`aOA`Vx!p5ng}e~ za=vl(ldSW-Dt#WD?-bG;x_;ELwU*-%q_WH`5d02}-@@jSL@zwE8 zpSZ-;{3jY2k>&Xhxf`a&*@>=CmsIJqwsQ~C#?TpqMwaZU`?p71e8!UuQ|9m^Ge$g0 zIm@Q$ppTMW2wux&7t-#7*mW^MlQ`sfc!+NN2eSIik@<47X8LAn?XQ^?OnJZ9pTgn z#LFLzqW(SMvevuOn1&USDdS=~%!7fG{zVDMLUJ`)Y2#^At0&>W8wJlxNDgQ5_)UqN zvI01C;{4huatZH+&71@>d`L7Fq*X0@e~-r!AIp|_XT|g26uuIKSkJ5I=oV3J?s2ay z$Uf1Kw{A@pK!W66(xE^Irp>T&X}eQ_h4 z{AO1*J@dWqh#qq-YQ@U`z8nsVX^VGkqaIPjAs!Ovj@2q446x=-~SIIV!5 z~q7-~8fzRgA92?mFv9b50{E9n4EP*D-u%}jj{VC~8?-oUy^0P|4;_c|H#LD>< z^=f@?j;qGJX|MiXg@B^3=m`=}x5;F(P5bpx7(mcI2*fH%H>o`wwKGy%wd_V@O|aYP zG*RsbraX0G3(k#VZasy$>}3>JO@97iwjey<#Hw+rdsmmKdf6NL(|+0K+-w0 z0hjR(^+CH2X(f~oW4IaTZq~vd z>pV0WdpWg7NMKE^ufGN#bVZx>nrdSOC897jmG&P3@!;-;)>`$vn zTR;zy(zRYtOzQdyR5=+EBtMt5`qc&hMw&^GV@kR-Tv)zQ(F2J~xdDu|?wLxo?~L+r zs?w%e`u=kMmshQRD0QmwrWX@=ou}Xg)eI{8&r5B>GCA$!t^9MfeOlZ!RRdny9+Uf@ zvWJTKjlJEtO_O!oT6<8}`3wd38I4 zQ?|XGu`pR6$X6*`SdZ*9DOnPqsKR(I2&}$VH z?Ri&q2?l$`iba9XFG)gZmA5!G$eq%q7Td~gS%HM^8#)a(;4}@djS>EhAI;ld=?zw7_8~txssO>x)tbt<- zJOhV7+Qs{A<7`{f_zhJ3`yNg<25w88>XJ4wkYQbU4GL=%t-0%nmHJ`+F&Ne-NP9z* ziAgT4>pzU#4EGgiLJ7~ne-5o08N+mqVga*8|QY)E!G2mESu~FOeKUmaDdn zvm>ZyTx?M0VkfblJ*}7<86leyEyd?+B;g)eR`e>kg>5!qblIqJ^Kj`!1uTe456Kl` zoj#{lWy7bzh+jhyP$`oDr6kud4KoYFrVY^rEw5bf@-x_QUQgSBxi=Jrbwog%-(7b@ zP*)Hd*BS2q_PjZHBHitM|2JpB`Ju6a4oqd++lb+Ajm{a1P&WA?@Rx!BqAHhcwx_AlG3CU!JUF!sLdYu^{sF`Ael5yt zWcbmS`UUAS+a06TwJo98qSfeCGam9^^i&s2I%acK?E1>W;?BiB@9+%tEb~c2aJ%ME zkN63@c4te`)w0vw(x=6s2=d%?4Yv$=CCqPGu}PYWoA+iX(d~38#ZorKoI!4eiBU6Z z%LPqrGT*XOy+sv1=kK<#BP)XZ6Ypj&9bs?Jv(*X@mS5}|F(EUU7;57QMQ52H1Gzzi z=t{r!$IIV4_Xf3Wxp3J5*OYcOmbo6%U8-2`_4opHoll-+O`|j2(%+4x5^FqHGWI`Rx(vq*Ly9n@YpONRFK0{zCHb}@~nM_H{nQrXw z6iw-*U|fCgMVT+$AY~2R!f7$9z4+yki;1AG;|IG`)ZOnw>JkV$oO>6p6y%0PE~*6` zPwR5p^2!GJhXp==5}0BACvZ#y~p$S{o$@ zEpSYLTUL$@`$wP^JYINluNW27Q(-&Yk)u#~RN$poJh#9Q474Yk{kBw*G4*K#foOC{ z>c}%F)oeN6t1|A%hB&}oj=qSKwQ}@9`GOO0!J#j8 zrlQ`Gb77D^uiojI3N?jURPQH_IsKL`5oHE5XwTI7m!)VOXdUB?yRX$Y)f?dy%XX{m z{IL@&r{D6XdP=`?t?X!N-AJ^?sF2Gav~XG53g#C@lEal-gz_Oq$ZXshW#s8;-i&B| zN(QgvhIanx-^Av43-6aeHjh7Qp?=ap@b96$;pe`okS3ZSBtzKp&D*(%S( z33`6?*o9mr9DQ0ll0M(3y|~tu3>j6YhWDxXCvofq##hXzlL$ql#53GcjPo=Ya46@f ziImymrQt$$;{vaGajPciRyXgDnmoQE^iZ?E3?C|wjT>Y_L$y&EMG z0~c%QuF~w|_td9p21n;`-taWo*0He6TzzwVo*8-VdbYdLxdj=t zxaCHiqS6B&$P>2G->4dp35DV)fqZ#6Jg5XfFUb}B(y?c1F@LQ8L8>-qU!j(=h*jX~ z=^Omy#(*JEE{0-K|1u7wK56x3p5B4_D$#-WIzdRqGu1b$LTa%z8fy5QG6Y|}EW5&G zb^PirtKN|XrW1xJrmM|mRYo(-_f#4i%D6Da_?+B|=gb}5YXgaY=Y`@YZybDLP-JAw z?;w!v;4OIuf#k^7#&bFANtZvC?&evNbk89(DK##S5AknUav+BH{4z}na>KmnTd9(k zecfhJrZ1$&sia85#yMquc7sXk!k57&@M<%TeG}eP#%WE(7trdz%o7Ih*ulJ$Lq`8` zKAfL`Yk2+kw6QQND6B}CmhoM~u64G$v=Ud?XMW)1R9d*E_uHva(Y9Gvfr^(KjWgat zFY^B%NoU~~<@0u7Q5r?MyO!?m?pzrXh{ z*w4(|JI_65u5+eTv0yQZKwZsc`X9|i#PGbgk2#I&*;)MJgBYsQNz_Vsn4tZW20>^A6L22f)m~5@X<-TsqB}hEUSgnR^a7O zoguL>>R)jN9cSeiE|X+dCromMZ~o~zpX=7U{y^jc#^pjT|>=@0*vJzHj3ilR!fIwc8q zHz_vR-m>1#P4R>Epke{C8)_Z(%paeYBYP9bJZkw5hcDajgqp6%DkLrvJ;-6P0x>Jv zAd0F8#q9YElP{*rL#{_XDz-g4ugZoEp!A74W%8)LfzwJ|J zsvn+z?nzlv!q+g00HtB`&nhh2Ab%a z+(O-#j3rpY3L{ojTy~~iQ#AFtZ&s^3q`~a!L(QLFql1F?_vaY%;sC}QOn$~P2YRUB zLqMhyL1y=>%;#lEhB=L;;^FHMAN%DO8WDIy%xiwfD9GzW8fVnG)ab*WD4n;Ll6&!Yi37E~6A!B|pw=kq{Y7{)h z(}!FWwld_WJmv3AGrXgf9s^WGGkHi!eNE?N(04|E4HKpv{+x|LBE8m#n6os8<46*( zQIsQr{M$3KUX-9vr9+*-SlgW}}g#q`ragJMSD4&IT^w1|Z1{yS^{R%FvnT zNu;5RbCOAgD4Fc774E3NTGQI~#umC>e@aP}6Bn$*E3O_n0`e-0?&LMZw_ogdzxs_&^8F2*ZaCm=zatXzD5zxh#q(4W-R zOi3hP=u^~_Xfgf;@3g`MIvaxmPGTkV$@nkhhWA5ihj(SKsW5^w48Dn`tjfAC#2hs5 zl3k#yVdg2}{yZcDPGBJupScUi88XLt9hjIFc~LxiGDCA+W*9kaF_8MIr70&@_?)g4 zHIjdo`hSx)7qRvx?S5nZt$!kK{?n1G0X+94I`5)TH05$|M^bZ|x;!dE#Zj%fCGmUX z;UN29hySih?Mb}MRO#mxnE6?i$7`{p3nAW@s!g+mya>O_DK)LJTlo2~*H17vegm~*8g zM(P9_CWL2@fr1{y9oSFAqI) ze?pCZY&;rufcZ8Qg%E6v^P|?g-8iv*9&{eO3=$K4H3v1^#P1*e%2MeX1NEjBceU{m ze$%isdEhuLd;iz}=+ohTRk(k(UM+s|{>-p^j}x831syN?#dZ|Py40{1gF zXLojkzWmmaQo6)*5&9JG7jyla$0)=ilg z^Jn<|=3+`vDWwj;^e3F5;zD1vx<$c7M1-77Cf|bAfhH$oy%k~~Qq=z#g+YRuogi*TH6`)C0TGkj7Hy90j z`*XD{+WUgIL8i~eTs2#964epn9z#K%a?oxKx^Eqg{;w6#0U;yhRwFs^=t$q^3=5X= zeASxy0LpyWi>pQWUXNL}=7t@+Gg)U(@9Jb15`bsrc(JGl+gyGObLdMdnBppBK~&%l zFh`s>BADTc`a){|Gj$+{{R4S#iEZ=@r7F=DyI@)n<>`{-)jUH!IpnOt7?Xa{=ezA> zjk$tgr8_G4=#4YZlfaknaJTM85cOia*b009Lldsj=RMneHQe)(dUlawbTx~maS?nN z`^2(*$8Al)$?BaFUJEU@uIlQ6O|o9TP$XVoU%L37rjsJs79;uxLW9~?U=mT^{bgwY zC~p8a#f_OpWKYj1u36Xw|HuA_KxM&~)tlHFp_=HqFMnECBs!e*;%ms4@_tT`%dPkW zt6s&n9Sx|mw(BUm!6Io^T})395&0x7KRjMy#T6kH_qm6cM{cL$f{6?*XeTl3!a8CZ zC}xHjp&(Lf_%{M;N#p>A|6%vitamOnG>(3;M-T&)F%E|^q*6~&upnx8pT*4w%}~KF z9Y>DtGaf;e7%6>P!o*o@WOB0_Tmhh_304I#JXWAFFX6dLoF#v+b`j zmiN+;fn~{mDxc4?cxULz<)ZRaRyEcEB3i6&B$isCVD|2VeBAG%X z8&Fgf58b1WhWjUM@fqgy*_qRdu#Juv;V?oIS%QhI#7S~<&vibGtE zOw65C@n2*A1whLPjR+*EQKY6}#;@|T0M3BVL|wOCL)t|)&nC>}OQbFF1^~)~ z8MymCcZeW!mM;1-1er_8Cv%i)FYJ4eD34m@((D%G7f|zp_7lMIA=8Tee)GtsR;ZmW zM{3I{9gTcokjshwazP+J0Xr2vz7!U;6gr4)waH1-FBml2ui;EG{f=PN&t_SzIHwPw zmhldq9q@*X?sa#ZAzJ52yBig>)&?!ZcekSwwR`k+kr}F)8JHd@y6mOped?Y(%cs3< z`hh+W^CNE)q#2^2O;u&EDLB3~6(Nhin>uXiFlGD;-#HPm5Wbs;bAk^)nVQcOCb96g z1`#;teUhi~d~9nvZ0^VvIrY!LO1rpmJy*!2JQI#B*$jh#isr?2ZnQmk&ja8h_AuOv zLHBX&^F@n!z&=%RR%Ba?Ay3v`Ssx^RV94x3kdL@99iag`EB*bi(awXCKd_EW?Zo$FzK*6hE%`q ztESh|1J}%Ny}oc4RHsz3Xe-0UuI-)Xh4$@&!vf}*hpg)N^`-ReDX2)SJ46cFza!vqK&}P(*4tE-ubaT(7rC|eR>kE0naKDo&bwEw*1%T6Y`a1;7(h@jEgXY<}tmTMmuXhEm9A^8Wuaf?clqD65n7q=#F}y z6~bK|0-?TF=zZ!Ty_xeeM3KkX*l*hPvHCH8m9*nj?O1ckYiE?{KM4nqdP`Cl58QX9 z5JH`~?>WJsxMP?4-;qPT#pdFnC>6w2WEzgoCLU-YhK8&m7XkE(TemX^;N&1%$N_RT zj=xxjQJcn7To zExBdr6sDT@7^lL10uLl%BGNW;V*TXvs`FrB-D{_lW0i87@>A}}} zXQi2-JzNiDU=^HR^!mFi6hur5N;PuaqSE>SS+{COiD_X%G~R=iO+QcH+|~+R4tX66 z|Nou{2R0!oxB<`gpJkeV)&zibA=6ZP0ZgLz#Zx=ol1!RPgg8ek5iANPZp3ZR`(6t! zE{~8NtithPh_!bn`&f8NIjT|Yb+NZQgGa_~#mU~l9bW?1h&AM)ExU^GF%qK+8cu1V zS-RzCkXe_7p*ppb7^!v+bIB7ZZpzzK4g{Q-@Usf|WUOuqe&l2o9&+%wSpCrDifN?! zV?9wnatyAV`zPNp5`XetNQ#zG;3E1V>8>2-x1XX=-8Ced0gmNF}5BlTJqM2))s zFIDZ0yTQh(TH_H#ew?vl{cqVq;Z$@Upo~BwGrxYQe|7;=IrdUFI1^1xgF;^eP|;y= zuu!}C_m3kB{#jd14&fx3z#`h^wPFM>mwr=9qxx=?l1btdiB|FB&JGPVXP+l|!oV*` z?UE~ybi3MNPBrUvPsmGqY|}C6@k_I{iBEecv_l7?G9?-*(J;uG+@M&N9mC;(V*I`H59 zD=RP?8VdTdHa+KpotZ8;BF*^%JLRmve1q~IVKR;+E72+e@94ytW9fBt@N-0Ci)$+m zr<-cn*jZf=s4du`SM%xC(8*B~Q)}|Z&p>vg8-_6uU0-6ect$TxFGI?27^>+4Lw#kj zhtXVc>YLf)=lPpKYWFT^6^F4xatlyAp7TrmNja_ntx3Nz2fjcl9zSH~^ilq5Hx3Ja z#IU(D;~fPH%fpRDmYc+eU3RQt#hL$|nbLo*^>eiOh(g|nTgqI>@oRq+28w6we)^Id zrb<=t^ota_KIAngf*jM+FUnU%>FT9wcp(}Sy3TuycoCXkk)NMa>bnVe)ApZ+qwAlv zA8m?_6J^t^A?IKAesyF^JAOFOKo3t_?rRO(u4Ii7lXcpf&;6y{o{dvQY+~a)l?M(G z(Iw5T_2eJ-FQ5%^HSog?{_n4~HvwA13OA%%j%rOh@CH-oP-H2xOhCHk{y(J(mSQwJ zwpJLKAh#6tw`4_RrPS^Id8a98rQ3F4^^a%t{@5$!8a@U7STy3l6d^2c zTaodJ|8ToYZ?oQ6!` z4HlCRarAz_-J_S=-`btEjgvUsiboO698uk4*s`jo!p~D2&<4ej!3KCMHJXVq$(2y6 zx(_03Q;u>P$kO&0His@It0CsPQ$D|Y!i1S+0j|}q?J-u;!q#N2#xrJo)~lA=@uZiZ zjdQR!bW!b18PIgm;7U?7DG==+_8GbfIL!1Mcc~71{&2M4;q-`4bMumXt9jrYRirqy z#>1r9cbtyZ@$u3x7JI~(9`K?mI}t=4e1oueg+E?#l>mzt&GDu&&*AzX{#YWh80Vd?Li8Si_7V_IxSkbFR+PJu znaz8*X z5z&QMVZjWftG(qO+?zc=iZAvjZ>u;+*Yw@Wv*0AB5B$wQc%6+YMdcmr>TnUs+Qv3j zc-9wCqc*H893`0nU#h+`q)anHt?KlhegBcR2QZ&TPV9|6ZM5?kd zW=XeML>LpBPqxnOZ4OC~4X$RiFkN-@B}Tz-2rkeS#Ze%dI>PBuuE_;Ohx}!tMdKQt zpQ?@yu6Cdc!PTBxh3uP)bA@bY=M2(`A=7O}kN5Rzol%jc9QAqy1DU!s8mo3&hs2PE zg9Me=0+FQ3{UkKyqJmQ2wL}IE1!A99ZUN)ZO(n_$;L*eX35Q}0Rj_vj2>CE9B8)Dk zd#Vgdo-Ic=(iDFR|j{b7T^%bb_cfTv1Bl2o2nUafzxJWLo|Yew}B2%0>|r z&8j+%^P&y^tTr&Z{MAwg<12X-ajSXGBi#lH@B07b5_aJlkuq&$A zZ&UCs<>)op7A{w0$==%y|$222z^y5>=x3Ttlquh0?{4#<8LO>?hlzQi;< z5aS3?^3wP058d=gddAFxL)X#!=g=EflW5zK0+s!90POl?s6D)SDSAKeB-}m4@6`We z*2R-Y?Q8y*qkc-=SMg9tPpUQ-(U50RlTx&lgG@BIpKhsyN3Us^Vbs)%A6`34sg@P2 z1$3xgE32vRyn{7eRNT2Z!^ z61I=Asl!Yo)OHI!2EvKW%j@2*KU+Yq!+nl0k7V<~)(*R29Ld~F|b z7GL1E#sI%b+@Tk?PeJUw^eQJtEctR;%~pXg^j`{OZeF4ysB5-1z@xQfKz|Zr)_Rt? z_);O!6r8iA=Fa$%;;V`s&zjXn#W69_y6d;<45Z|eva6W5dnHvSQi4m>FNJrWN<#>No7>mDCU#-BigP*yL8aKv+Mz2 z9Q@5}^|%O@XhWxh=jZj8O8#2tQjDHGY`(`Bl(8p&ngQm9guMjuH4i z_9p?9FSS6+{}?g0AnCuD8p>yn`n*Op*H-Wz_pL_t7_`S@ghv59>6u0+x~Wh>RF<4> zWW;F!L-6y@xLG`StbGQ^YbhHmF2!`#21G_AmEuxhkGgi3T+^`BKi{?{&9*-AX*KDk z_d#up>glPGt*iAOnS%^JWpl$WKJy5}@)qx(Lci$(n_%GE_Rs9ydOZ7@X+ zZ7C`{t5Z1^y{W(^fBZB4SE{A!><7Z6au*Y6ZF&%$O}9L^nKWj?kIvdh?)-NkAWD&6 zt@;2@lPASVq8b_`zboHz1o|x|PSUfVSO3-UTyR%oSKU>N{`97(a|G6d{hYnNGoB!Q^VnJW6L2p+)3ODGsS8{ZnV8*nK)?C$=w)qxvu`#6f- z-G7AbmV>v{?V&}yz84ypQb5m9)TkNt01q5#R%z+n5(6#P6}RMR_FUQ3@?w^yz4(2;0Wo|p!tqyL z`Jd8AZVVTzVqBx*n{vL8oiAmJR8lm4-`|x~${w3u#;u|Vgr}2sZ{Zj!3`_?!#HMpS ziFtxt)qZ^-m(BPO%4+FQyNY{FuG~wP)DEk@*&Or&`c&tK@$oil7wiTquCnLIid1z+w1s_6DSQP!9(ZIN zAI*H#E)dfm*7SWkYG_SqZ$A&fC&b~{#mSiR;;f7clooZbpAl1=rDzfGT;nL7dqTM2 z2clwSJrrt(z+^!MTSW0Y!_?x9zbfGFHyITAtYAL|AIh`c z*!o0|ihVJXFUXd5z!8xUq&$sGEq31rpBO_z`WU!JGzzU==amiGqre|-6NUF<{o!MSbVzSq-s5LRF$T*uY zBpfeP4uNN5mAA5$MX(x-Q!;t#d%%T~$9?*o{5dv5l~aHD5b3e4>dW=Q>nPK3qfVUR zxOz2aU7c(Og&dtqhBAt|@d6wfA$LBtg2!8oj{ba$x0*Z8>dhsBsbw?;%!>H8m_o+d zU!EWlH`&yjLhA<}0e|_shMpSjb}my;`g5U=L<+%a3@I&X(w1R#w9LdVLzy;SZ9M7i zV~I4hqIDDJypFKLQB$xDT>d!pw_Ci*x5JZ@=Nq#psd8NM-dV}(aNq#7>jEBcrKu9m z{=t~WVtC=YUOrfgfg-lk*I+_>u83n8F<5hXBh;UH_5=1~$0OIZ#ztVxk!x2jp1`jz zwb`JJ)L|p#q*Av&JZ8gOre4-rlU|mR(~`0!C686Q*Q|$pp8X~i6Xh6nHx?h3L>Hy3 z61@o|R-Lh_fONea@6ZLBoQss(Jao0djOh+jZy8QO4qyigzT(V#3un_83M zY!0^5Wi3HEi2*;;;{@;5N*d4#(wiRdsulgo+aeNv2Hh_BFnDm(nWtxBCp70zu^lwK z=!AiyoRB3yr4PJRkc6uy;s3$!KJTBAy>%oq4oV-fyEJO-U7_a85u=sK1V(%OH%D--{`DW+uH#2R zx$J;Rl^?}v33P}`ErCShwUXb2HMpBH8I(LW5?M#eX|3pDx03DDxLpExC&G$0BW;Ul znTE-f{Z22$eCLJ1hPGix z?v!v0r7?AsSBN%0>>-+)Fy)8CP^)ybig;|QV-GmdRd^@`HuYEPN0iR|tw5HF`(uRL zva*+2iJeCtQ4uOa7Zcg;8Xcs8wH0!;yzS>6puX~SLB{6{-?9p^?az6f9J?C z^OG3DID-;AGtJ{aVk78bE>(Dq$DxQ*%ljLd8afP-((fU2BE|wkJsCBT1!)SH6e)M( zURGNb1(S2()#u_o=}EZ^FZ?NW;NF}gbfe0A`-yAsyv0#zCSW#EAf*f*V0^8IJ@cb? zF*>4+uqH0G4EFZ&At9p71!^7Sy*9FcnPO}!5%8Cq)lMxR*4t&Ff={JH)}RJhYj_OA zZrdo3omkWsBIjgE4Qff*T1#3*Wf!!TI7~3DvP=P(ZTLHUnB2Ww8E^|8dT%153Ry}= zQ{JLsZxXy9%a;j-vJL7BvzdY_?#vw!ryLZ1o!hZPHN?3%cnkdPi4mdBMAWYl3x73; zW*OE>-v!`V?OJfZ+WyMjXpw5hEZOz|)~})+d{-V{5o~b6oO#892faac;GFV{d_IR! zT9bEFZ~*(RvkO)E&qxUk2K!!kpUxUANr=ds7gfWbA7yK<*2rRclw5@htcMi;(vQ-) z7t;IJJf#mi0USC#Rq3{--{gY6J+ys9q+qF$3)kzvYI2FObY$Hc0nP8H3-^vO8K=7A^Pj9@N@= ztrfqwNdNCP1@)y+xaY(nl0W9|NUk~a`?J+>J*T|@H6oOgEWqT!`Mc-e1_$1Z@gU(k z8QY7=A(MArGS=gSmnb1=Qnhmy<4Tna@ZiX>|D32D|K#$kme;Yo3peOvYwT2vQiq3i z>QCw!mpq%m@I5(!s&$Hjunn&Pk5Fll!$2^{p8@e_l0sF%)~A;|dy1+0zIz`aXsSf3 z;k1lp$!W?9*UI$QY0w(Hk3I3&!%>3baG5g=hXD?h%LRwr<23?;8V7rqHGI-&O(`eO zp#q{EF6-6XIVs^)O5f-&xtG!hw=GhvOaECVugp~+xLy!7!hAK+7zBY`rqkWjee^s< zHq)Rue(aa?mG5>cWKQBsEFs8~4(+v4)W#qfXNA+W8Y^69@m-8(6opo`db7FlUiXL= zy-jqH856)?mlyT;4SYX}FHlK$)`m?O8uxU%n)t-n-08``0D``!#!SLwEJH_4&c$BH zm!%d*o&0(csq3=PUIGR6(a3$J>YJpS7+{9Lvo_foDqD{dahurzRVxZb!P45O-ubHZ z6Oc2(XsL`?-D%p%oRTB4j+*11IMHzNpo4F4VpRrDLlYZ63(VB#$GDcG%36EHF8A|C zO-;)QA*`$e?Qm_Ml9oZt-Q{BOXOxNraY*Sbs(MQm)uNkrji``^Y>dRNbOl*McxV_^ z;ks2|QzhEWYp+>vQDtr|lgeS6OLHIn2OhceL=+hX^I|#HkMK&dm7@UkXh$nZ$X)&Y zGXhUDpd8;Xe z#H=uK4#qZQ4k3(VtFhG1((&x5VVkjo{I<$DI;c%)pE*qgPulns>+cjYQr4@i)kP4%Ckqsc(4<3msxkIbi|KP&=KrOH7u} z#n`Pf&@!*&Jc$RGRSMir<#NVCpU2Y?&+W?ky)ft_))SjDPBABM^(?~*D=iPw-JiSe zhlU$?RprzE>J5le_@VFW6xH@OcewCP2GD}CtP#f{XY6j(K=>rl@}I0-&Ue7m*kh7! z=+GzNbgX#RQIYgbmetE&KAte|#R%-oQOMIS6|cVP%$27SLo@O#M&<^K0G6?56Puq=v39e5g7G0JS7bS&~dCzIfl(-wG_OiO%`zVp98K09Ho&zKmaV30z zhFpe6YvR?)Ut3(lrPX(fNdbxwtuddK*7N797(?-OPx#jmvJCjfaIF;VsXsQ^Yi#!& z5-676qca$5INoz9dt0fN;%I)xH*|D0jlh?!dfmYSM5Pz(TG0x}PHc`X;tJ9~YT zkiI%<@a42#jE<@gl-KS~C3^e^rBQNo(GQF#hh!p|~)zw>Ms`gJ_ z=|$TF5qH5uiu>bsQVsS#ZHM441JSWkzN?8K1HsqUiT<;DjKD$CSoKqyG*N#|=*%}| znh#xe?zJo$jd|4pVs37!_t`ApNwA3oikYGLg?yOXVJaMehsC+kbUZKa&CQ_e{5bbw z*=`eS;0ej4f!S=HWQW40-~otV5$lLYJDdn+z-mvzE@AmA61WjSt)(OWR}TP6>; z@Hl#-zMJaBm%Fs;3!Np+QP)T{8syniD0?f@*ploov2!}%rAVzUNw-<13EC*1;4)JC zvm)85M;KLh%qkbC_$&+i)8eu;7x*~Ygx4vu|D0FrBYd+z@DNDrIxEOh)oP~4PpkK$ zVvmWMvw!^?lQ=V!G8wVw^^Ml=t(LQ)KBrgw5NSVj#<->Sb>bmb$xmbg>!g}BOOsUC z)Uc#g9Il&;KJqB7?VUJ(SB^SxPs_D3;aSiW_L;RFc=J=WWrV5qolxGN$o;1{2o|a` z!r(XzLJ3fb7_R$4L+vehHRQm}r6RtdiknGJ=IRZPH)Q# zLtySnEiwF>;-xx>s`=I=ErrQTB;L;;k>)}VR#{jIZOKt9#d$`{EB!SfSN2&2|Ce&! zK*s0vy^l4SeA5BUD=!N5$l1o=MAN+oD^fa zu$Euy3`Y33p*Mw1PZaP6X`p(HmJkof$=s`tY_v_{{8HG^r2DH-kI&+A36}*d_|F#i z*tpR@xbP!h#6*jqX|Ux@#4B&K*j$~7GZ$cQ1aQ}q#1VJ7o2E~4kgJSP-~8ckkah3G z>7t1813Q_(+G2`gAo)nd`{i!=d!{-y(lS2==-z8Ijvs5K-P8Y-&DJ#E`3>@r*2nh- zmneB*4wXtKmqk+=;*sn!!pY5#W#FT#*KP12Vr-z9iWLz`7n9B9@|{rjV*DlMS96{j7^T5E3biui`|E+ipWqJezY{3T z^|?J(bShf;(!Z+1vMXcFzoeWD2J|9^|FWhg($3OKQ~yN12l}PhYmm$m%PNpYxh_8UBXQmYlGoF~3BOM}$4fo$_5d9M# z=p>K&Wg>s*+#THZ+R3x|{=@7LC#jx6$PP8wLND}&zcE9)1!+LZc^FRah<8KMlp9K} zCHCL!r<8&&7Sn@raK*(5Va2if;4tD1`;Bg}SI3U>CXL!@ip713kyELW)xQV={O})^ zE%Sh7KF!z2`77~1dbLNl2jo?O@lMik`gSf;nF|BNLusd20JiSH+M`(rZnNJYb&Lw^ zaNAot7%_b*S0?7O^S?D3k3Fs-1q=d<;~(Q*1_ zkIg07WP`l_K{z#>Hz9rYQ6#9M66X4+doPF%63Wa75qbiY`|Z8jdSK4=9H^yK z68u?O0PNE)7{r!dNf)pm4dUr-FPd}5)=~sJOE1-E_$j^l9M`ikJR;YO@~Y}zk|uoc zN9*Zsenpcc_>S}p$7?Uxa`KE{U**k{VUV|C^U-wO^fe*b!T8meB$Dq=Z!?epajx;% z|H5dPoZhwNI)7J+GTL+eY3E1ybjgQ*_b;^h-^Pe5daZC1Zrfbh$HMC4w^bu=L+CK= z$TY;y>3CU`X?+LJDkRqfRu?n(Ji7XDC3neR?dEN&DzNYz-(2Yf+v$BNHFGN;{LM$E z$Dox8`ts{-={o{+jKXYw&Psf&t>SXb1CJE%f=^!VwFC?U9EZIs0>}@Sc2)x(9FT}! z`v?TsKB#|Q6r|1Y0gi<6q5K_=pxj##P@kEWnC>+h+nTHHl2blT1M0OkUO1Qkk6S0X%=nclE2K5PqS%4 zx9VO+@6XMvJsI%O!rGim+W%sA8mXR;W;edK`y7h5&e;=gY@qkKOvcdNA_bxXA12z8 z({*m(H5ni-a)^*suZW$Rd2RQ{*b3kU`6r;$2ut_cM7 zKQl_U6{#89h#4wZbd5x68UtU1lbRDxgv^I?dU_|l*X=#LQPa!_9~qtuEw99?;s?Jc4@S0-;hJ5FAfjWQ ze*y>su`pWXc1O(o>|r1HUA`%8-%x;BUhXKtjmb)>WnxXCery$e)tlSp#}LR;VW7_H z60@cX+2D!G#UA<17x@K5IlU<~bw=*Id0FlTw7%l3w&L>K0nT$C{)FC%RMk_rw_;N` zna#n{W`f@)vxwY&uTS&qU;w!*UXTa#r{KXAjfp=?@R0HIGNW41hRW8rgV(P6kq#Vb zV^@W!Aq72KQYIoDx+m>%)j7+Npwk!fDh8rgfetyXb68HJa;S)}QJr>KJ}Lo%)PU5H zt0p-&)kIZ}H!OXyIyI}zJ48CVE0TUyigA2OM zWj6Z0;SC9P-G|LOzM~iP*eRjPV)D8W$Lut=#n zW)w(dDJF|MaW5cX!iZ1S#`OtV!e3Y{&N$_e=jo`8l_b}IB`!{1kDSHVyFK2>Y_va; zNk~h+Pryj3Nq-xXZRF)RnP3JDoNM2CL{cz%p$>XKLn`#pTPQ^NFjoy|CYA zk@|+7Db7GPt`-qW!6}B`4*?4`FrC4dmp2VJT}!kpGO7eme%bNsiL|+ua9S%Wh@$bV z+Yw|zDL>TIZi}gXq8wsQ zC{iJ((?2xiu34djwmeLR*UNQbvFdmJmBsQE`q#HU`QMk{BL9nASqrWTGXHEGc41Og z*HBs(^VFnx$$WIhB!cvFS2uafF|I0$-6D-oO4&!u%wKc&!w*}Of0F}`-2u1P-IZQ& zbB#`Ait5<*Tc!wO?043a%vf}%NktKs7e_M9=+2wB!4#=;wdQ39%*X2=`!KCr=NFDA zt($SumczrL^nz(^uF^Y&Ff2~OOhgk{7W;qK<%}63Ie+v8H!gu06Z-rW( z*NjwxWf~hIcfOU9$T`XCgOF$hx;}=@REBG3fVBmO|_ar5`7vwOV=q~;M%uE(Ge@UDJ#5Uu`<~-P_OOQiO zq|lX5|3G}RCbSS(i6U!hB~23(EZ z=x0xMX)xor@YiF4uN9knLw1p6<%l)&>oJ(nW`lggy~2BYnxsn#egB_x+J8XifL}stVH)ifb<7d|D*SrZKcxjqNWgO^?e6rQp0_2(rKfBjLUW)=|so? zWd~RHH$4BUhZTO`)5xg0Ga>2P?meDL_Rhd?-VUYGYV9XUCyw;WZt?vcp$|jRmO2XJ zh=9?~`Dx3~*YC0QoY6a_an02~bCcsay?l{ZTSWpCcHDz3`-10##m;AXIH`Z(1QC?` z_L$~)3U-b{z${She~9Mx6c?HB!AaaAb_PA=pUS=kV!$8b{aX*dm&^Ybzekp$p7)Tz zYSDC*P=~MItJ%j66iHo1XNcB+JZ{1t&k~yX0tXw34o+w8bGt-efKwBIBgMn5-#ZEw zx;&11m6QM0FCNWOc$u>}s7#n@siNhwkC?R6p+<#Vg9zFv@8Rs! zB6fDkw@#k4otf)5UTjg>C@a7{th=V@ucPfEc0Ux%8qLP%#$NS;KT7;XlfAY>y65e8 zq%B8r3q5P&8_<**Mw+VAW7^aN7M4`N0@(K$wM8#M#zh+BnumUXSQEqnU|Vm8w7wBW zZNHpQk|@2r%Y9fGi2CefAj!+eo(z)=v2C%us&}I2y&c^QRY~K1DLQ|_4fOk37^uL* z8c{Blz=n&JxF;io*mfFqh7TqbJr(ZH=IRZCXNGpo=yA)(3hvu7&YQ`?$XpzPZ1@uV z@~_l2f2|NY);8X|nk}wOGrgp#Qu%UyM}kuASX?@KPD`)DYn091i}n4NB1qE{dW{f> zq6syi2#?}r@ZFmU@z^+KDQZ+{gAywQ`k%LWr{Bvkz-7M+_3P!e686fgc%FnVl1`oO zw%d=S8zdCNtcNhV;LnYWu?r02&~FHbJYDiWihqS?UZ7?N?2?oO1(x{%4JtxiXW}U@;M>!3`6Mt|v4O%E;gto2;Dh*ncFrL%V5J9ju9f;@?K6PPel&$i}0^X45jM&H^n zyrB*22?6t(!x!+IECY||C0=LL&e(*S=)e#yApnCecEMQPd9iuOAvj^F-wL7Y>}R}N z2D-Ys$(&%SQI{-!lD~y~7+8tJK*~|9`IcPZdcv%GKj)iB0{XXyCnVJRg_&Lo|b9OHkL~y0g}t9=bgNEXdt(~tOb=aytm%O ze^Mogji>@`eW&!WF@VW6zL=dEDxh6a>5lU+s~{csX3T zQFS?%s#r!T^ryOYQJWl2q?-i?l>qXZ61ujL+rPNgwL-u{bo$A1CMzzE(e^?^n^fyz z3CEN4jt~!rs(%4GtC_)5Gks;7R9`Q|Mzjyxt8%{zI_V%3XI2Fw%PKCegmq(}a~kfw z{oKK~YF#iNmZrqW@0cm2;GVzbx=0WB@u2eUSI)s$+BP$2F9@ptTCEv+D}o z?3_||`I%ib59*=(q(=+M!4ejVu2#U$SzK`(^y{CHVd z_|5k?tOiV$UdX(p0B#@wsR?$@2<(K-a`y9ACGb`S3xX5YXG5cH`zf( zH~^#Ig4}I-gc6I;Bi{=#l&?{nVa$s8@yzT<(nCih72@b{QLF@Azw)o^v3U?WuKcrV zpe5FfYGFoYKGB~m$1hVCH1D-POh#D`3nQh@T}40YC{?&eQ9;XPwxnS~1NJ^f7kgxN ztmi~>40sueyZqFQ!zfkmQ#3N_1!F(*p&W_+Nn~=lW+$vpI&4D-@FF8 z{l*`GzoV7OUgL(0=R&(4d(o1Yc}!KJ1~IJ8#c^J{OU9@6Ja7#kf3+a=x48A9${oM^ zM^F}FV$YH{7pv=+@e7fu>}M4Q$iPb~u&R}!NYs&B18;r7<^^H4!@t^uQ?s42qCkn@ z)E>ljcD-)HS|xM4YL`Ngd(?<*oq?DIG{hCu{eYVx`amoEE%N_o!%e;6fcZz9o>K@f z65vmPNoz~L3l?V#@!y?HUi007Rd6P*daL7^hpY&U{fB4ga>CXszp>nBer1AmZp5VA ze`s?E?gp+K+3@*!!^po<{kzSRi`ZQ%?{0d*I)xOy;c-TnED!C=Gk&TT>yV4I>m-g8 zlju|ZneKYU+QZVqPv7W_%Z{%jigs=281KAH-o>oviGQpQ(Oz3BRIz#5&(S6ajV;Ae z`DUjV7aC@dcNflQ7OfPdRt5})DG7VQ|?ose$~D}F_{ z_@W3E$$dz5Cr{J5=+6Ig-Z-kKE-a9qag)Nwei8vnjpPmVXq?}cl5=15;_poD`{Xca z7Yj}g0c$L0rOZCOH5(c3X?hGK4GqCr6?H-TW0)^(U7AVOfbO&uUk=pe(taAea?nF< z5X1jg+|(%z=FjEK4gMgt!43b%AUCR!K`T{k%_z&981a&4qm1{;kG2R?-A6^y%oeeS zs-QXBMHQHFTt7@pWwMPB{!OF%YX$pCdUw4p1LOxW8G??CWvFHFqwQf&r%cAACf9Z9 z=cR7|0jFwasskLn40J&;f!Ko`tS1i5J|0!tlq~sa<5=*Q9@qt}gzNu`U9G?SeY7&! zuKCsiJh*4#RwecP2gAye>22zw1rvsT=*KsL8{elvK1;Nvzn#hAF|)+R5I;503iFA) zB}1Bw1bGWKTd5RBD?;F9u`FZ?pN?8}!D^nq)6k>wA~BJb$I2Ud)|zuSvMIJ$3tf_` zd}Gpf7Tyhxhh;$wi}!zakiT9djvJ2dWz->KfK-Qb|G7SPU(FrC`2)2#L;_sK06gJz zCtm02?-d>}8^KsWeqwL?ayQGD3K@8LBzK_Ptp`l>6*gwts~N{j6VSP{>6~&qN2P3N zU8)Q@+MW8obOOGXoKo7f#Vnrw3m_a@1^jC_Fw9tF)?GrB15QPXPUYLz`8c{<@KzX> z#=90Vs<^fon~B@_sEM7+%wMHj0+_Y7C*~hnw+#yI9EAs_ajZ13Wx89cm^w|g+%iO0 zaRx$n!eUYM-OG5I8Dn9i_ohY`ae8?mxC(T`l73xXk@oI48_F6-luD>k!_+Ed<&mg` z*by)Dx3+DFe%l{)a-1T*<#o^#{#k4bML*}Az}58s5%m>*QT9)?)Jk`EcPhOg-LQm| zbV@f%H_}KWozfuP-KBI(cS)mk+{gEK@8|vlyU(}I%$zwhqY)T~uJ>g)D!>r&2AD#s z`O(Sr1B1MWdVL-Ycc)ONu|3{W#%Q@ha6@w=`f^vGIc{=a|M`On=*89Sxm6UcW7~$h ziipm`AC`yFT#nuJFs00bU;dnZ#1t~x z``WSh>p}0i2!GtVuf6jnJrVhSxJcb?s28RysoJ9Z`eX27wYti=*eX=C2+h$(Dy`+= z{hX*-_U3`nf?9xj;4>!T1KqSTWB<3L{;5`&0(AZNS4nrJdvgHwc?>s8J71a08JqKt z0IfPoF~^lz-VQH|A>zDq_RuNKb|6l1HhhAOXAfpfk`;(KjrCZw5&ydpvnAcXAkGO| zE59~)ozLQVW(Oj-$C4o0`SgT>%1B=?E?!p=oEE!(U@(LS!sOczCax*2SA4Y!|H5yX zX7w#LQ9Hs(tMzyG<&kLUWkCQ-r!01=?;NN!PGp^MeT|o->0AKsMRC>r>=^Ghd`>1n z@?|ofaOkXHA8lt_bZy)lDUYpw3RTPEok*yl!;Fr`>N5OpEGSdE!RpIJbzoL&;h;>rSo|>B0$nM?_FvvC}tyO+( zGs-JFK)zp7@i}hVZ)y@=~4A!qdhga5O;hdIN*D zY|A<(a%r_>hB<$V@WL%}-`OVVz2;M>+rMw%G8x^q%CIIE)HukuOfe4blVUMoU3(Q8~w-xbW&>6RJ2CDMke%kmb0gvMTOv$+m=v4)CZC; zvqgca5|sYJMDAVuZTq^32H-Axjo-;@!awRnUt6QM^5FgVMYP!zKwcU8X@B(Xi>~#u z3QbWy2pNJFDxYmVo&PqkdK~J@t5v#9*al7hV3mIqv?^|mds|)h*iNtu%!WCD@A&%7 zKigy4y72CMIPt0X=$f3HHL9}oX2Nj>;vfT_0+S$?9o}g?Za>@4GVH@eH`%~mMUuOU z)lYd0LkO!1ivj;0dPvl)?A{e?A||#`E!t*!Ns@sqYu=RmF&U0SNs(!;!yI2W1MuD* z+a#>bP;vRcg)q43itS!@GkA1a*B5liW1FfycP2XF(ih83Fn80+5jX_XOw37E1u=)~ z!%riuZ2g&qUL*c$t;bDSzc&42iA~=pJ|$m_dr^K}dal06c-CDrMN^9`5AK$i&5;J0 ziz>I0lyTVimLV#wxY+-oTn^yq$sc;9dg^G!Gj9Ae{E;Zlf7fPKa|~CMP1<)81;SLh zGp}|XKCa}Q9KEVQhzJ-tl%<=dE&M=C5hp1kvNiiZX)ma_ets~`t9Xi$wby&~FhdYI z|M#Q|@WKsWVh?2s2dm2X?!SwfZc?WDynr@E`C0O(@ecz0sU^wXlyTzCYe&e%EAy<_ z=MR>fgtFCT-DQL3>JXJl4RNc;?>oB=co9?C2Ii!{J@A3aJpSbN9Ey5V)rfelG`wN_ zejC6#o=vRq^X{;}x8~%9(Ri`F;Hla=q=+eB-q2nAzRTtuosIKQA@fdC(IwM-fyn0h zXT@QIEMZUY5NDe*emC|&$LuI@oq4oZ(=}D?NXi`S;_j%qDkedB@4oo38lTNKd@Zi% zfmeSrG0A7Hc49T~t=SxC$(w?{Zacj#?6&_nM<(*F-lBv*iqyYr$yBzeF7Lk>RS*d6&QTZuU zP8Wlb7;odkRhBVberBY`Myv{fQHrd8r#E+c6E`mN^#?j;btIk}Z((ib$VRaiZjvs} z7yVXwZm{90rZn1zK|D>ngcK5vvAN^Qxka7QMX$}Y+`j4Db~$H@P$ubP+p7aCd4m{l zza8zZqhUvzO^F%dYI|+!LzpB{)D24%s(^{cY2-DRn$WX5Qq-Eqo;Q2y@OnplBz%hd zYEX%ATyXYSZ?Jlz2Fq8OZu8L(95Ytd)^Er(?OBi!UCB`x$16?!L%{9zdWls!XMY~s*w(+2BA^ln zXW8wj!Ri#vP3`XQqHzQ^$xW=Kcg5D(d^11=F!o0+zgXk-Bt{!%w@@TV<8q%A>tDYa zpHJckg=XC_ zW0%Y|9g>Fi_#<4^;j(GHaI=RZT>JfEa!B9Q`PF|x?nNe7Hn6U44uj+`;(hkJtoKQc zDCyD}i&GsQG4>RVN})V=dWo@oMj+Qa)WR0v98DzZ3s$cZ&xa4qbJypqY{|}WQ%&zn z29g`O<1CU_{q)x{mI8aqP7-F{{qXCjrUghG~M}i1FfWs%dq65cpMC~+QC+hi|xp2=gn@TuI z{EThQ1+B=G3!T{qt|7UZyia=&O@A>1j`2-z_xmxJ{*nO^H5K6q>ucRiICzpNG$}28MO1a zD7J|xRN}u_;!%lq=fmwS9#4{AB2jwvDMkE53YJh$i!ZcCtniFu$>+$*6D!nl*W|iv zzQ*6xYMIL5skGQW+Le5TEhh7h322A2cZqr^4EeUW@B9Gbt@N5`STuTMc{;w#EXsIZ zQMI?2ZmsJ$y=j`%^FOUeYAcvq5cJASfVU(xo>}B&tqZN(_O$SshT^+j(SUjNWL@wE zy8{$;s~+Nzdq;gS?`S2T7(0^lcPDB`$@de!j*(;{1Bnf$XT3O7lypm-CsN=pH|NzO zOUDYRt|?CngKD%+_L~M9o(icqugVh5e^a9IvUfBad*h3K0{WDCvyL(?z1MyhMw-bvQaUh!S@__h?Z!@vD#X6s<*-1=CQnlKI z$5T6ReGJUsYW6RIqio&Us=F%yXJGlQWbc+I^tF(Gj%#MSfZT>^EiRutReGXx7x|ug zO*@pT!Ya8y-A-gwY{%x~d2 zY)x^2H+=T7G0{CI5xJ|g2MTiI>LHhIcNbGb9xS@Vl}A-#xgH!1rbkS?lmJ4iS|660 z8|;Hxm6nSE6wOj3dv*9+rw;~F$;Ke>1bHEwY{ndo)GfiU&HUHpFSSx z=M07)UY!=mWgdH?o2>5A&bXP$=&o89D>Gu{3vJDU>q~!EiR^(VBKq_L?u!82NqG5Y z2pu~(22V7`W?Wk*ZHpO8*jhO(F<=y4y993!cEosuo@EE zeHc4E)3&IE5z|Zp%?DZ@uRH;lT^rrjPn8n%&B)n)*(pyGjVP$ft>3b-kFH?ody!YL zwb>k>{SK!jN>W0{uozK0i=(+fK;Upy0TW&ASY=l@ocC9(kLhV$wg*-%uV<;x zNkx-fN?54RY;)GfEWB04!K^gO!tF4)6Jd5@I!=A6_GpU^1G4m%LKj^+ssj>lZ6_Hf zrd3BI#95U;Iw|1O##9f9I-IFM>pdTb`+!bb>+VidGPg7je zuA*2_N#R?O59D7>eq;tkS(&aJ`pXgYCo*FuHTl7Sl(*V1kz7+VBqh5`Ejku4sbX2<`Q)RKJ>rVzM){0S^jG%wkx+yCoxI~rdK%P%k#gdo z;o(<6Fnae({UO1iZgy3BIk-+=F0JjH`>PiDU-GDfw8aq9q`$3@cX*Qh^&EWEWF$E( z#R!boL7(|zG-S7SNhKF@8k zk1hKz=}b6jMm+l=2$w-5d=%uC*Q81+;pD`tVW5s6omLqS>87U;wdmqv_#CGlgoe2o zMODWtZy$aQtVi1qf&<=V;C-!I+Y66TKG+TIOcvLCzSffHHnp)hL zLP8GY?IcQH{OdRIP%E^qBA}IAoqDSzMDf#a!?u3=IY#Win zAcj{I%v+}xIX~UOjlkP`h^sNSyoX^V3&26!aMbi8&%akXYijUZxE;1-!u{+0!Afh{( zA_-I&$=n+$TW$*?v$hG|vXg;28tY}VJNc`>zNP0GUBaSzNfc0JA{?&_xb2Ods`ZGK zF#{TN)i($&>#V1HB`)pBONN-S(x507jZgS-S4KJu#Bm7-+ZcSLU9frE+QzbmtdnmITkHzfQFMso6|^BmBVtRTT-=f2xiZ z6;I!!NkZJ}O3VYdEsIIWL+RCC)v6UjN|5yqxy^yAIntWkuDT!Q%zm4D^@B}-hA4n* zq$sJ27_2F)7&=H?E>-DnnIWK(v0mDl>3q?k zbtd<$A1Im6`8<|D9(H|A!Ew#I;;-0!Tp1$-;mq!KSv zY`F>YT&p6TriL%ee?|@*B(r4(BK-|LP_o^ZLu{;CxRY3lM_JW#!_^4;wKxK>){isS zTR84rV;+=xIhD$2avyZOHhQTEVZStbI0fx{IV1JF5-r{DY1;K=3}r%Yg0c)cxR?bl z<=iTrR#*1x?0!g>*pCogxPoH`K>R{^EIgyCA_@Gw!Dfbo48U5H{;g%_ignvf&}0bD z0-~c_RVBy&4_gpl@$*7HqkC>EO56CrTk7^QJ_K%*71{=&dQmt%jj)^6;i5c!`>Nc- zJQAGnsE^;i>xMzug%T_JLboSfhH>u)IuF1f|FcQs-?_hX@q0dCCv)(iuDr9POX<{7 z-A~8*)7*DXu6KFuOSP^jP9uZyn5tvHer2A4uUYu0B?lj5!u5&e zUEnH-!92K96d-VRlbyR%#TIRrvCB^r4|N3dzJ7j~)z?XJY&tCO%6)p~>o?aqeJP;C zQq3~D;b9Rm#9pQw?AlW znK4S_Oc+Zd_ajYfRl(p{BDwLPGFvrL;$*x!S6#S0WzP z-r_nb4Zd#ex5qF7$3Dc9_8-JOW`~lquDl2{vFu80i-&ec)~rf^XLBw7&tO~D6-_{y zTq=y$@%Q4b)t6X!yZ{*F_)KGezi=0VO%~(uk4Hbn~5`cpPhFl!+pjjdyKSuE#}k7QEZ#MU}LhKj2Vkvj$#Y4wPb zxQQy|zI=L>VY+^ZUpb*Ee)j&`ytT)>QPrAgQyIAav`!+S4~*;6QvDMJm6e|qZO?$@+a6jO>+|y`{dvY6oQ>m9a^nq`KIF?0ZAtd|%>-%oTkh-}0DpK;?{rFj<_~|A|5)2W}h!zu|Bz zB)M1Z+#<)W4P|GuTXk%iDV-w({EtZNl*0BZ9DXMv&LjnskSlb4`NG+nmAue;cq{XM zu_Yl-YC4aHxc^!Tu&^FoR6qq%3e+=08gkqa_r40p- z^1q1#lwpT*QSa%F$QTJS$*gwy*QjooQv?jRdmA=Gegw91GwI2cb000$j)KCVQM!z2 zKo1xAm&f&n9&D}pka5PpOafjyD&tM7TN@${_3RT>JjT7F-rr=n&8!0N6^STvT=%1K z;iDzk#;IeEoOi8pv_mNFWCQv6G$gJPp1#Fq#Nnk^;$eNKq8dPuVjVy9ygR`x=b*7n z$1jx%Pi+6)$JeG)5~FT0*OKAOsffWAus45ef@*MH7j8`0G-Iu=7^92hhru~n3(83B zBeOVr?lOaoZT(dj8ztbSNJg513*IoTEyGv-;?-!MoRPYYT{>Rst?w>LmF=tXg|&$ zTYYO}`v~8Y2JaBwAJ>8f*XaYBi5p_hH+l`Oe*d_{Uh`>35bMb5!|!BrWs?>1I=|4i zVr?IC*UZ=sKFd}J%aZb~DO{}x8{d5Xv~u_uR`+`#K9a+o4NkgGIG)-{)@X68$m`*; zilR+Jdp{)T{PsOdDunj_lXQet>UTf_i(5r#DV~~9MMH6MizwSF$)EqEH!xA`^wFt~ zV$4C;aKa?CaBjHy2wRohu9`MgbxeKF*OLbpP<2LmprEnU zU`aWaIdC6qSE2Yyv^A9&vK9T0WNL5(najZgNOK&V5t5Jd(Z5-gdifJG6w_>Fz0a`c zl@DxLui4vGeb_j;H0B~pO*Zq`xomG*9{yz1?EdX7n=O*yRW7-8ckeAQWFv>!8TSZMvt;cs|POT?Zg5wlN25);eE7v_^@wew^wxGKDIAco&N2yf6qu6KFr292ou?YmTF|E9@M41`@LXa zcL;i2X0qIMD-Wm9uV0{`npe(A|8!sGI;1Jt@5im-#whLi!L^Jhf19)V1*4;GUnuA_ zVNnM+6I!h}i*hxmP%znQh`P^99@GjU?-}{Sj@6uFp28lj>JFuVD8s4U`Ei_E z_QZ@0MK%@@B{=Crl56&SuHaIpw@KsqS)Lb zWyzPML9H^+)U=HpPr+Piu96~IxR!x9kB{1;U`IDp6_=h~<`6#Rel^^5 zy_?G=Fdicgnjwm#Gf?&liEU?2y@y0NO9y@V+oTWG{p#K(8{mbTsxkHJj~!gEn|%DB zJNW4-z^8)Sn-~?cMOM3fFZAgO1Wdx*PA`GgV&gUlrG)Zkdl87q_GxcAuc&!GY<@Oh zoHcs4suf;|etpGfsyYKO6|eK;_@2MW^YYeTG+}?m;GS-m3AvL*X+(Ky*wZyJrOVDd_H$`(?QHq z3;g`b_DzGqD^)!wZ_lAk{OOIpMH>>XDpuB5oW?MMxc0cW;tNCFoH8&Y{X*-o1J5{^ zp4d#O0|=4?wf=(pP(chTAc3vIKe{7Rr_f=EgPeD%MhUG=ZHCSlj-y|BAM{vhXSVJK>Y7C;yV$JaB2>Dt?PToAx#u z_J*Dth5&5s10ghlLkU(VOrt1^MK)FUS0~WtI5d|?m`s^mrCVADKYR#;_fgXBOZ%q( z#iJ%1Xx9%A`(K7rKB9uAkynOl{MhX6u(IDRYo)H>1{PA!_ELR(@xVXSJ4cd&wNx3T zL^{JQfNmpuvU|b2V6SF{@wBdSV0~wA&%#R>)~Tu!xqK=$n+QoLNC_7GQp1;)q4LH*iz zVrIf{R&y!Z!Cb^Od0^v(XjVF{uVpiYh!R-V)d-dlFrdnzWXHF7L7bn|f^V;K@GG)} zJ>Gb&b}bSKJcBf&x@i((6olxTa$_e)fxX*_ivkjWwo4ywPfpKp<^VCNbm-`7<_!D z81iWZ(#gwWFR!caf_!EYDO)57;J#$p0^F--_wFut?bMvGWE**Y}JOdyQ;h&Y==cw>ELwpQl_#ueUvCpwqa%-cIi)m zhS_~PgW}upGaG9GgWz&CeZMvLPpfjmxqW<`Ms-=&SXFIvUjyx=wuOeB+7*w6`^%!b zZ&s*-*Qv1Q%Vj_Xr|37C0CH8_7+-E)o80S8%yODv;s^M~tNO;vLGS}BpOsZxWUJO1 zG!PhZ3Us(Q`1bho+eZnSQ4hEqG5njESn8$*xLRo-)5xIY`h#ig4_sp8{R7PJ05YiV z0FebY?n5dP;3rRS{rSNO?`IX1Rm??QT$Zrhaf>h3{yk$y*3e;`cyEFU8N9|F_t~VM z@-Jy>vRlYH>iWtrP#n8Y%d&!YQtYaGmzd$#j&YmzEai_gNGffoE0%0M2aeRvZPuKt zx{D+Yx<~Q)&9l^W{;&c9Sw#Pj=N`)Y{fQ)UC(WtGzRI^EX?j3H{W@87#|QmA~Y!IZMG&2H$eXAJkbfZ+V;v4Z zCj1MEA305{j7E^gL8AzC2;2uxFOLf?_TI5CT*Ij)W7m|gMtN}^jX>P|G<50B=}oz-BhXSG_@Ms!fV7mi{NO0 zsmkCP8iHa*0DodD{7yNP(;SAqH*)NvtaT{miGi&0M3p8rz^kG4#w0(|Bn>N(K)kS%A%M;41CY?f6zd=&q59v>6m`1+xAd!^5{`YVkbbsCAbvJ!ypY1)be1Ian zk$4yDw%aZf^0>aYjAW#2r8BG7i0A&~>%*(XGJWYCU$}Z9^)X;I<@Mq%Sy!~gA*jZQeAFinF4RRFs%>zIigu%p?}!Or&PW0o z>;00mk(h8OnA}k$+acP0Twg$R>lZP%!-7f#hWvg28@9y4D z3AypGJ2svaL^QRFi6pjtXM$Dm?s_dPavJzD`?c|@x(;-uOD2B2gNfMxqlmKypjn>b z5?F-g9c>w_6`K7FpK)J1U<{1l7}&4Y4Q2K0Og)kin0t})XAZIz7bZPiBACp;Y^!0D z5jbo-Z_#Gqm}>GW7>{aBE^%SHpjvgmBjD|rrAo9DD??8&K3)Eb$uw?@8Zb#!|MD-7 z<3ZS?=&@6v(6WiMeTR&j(wDmk-=4jg+`%Y~1U4Nau6Zq`$I8L0%6-|cuKK(f;Ah?N znc1eW^-W)rqs|r2ZP#x_P}+v-EllD+Kp}7rzDfaUe)(l|^;}Q<^P* z+aB~DYlEEi*hg`BJjniommu?m+ z#xb9PJl=`J2P#GZ>a0EUz+1&_tBv4p^jVXwrUvqiK-nxaqGIV8f(&6hm&4UYq|N!i z#TBL8)+jyS1)ufa_;2X(2~{SIH1v-)9gY(+V%XWnB0KxWnWZo;v8@PW8fgaEa|*_} z(ar=3Lx7j`m$chfekH6#&ppC()@!r!;;5i&-$-qq8kBEociy>ztiq7`}CUA=%twW#zpr-EIxcKzY4s57p34x=yTWtfY!m z@1;6BVkAe+C3`8YGc}O&^dkXhPHpX0R1o*d-3phxO{^?P$gBc2-x-wKq}vLkHI|QPYUASd1|}% zePLrOt8~lBlz$Yl;-Ivy7N-|D8mm3yc{@zWbpJslf7Gkvs7P_EsHFScL(8i#sUR=% zz*|w$~%Ff6Tig6@M zDS-5nrm+BoL-Cpv(%4`A&`t|hi>szZ+6)~|i75UoHCM!f8)zvl2cQz5id&-rc#qyi&S zqfl%-YIXtYZNzR=vgy&b0Jnu2e~})7KEK)}nebC+vZrh0o%XNEIStY!$0k=&Zzb33 z0{AEpbC?O;)U*q2EihV2qQ4fzK29*u63T!OTKt$15hdd>E6B4$cP~XF!!&3ie07S_ z@i&o&TH&Kjt!9--u))+cUA65}gzVN~l0_gVslwxu*KHVKRj_t$cb$jOsekL9xiY`M?kuwlxeA%;>^6?aq!l8^~46{i5T>2QcyMKzy+tcBNy6W(=t zEG+CH>TN5Ze|-_|?w>JADq~$pzcF95XE>3gs-X32==`T5g=lYumnO;lysd)0+x)z{ zh}%3BBC)f8BW7K{Gi75z>eRV(MwB{*Pb;iz@DHXrUr{zMZS~*Exzish$$ZVD9k~@b zZ*4|9@|%F(u0`EJm!^$APb01!XYxZe+Oo4RF1{`D{tQzM`o6z3gJj(JfJ*%{F@(Wa z_{J8158j-MhWb>Qp`>RC+&+$_Hy^2i0|4;vBRtkNub~uAIs6^lNJ?rt5H+lEXI&O$CW}nK8;jWS z77lEigOV?4dAx?=-vQE_h99kfP#~lR4+-P8lVZW;pj3dn+ZX19*DAVh_cgQ)WtZ*p zp9w68HVV9bZRc)b^H|XJPyP^KF4oeV@y1KDU(_g&c@ZWFe_e;hK{5OBRsIqVjG`!c z0C(b(0WsNByXe6|uaR+*_y|=9biv-F&v^OE^3P@DGdD_yTZ0UD+P9&EnIHuQ%eQY! ze#jdMRwg;l^K`w<9%b(?fZq&`e(WZD@;}!>m|9$X{gl51JtlL>Kl23%S^O(1_ErP= z#{^iCm@rWN2$boVR^pTs-!y+&2$eD6kX=YPccEnDu)=U7l< z=FsIw2gSJEWDYHiNOUWNHgJ^Y&{N{_=$Ut7M?gFXSvHdt`h}M3lcf38rdAt6je?WJ z>J3;4?(m(y0$(1PKjas1828uQT}>m2n(l9|M&ccQZQA zM#`(b`*)p6=kEI2Aw)FFY!UJ$?vnJvPveBJ6wjnbY4l1|Hk&XgyNsF|qf9L)*2B55 zwBS^P=&MfTP5$Z}L|gBG57pu>^rO58%dot$40!!E4s7--#x)C*8~vv0RTsKv>qfs< z3*b@C`HQO=Nb{3bY=CyQP5V8;v)d!FNa12 z7ljBu?dcGFD4J#{nYJnlwj0gLg6~i0lC3JT^4(4?wx(eDjL*4yuR5miwrx>TDt+_y zsN0>)iu&@|?x#|>G6&`{dlDaisdTg?QKw1auZT%j7_1=10d%r~m-B0-MN{@Ynl*PY z=_&*%JUqNV7%(!MyAP|%HN+IsUw&3|8AuC^$DS-uZj)4U%A26ADO*m`ZpmaaDsw~? zM~~nDaj21jZjf7ZiwczHOSHpo(=l|f^Y4>{m&*s%yx9AVgO4CfuC9~LK@Y~glis1bLS@5`Gw}U@{U%qScz@RL=Ns2E;^J;q`wGcLv@i=? z>tE#wVeQPy;o2kxN7y5)+eu##fJ@SKBa6S(GAGJD11ZFY2A^L`bUYUfpEi0R$5uDa z-jhSt&FqSNPSy{$b}-+Bqbjy(3AV;geJQ@+a`pvD7xzbJtqgFX*bevy9)4nJGna6> zqT&$#I)Lu;>b$DH)8EsVX&Tp-afsB-*P1DugV+83yqN4X4>#TXhcrP}8VhA7;>C}5 z2RGAI3+wH}Vu9kh(DQIuG$~ zCrg-a>xhVJ)+Rh$uXFo`N#Iq$r!xT}W$!uieo+kKuNuKb2+_tK;PXft{!hc0Xrw}$ zAYZI+-WwUzl{$zyb*o31p$n2O&3DK-idS}5d@DYKqqa<4wNNJ@*Y+MluS|{DZS-9< zGT|?mnD74RC1*1Tkk27G+pWSY3x_$YI(ge>8%0d-^R?PTRmvpi_w8Hq+ZTLyM3 zK}YfI`nCSGz-gCx_zfx+w}b!X2haP<^KcZ2wu9dIE9021+aR8(Y#z#g5y|yfF2y?~ z)=lJVG>W1IKbODJ+c%K~pB7z38f`Y%#XH%n2uUIoGyWD_e05@x#8tH~sh?ll4H8sN zJD4-NA$VmAcZWam$Z*}@*rP#J7To8bg#F&J0L4Gex7{&oPJaIL7k1Sp>4>H8=+H?< zlA9j9b>KQI;ktF~9Ibrl-gn;Kz4Do6w#+qa)2ZJnOg%Wl%zVrlh=mZt!Z<~%;kv8a zg7JrOUN|MJY#7c*z0TM?TyBMlcwhK79%@6+YTJ#F42rd2lJvGUE)~mYr#P6RA=~^H zv!c7J3}I?%wEmBgv2~viTXC|W5tIga*>4p2@illAJ+FZ=ezhD9CDDCa9!aw8TU+pL zWF}?ggz9+zE#uRH9t>-h`&m6&d(jE}KRPOsC20V=_q*Ux^7eh&Z54L(&sArRX88?vJfBX*MdC?-`JzF^5 zIqg0T8|Qop6{Qm%v))5}4KrTJelp}OkiTs+o&m(a-DY#>W@-9>?&p~R;KPMl3A1LT zPVA;Q>=v+MD~&3Krff^<*MM`#J$)=X^fC`ZK6hS8$^%{ubBU^55jUv4$V$AmasobE z*)r#=;p4*cJPal~KP#Wt06X~o|N04xN1IZDzdNlJ>yb(VwHG1O&RJ}CYv91)m%49` zUs>-AR1ymM%V<SGGT?%o_=91_!sm0;qe(FUkPC zIOKQQ4nL&pX{3m94Ssdsyk*H-3IQZ9?9Ni}@ltQnw<8pCdhk*|mtp_6$$JL@34R{x ztECRi9h5VBt2_2qsYfXFuu&`-+ovkdjm{&X&g~Yu zE9CXp8%^*#OzsOc7n*wbU@;MpMx!4&ky;#sU6T2Z?)KUW6VAb7AbrC`sN?j5n$MD7 zP4*x~LJdXsVCSZDKYv||@pBa^SueZ87IO3J%OF(tG+G^M!vi)U*)~*C+M8N3&j&2R z3x;z$y9Aj_u1`o)hkPuPTZ54OV`dwfTL!~Zd%lo@L2kqM_qQG{nQxpNaQmqM-?E>O za61%Kl1zmi7I8*ucmM58(+vH*R*L06karou<%hTPo`d4w!-Gn;5aE?XJ`a}2G|X5? z!{SK{L15C{rCz16@iM07%|CAvEROiaxMW$3ze&S0`{*Tcg2hOMj3)iFG+w}vz_$Z; zGqt3B_^k&Q_EssDIfz?K zYTAiBJs4DiM`eaRggxg($IFsefn1-tw3dwa-!_r-hkqN8Q$e4---lsN_qxF zhflqMwgw}-QP$@tPEFG?CgbqZjf(rX0fM)j&VAFLR68DLbj;!VG(AJw@Th@m(~I^- z7!^Z9>%Qs2j@n4OqT;%gZ_8&SbNRNpNhL7?MKFj)$Y}kC%)!^~MnE4r20$kZlGCru zUsC4Z0y__Qr5~}>DYlLTt55uocrUInHV5)FWtAP0bw`~9Qq)~#**CcJ~ zxG?Ps>Oz^g_d+nmYifaOHx7GA#%ZfT?Cy)v-Ls%#)LL@j7{yNL_M?RA!xxx@lcQx6 zFM_HV#vDu&3;uzJrIWD$gdqp*;+HE#TO2iW<@icQKR9VHc>o!)meu{23>m))wnqi& zL>e5aLq$(T^FvAK0j<0sWNIlA?>P2qpty8F@NcKuc1rSP!{a(A&0VM`@HxmNZJ#N~ zbvoa?1;ZA2bHKioiT{&imO70{1SSA~m0plKLLnpnoT9y?SYR{Mm;Pj^E?pyG0z4l2_jCvKK-`p6Mjs$--LbItj#o!@Ut-H{? zR1rNSg(>L5X&glB58*O8L9OC92#EobpKwDU#xZ;E6x9WK#LyDS|BmE8fhdvpNiAW| z(d+gqH^!=#Y;G)uWno(ucUZMuNt}TD&{*hiB|s?uHwNV?Rd~i!%nId=D=kpnqLgek zpL@a-Luxap6T3OUrL@8ZE9=RU&N1*05@C0O)m!CkplqUP8GJW3qm@XUzdpAZ^N(HD&*R7&6(kb>xwRT~L76hn|*AsnIPSEnhUCUc8Ei zGC3O1(|=i+cxM2MJ2<5rsNQAUhNA1FM{cl9l0V@hz_v=YeMh{a&B1Gc2+VtNNx`Ks zr2X!uY?I(xd~Z}88X)=XmR(Txpj&Wo<gkk^o7Z)#cA}95+=7M+I zoMz*Nqd%T#@7LbEDaeo&97h@&^gE}5b`pfZYF*e`I(?CWPM69^@t^`CTBuxO3p05@ zk3g@v^U@8U>eskG!W=bz7?OSA?!)c+3>hv7 zpc1lP+PPn_;o*qA)5q=u9V@^u?em%Vt52k}DAO$P;PwynfxNZ~zNc~YF$Vc^^Ef;xL zxx~vKp0bC6=g&UFzJb6Jc~SIS{DNuUdwf@h{oh?jh*Pyh%-X>-|0X3amJvk5pm#7pll?>NBGM zJLx4I_n`WE^Rz$z8B1(oiEQ$k%|gq5z-uLJyj_QdhmrAsg+{K#dcfp(u}u89>TjTh zvB)uRL%|utWki#nmF9B$*G=qUPvI{`B;J?4EV(P5`_|(xA5uu0$Tr}Lj%NLJ1I2fs zdc9mqeVd1FEtFd|FoXbrNu024yn)lUOe6cx3elc*z-$&60C-9Qlx_+zf!{ZLch13m zqoWNfeml`gV&~T_FsIiJE@P=j_76*23E4K7Xcf<*`=^!|!UQD5+AkpEp9V9RF$_t_ zjA2c^p^-{69l9RL7CNvUtHsrX#$%z_*Kg61c<7Bw?9l%iLWM)>B-;OW77jQ?Of~`O z&!)2riL^wWJ18o-L@-moKvQqwfTmRYQrHC98R4>p6}<&B*fM0YJ4S!-X5H)vfzDxs zXO|FK#zbKixh8eVAO$~1c$q9Xu1gk?&Y#>Zl+PFNf%bl9*Ui}}Zq@eBG3gqHVp%Q1^v6oMH<|9j~nU8%5I`T*BdObomZOf(uJ z={{U>LSY>-OWbIPuc;Wh!tnIui&qhgux445?1Y@FO?=DklH~uP>aD|~e7^T_I%Fy7 zR6tokBo&rc1TkO{QF`glr9ncvK@pT%QYn${j-^3B0YS>8yQM|Hv%K{E`ThRmy4Y); zd1mI^=RWs2a~=jpcG+SP0~!b;E^_=cYBJvS39I}U62j}WaZe0iln*AQ9flRxP%_P^ zHFuHS<53`AR)fntYT+6OxA5rWH(He87iWRAn4gBYr5c#I6%l*3079$*4|$Xd++1J6 zpp%}7L@oipSZo(L<0}QNa}!@yywN}Wf2@8m72{A6 zFe~M?@hJMyBz`TnC&2Wos$UyRRrB^(>^d3CadhU&h)o@pI)HUf)O`DgM_4q6-zgs7H&(t!Q>Sq&yX-MIkH?5>ZrIr0Mg)<9 z^`+)}Z!08`iFKb)Ln*eZQQ@D!$04+kU(sA&pY!5Is%YHJ*EK|w(~a+K56suS?{Spy z%u>t5I7AkNtDbjT?oAw--cNn*7ufXWR7}Wxcj_^Z&}<|5KsKz^wiBe#I#v4Lp7ADR z(U8G;<*k%@7W}X{hH3#ghEE1x-RoD!x$!QgD1hGM?Frrh^*Uj02Zu$j$KkzfUBfdn zoI%9XFT??lRVxdfGJ5R3R(?J)A8FtocYcX=9jhqv4Bgey1GpFK%(9AM1m4l(xSWOi z-o2?S?afbk?{!f0|Mxi7oiAQE?r9F-P-(~1kr-|W=M;2PGBU@^&PL(CdZ4*T9aSp#{9Uc zs&TnE%Dsn)nYEWw!Fn>4zHbji0bkqt_sQ571yxt8#wnPfB>M5K5H8BXNKa)J_Sm8c zd2zwP)Sx_mpQH+y^H`S|_c3@^l3FH3(qo}sxzK|aqmFYl9mn0sc7|~GnX-%F}#1ITT6ZMcz2~*CX#Xgq^OGs9p87KwWZfaMYHwR z<0J77+z|_9&Dbj%{P-SAR>RM4b-505f9U)tR6DM=bOf3 zWS;SA_@kwiGJLK2b1mK*K~_DVqAY4ur=FIdu)(&$xw5oJp%eH?EV_;iM$->CpCRB$dl8D|Sj|Vxi4k z?@Jb!>67|jx4KC+kce=tpYi;z6bTyt9+u9NXk16ZjlRGX92fD-zVK3fdeqn8I*iK+ z-Dh(0=_}Rh@QxgPN8Of9=kLLfJdP&?aT<`N&9?^_t`$W**lUzdmv$h)zmLP}Cb}$^ zgy)>-dk`=Bku_3zsfAu@s@P1ygYRyqlCoKA4^@28fDltQ){2Owufnye6O_S{_W`*b zvMGX4^sVvXn9k5>cNOn#1+T-|WA!6majpp# zFnCQ$`BL+j3_A-aOtG>jAD%-ZY^^2UlKH1U*X|+Op4%&b>x{xZ2pXx)d1wNN8_3E#JUfz7##3%zqEG3Mb5sLIacPs*P0Ed@Z=8vp`V)l&eTXoHk9U#BGvgV88Vq zDt5)`+AWU8IWfV4LK0=z93!(Xv{)2Dyw|2k=dnzva@9k@3kBsL)!B5Ji%%5G07m^r zfdVJ@g@1q*d&BF%E&a%8I4lb^`B7{qC4&=Sq@mmwyhmiX$Qye)g-+ z9p0)>Dhpe7EBlGp|BHWfQVYo$Fm5$K=T4?F)@mAd@tXVXDmW<`SVu(PZ{G%ia?9*o zoAVk2l=#8RiPgl9LoR_ei1dz6WI4Ba7Bh`?*{a5FXT`pMnC6Cc0}0xjl1EkKIIE#-^Lp^$%so2sP2D7`y3k^J8I~W z4;__(VqJ5l2~uRQI|y>*H29s14AnVuxw<-V$yAha9wG4bJ!<%PJO@YB)^;SGrZBWX z#iCCi;ZmHMzc{d9vrV`+cBA_9;;YqZ4RfitSGl;xN-+u$H_3x5(zso=EDf99H@szO z({~7v8!mpc#1_bfyo(oiUM7rr-8+64e4jQ+6I9}-Pc^sqEN9?U4_7J+!U~-mL)Hz$ z3|Ku!n5aE;V^E3$$?4o1n z3k1JCBII#tgvu+)O~p+~*-mzRp_3>GsVX+sW+IyQ`p-wuX(2_(%q0prF@YGjx{wU7 ze9ftLeYS`Vb7SVaH>FwkQQkq(dQgzF+7u%(oL~b=u>pAKGvp7iHP$XGTk4gyREN5- z-z@<&YExgEY_I>k>u)vPxLZMQR4~0Dip!lg^~a1U7Yi9^OtZUfzR3pebi5M6 zwl2au@H?CCNCKplZn$&?VilY!FI^C(W+uA*!48H~fm*GJF98LTDrj24}AWBmf>P?Ho7}?`KE9=#z8_d`CF;!=Uccj#^S?i&N2-!(a~={ zP%=1ui+%1@5J~;iXG#4sVgRr0+%w$8?lmM3n1u0-IM(s9NQy_D6gz9M2vx`0%pGe! z{pX)KR&?e@__);o(|(U8O@(Lj%*8QqHyy$J27kw^e%2v;ncz4g!O9w-lxm{WTBZlJ z*+(5~e&(FI|)2CDin z_r7ubRj&6NLO-dydSJKwcAIbYBVWwUJu*>>TkxI$bR%Ef(O$g()GD5MgEFDb0OR5B z`=6*&KlM8UM3&#<8?MWGy>8YwC#ESpCXlW#2%i$YfLmIF(P75R+w^yD$&jJm8 zJG`!sDV9Ppm(|#n49Db3yfKe{Jv~O;y;qF;NT23%46BtzUG=cvohQa`Fe}b0)*`|LzhdXE?cQNgz1)Wd=6*Yi zq#{47w@E*6S775VbdWe^jZl=xAtJo9%q2n>Pe3Nz3e_KyvJ?6)8436iI& z8WdJWVS+hWN6>g*@(BhySZ(ej&A|PN8YWdsF0rP-Xch>OQl{1L`z7m^capY+XnLuF z3*yX^Xmr?84g6jOXjh;dqji-c#7mi>b%D}RIZ6UPowL4^Cy{Cz8nV;0Hl>D?sOgXM1P_fzprW2S= zsETI7K0)>l@)hL_j>nlNbdvOK&NLA&WL=;o!x5)`)2>eP)X;6_JhIj&<{{-{1*nbA zI=CJ~J2qNDMS|!Er-|S~YBL?zml7Ke2mBn9dd|wUAue@(uoP5z6gCOE>l^AU-uPp_ zdzAn(%=#@lYd+$k`jjpdc9N*SiC-kG>b${WQ(2i1qK3@yk5dGC!Z)58DwoZz zxhUC~o>Klc&p?M8i98}@^?C_nZJnw4+*%Bz?5kY`qjUV!S%0L~*3o&@s$}A!Ry{K& zb8*AkxZmXAYuL#*NpM(OHyjpE&E@T(H)BVd|X z4I72TsSSOv=yajx+bX4rPVlV4&z-v3TeB3>AB6R^Jto}2aE=8aHT~i5~U#-l1UVy0&>pLUIRDr;fszpvU)Xv7DHJry7>X~1& z?ho1G*$raST`74xU>@Rvhw8m40vbs^hkZE#HKD{L|G2bKbPkvk|tsJ!V(Mo*RDjz;1Mn_o;I7-)fzJ#zpK zJBkJ@8Ksi+xyCd(hX8J4p?1U>8aiz9m=v?6I3?dT-j`pF%RL;m%FT3jAbROR{}E&tp`mu3f8g3vAgmx1=I*h89$7vrBO0eTV>k(MmV^%Q`iVi z&+Ht38d~T&ZrmmG(9gd0?HDKtwhA47`Fik2h@H;>d24}RIwMAFh*Y22bb_nW?eRA5HNBAi+#e`a7g=b;=GPOzQ%EwiJ9%9QH4yG0H4qW5YS4aBI(vp+4w} za*c1dv;In4$uA~+o^j1ywB4?%24PVZ@7>DvMcC61nKpc2`~%n}HRy}ZJ4+P!zQC&L zKLCR1NzGS`8hL>m3*>bvd#}Ua-G1WtySF*1h?DKqIY79@Rc@BNoI2!{p?LiDYcHPk zC8;PwJenWyYvm9`swk&jMJ?aDKTs|T0&ZT+Va)sS5wof{$9KhP%x~`sZTiBlCO*W& zp2iS2$;~QlVpV?oTHfE8MP?iyZ6NiTVQ(JTqhR5fVC!iF6-(X9sd z=Y7JWjjbOg6FutkeOCTVpCgfB*K4?S$t8`;K)<_@No-z;A?2?AChX|6O!(`_oQsX7 z<8C+To%evAHtC7&qkRIjP2c*4u{bU6x3Iv8d`H1&toLR+>S`SY6Tl__*(X)S(ZIuy zk)`FEq%=22h+_iKOh{*SS{NcHY0=s36hwh?jx^PWw~UWlaiG3k0M|6`h|doGX#;;r zMV&%gq8tEQ*48Mbtp;fbq;8s#5UQ4OtgTG?jUd{T8k~TJdli)fHP}riK%#G|+5Tq$ z>#S8nixP|tbV7YroHAb5O*oFLtLH!yM4`>sp?cLU#qXzOTR9fSWk#&`@^{IveYa%h!jt3ja$dy|FoP36nvX5j{b9T%YJjO_uj3#zl(#tOC}q* za|42=3hm$yAq9L*qVs(nJ|rCNKScq)VWgnZ!A(K*Dpa~+M5rfV(?y#3L#nCINN+to zZbRJ+m?fHHQDwN8dcA#j#Jt<^8ZO$D9K10%DhZ0KECrTamOjkK`BgX_Xt;uJ&ocdJ z*tMOsE?EeuV#xXTXDK-E<-m=CP7RMBNiT`TWZUY|-^biQ6a{ILz^QkdbRR-WsIF^q zQdlon?B92kc70p39$w8FVl>y;-u(e$LgT@T?D2lugy!ASOGp_OmxI%9y}tL@n9)(96f;6u=7wx<#q@~&GW4Tq#?D#{%(`B}J$Cid z8}zppB+UZ<2k$gk-p#5#q5*qjMky_h0h%<=3BW2%h}-en-NStLUsq`M2B^zX5i7x% zr)|Mv;HC{3ld)BO748YphSRK)C-hJeAwq8y-$oD)Q>@s^hpKC6R}*2HI&un1SOhQ>}?N!i*z8pf#S zCoz>TFj^$?w{d+HRzAy!W5RDI{ZjnJR2L+_#i)qyGhUYMaA7;g1w1MdV~BJ%#75-8 z%3S~Q%)mxdDUc)JeIHOjAYB+_CqIuQ=*4qAE+@IDT}i#_{F7e0N#duA@&ABYv=P}; zqSBX5{Dp79CUI6xHVHGb0s{5DJu&y+`3jNzPx?V{r*qg_0PAN0JNE(;1`}1~9)2-4 zf?K%R^&ArCTH~5*bV^x=5&++9|6N=7#dH!(n!Z$G%*+s^m?P#C>r$Hw3_eYo7|Oh)-rkjHV~9!ojp>Hzk~@wh z1!&_gg0WPDSySJmx%7T6Ebx1aV~*D@g{leYeZ{jkf0aB%qjH<%s2!>uw8y^PlyFUp z+$Amaa~~(Y$z|FUSarD3oY~StoZ%Qy-5C9>4GqrKWtM3b?<{KuZCPQn3F1E?-%~9G zbN^heherRqj*%!72AXPcBO*L%^-RaVgJ)z3*!BaTf__1v*- zulqY_%9P3oWiq3T2UVCSeC93}`sz5m>t)}e(-!A2-LgojlgISJJi zM#&Ii@_>}q`ebf^?0EaT#?Cbe8(jNC@gNg-N+$Uwct|vAHkMUvA4Qle ze)317JVV`fgT)?!-h6-szKt<@LohjAx|vE6UOfs9E5X}Ggu1Is$wge3AVe?cxS{TT zr7Q!^#?m|6rvv*JTmMhoVfvR~F=Y0yI&Zxe_h!X!Ag9oK!<06PhEZy|cBM0Mv8e-R z{aYfSy=9caD8+>sY`E za}X3l;MyIFzoYk<8a^lQI%xke`0jGcrbhOtNK_-0lf?BIjjjN7e4gsz%rm1+kP=2I zV%hg80=U7PSQF~o;BnbJ<@lcI11@mx?NSCJH zp4`UL{aTZ5Ppi`aDcR+bKpV~pqLJ9TAxHBs<@o(+rJJzSUjyd{`l{MRMa#Zh%e4kY z>qqs?=?gt3H)Pk1OFi_Pj$9FPwL#PH%K3a3g#(e1;D$~KajnrnQRG^SSF>oXZZV=u zK?`}ZSM)P&j&?uvd2c9mB-pMsx@VJnlka0I&Dusv^OJ?s=M&GzJ7UcyHEb<%)lVTq34_JM(5^;8W3}PF$QA46?@LC7qd?&T_kv~Y~j9*85IVzgI3sBw#IO8 zSkDm;Ew#wvZ#d793Vg0`DDO_92IFX!5_L}PQxn}Id#KX(2v4tptKQg$qB111E&L~A z9ju~P;>eqhvcH8lF#BAEBq`)KS$%Rc&r%0E-fqx(^HN@zmXbX9B9Rm3I(AaU4q}d@ zBmAfhue}mCx_Glw=~$a8OHFEV0u>Te*n`kapUA+0+DCjwnD|z&W{z5Q2a%4n9G@dA z&AZ7ZeWX&Uc@oD*vfkCQ>=y2G{^y)Z2BSp*WmhfbF$$ZGrr%|yU(R{Pe?%+JDx7ZV zKt&o=>n}+xqf&G_@I{fmhDJuP&Xt`UlA{qlkKy1il2PMoqL_tis0;<8h?Bs}ovT6` zN^VSb#@6&o@6bqe^~p>w--bPBS?kc=j@dwMX4#c^e{~`Kq1&AbT;5FJ)?V^9~NajQ-qc)G;)4T& zNiHYj=5LzN0uSrQqR8e4)pB-ZjXb zz-jDTw?DDid$z2XKS%*Vi5v$ljV%+ylOb+QhR>j#X6-KQT{3M|n9c>aI5)b*c~V!S z<4&>7OSUG&o-jt(+gIQ{4;h&YZuq>S!Ow+E_|wQCpGryd!R&tt(KczxU6VNp>Xvc< z`>K6(TC*MAgU)cI&PCg}gN4uoY zswn!~V?HKHmM^mpW+PmG9@N(>z+YK|p#)O6oJ4=fna(-e!i;?cMxB0+E?A_mONJ?f z@ib4_p+s;ykL|O#`lDMmh8P8Hp{JqZ#>1zTH!{nN+*#ae)M_+rU+r%%iC-Bi@{<&H zX(-c%y~ZULeeDB5^#2VlO=P+{%ER!^ zvAvgkeZXFHOiq_&oSk%LQF&abLX30{SY1bS_3)A8v#FFW1>a+o8=XRYN4M5A=kio( z8G95sSetBcxff3sZY6}M6EhZ|J=i(|iHU;9ad!$|*=VXYRjYe@WPMx~>^ct;;-^DjlGGqY2RQ`P0Kj_$u4E~Uf@EZ!cd zZTcM~+c$CX6DiMTu#M;$$_?N*qblZ8x>|TyNw&XtAg1!EW4E`z z6$MD%wdm{DUX>AG#Yi-=tSI>Yk%_JT@#s%Kuk>-bQbJtWQ-)ArWthe;id^5q;=$~9 z@eDIjMinudxagyQM~u#K*ErTJrJ{i6itMKy@=td6XY!J}$X?8bIZA8et1?!S4Nk%~ zjDBZr;pgzLc(*YwrWBW#-@H|We6}UD&iMWK);GqDIxD5Z_&T~8q-AI0FL$8T<3s#``bA7gxENYW^- zEZBJPKsFqi9S1)1{T-E(+r8T6TT7M08jPl@~`-B?2tJ=}9GL zfw^fyl+qB$S3OP;u7bUDfY|h>xO{%*CU-L6~q`(LEj6Q3=gQ3OxWEk9;kh zs`bl>qQ)>4l5P@e`lak$GqjK-w0Oxw(@tYx-W}&xjD(QSZ;?PyZ7nVNtQ+u3+{otU zvPXX;nB~ai#y_W%_6Zq#?puT3O6A9Z^Rj);){}awyD@*J7;#B)HS~|5@ z<1y=zh)ytaFD-iFc{ktk)V`TC6)@hJv)>C_GMkcqWCHmtrCYD9@O-H*8ARps?FLDn zdB`JtS6Kff`~gtA7UZw)$eKGGyu2u` zcOWRqotbo%tsKiS|1Wh{WO$t16zVTuQj9W@Q7KVs4t{qj!m;P3YF_y(=*VK%@^_*3 z7jqVf8ZT9bx@Y!}(rivoD{l034)x^Je+yS0JOBP2i>96USa;_2YSbFIN1US0%rpNp z6c43~mSF`2mm6(}XzrWld8{WnKHsZ|EXToa!IeM+gbu8KO2GAK6==;oNS>Mi5pquIR8k4ZOYVDU9rG z?Pbs1Eg4+B_3CFf%2@jLjr+g_cnka9k@Oa-B?l{$>TQzZMredtae{fYesX8cEimXd zqS>+Ne0M^oSY(i`(ZpYcH`-K@x4$bn%q@!<;KpK zyRm9SJ$EA=wdIOmOoV1v*l?|XD!7zpva9#_@Mf*9>EYe+RRzOeu;BK zj}aEk)rr$AAia{QKVBJ_D#c-fF(t##B`Sky5O*C#LbksY1<1D^y42TbUZViC!2mk@ z7u-wqZZSeB!&yC*>o4_U2cgiSjR~H8Mv32ghqtEq3q8J^CIq#%)c7NLD#?5De1bie z=B%wY{17`~?}|@x>q?xE81H#mR5|x$t@Nwr)j1MmQC7bEkbrhDu5j zQJwHC-JsA;P~9&NW=oj;v6$fNg8-AEgH~Q+mvixs0@{Fo{Q-CLp95ztIJuV&J`YI%?w6p={qn9b*<_&!?WRb_>MDg@Q$f@5~Ue!ADZB$U^s)gg5!- z7+$#39Exsv2{b}eAgn|p3#c2}ctmgn^SaXu1Z2y}x>YuJcq2Z8RY0G=%ob3RAQ@Y) z?UAB@h=@%R2Q0hnuKLG_XJN-B-NfjL=TD$DJR#sQY+DW=mGY)lJP=(ZY)7}hTVO1r z{NuR$px2v&T-1#?nEV)(sDyyn0ff zvXlIK&UrOWuxzl!<}AaxDBjz`IC+QO^sea1Rc=SjTr@`!7h1+_@EKQ6@(a5AcA0Ho1n=va*>US2~X2c#O zj4;<%N|R&w(<`E71X3Q7C`v`fXW3OOt_lP5^ML~=%lHV zZ@sZK8|nBf5DKb3Xx8cgF@TgOMDTz4(?S;yO{el)z6th+zRlU*MwLc@ad+sI5ECqu zLPKIXO>o|y5k@B@rV}cV8$3~25%_-x{;sW*rF`kXAR~;CVP_vW69~$f1|?Hac_TyG zgZh(~9;3btKDgs%JVZ;$C1(+da?bwQ1?I>Tq`r>4PI<+$b}(GBl^yD0)m{Q8gJO{Rbt6*I@o$<;A zag37fVE*&@ww*O?=~Rldq>|il=wJuBdwdDNrIm~Z1odbR3nSorm`d-&)8O`lzyot& zSQ<~gh4`IzjDUN{8}C%B^%jHt7|%i6)f(E3W`mplcvG)vZcqq}*5jk)0hZgA$5K2@ zlV%X)ns>Q3Q2UkWkO}s-+v}A;F7BpenPK{{l>jt{0+8B^(58}+pv$PkE!OIM;(2^% zpT(xAQ-sQsaW&?cars{#cb|P(yV5 zlE=3AHFv2BUzA+}*eK%Bv9-WEJ;LF*%>c zCFXtyEtdgQhTO>V=HT@Qd(#SfmgTWmh(r7qwsc) zD)^nWCk#Y|1)CgFo(~qfO#p@(eNZW^Z3ybDWb`%)D2DMeOwA^GOS^Y&29$$6^D{1`o1oAhs^heNZR zlQtV$6nOZ#zsBF{$V8`lIL~ zCNj0GklKEjIe`bJ7&_hw-)#+sV#ae^D`i}~2gvayKMFrpIw`qP`GVOW#~?BV!2Zk9 zPGxtR__}6NM%eRyFS)B$xpCThSr0uO!!2q7uVXbn^YZ@!iL!i+NHE|iLowjgbpqoT zW^aFz4V=aHyusHZaFw0-&1Bh&W^OR%?CD$1{m0XZ&$?eb7yV3kA%frDnQ>6rQZC+~ zPZ8?H*JRt}rt(V7gAp{6c=Or{NBbff9x#F@ImB#SmhjX94Dwo4Amc~3V?!qv?AQ=g z-lfj_tA^3e_9Yv{W|(I*+cKat5!mnmA9(J`Y=UH%-QBXBMjMF%=DP8scIUst0Vg** z*TLB*2EdPEYq}uqKBhf*)=?Dph`1c(%w;CWgP)rmb(6YFHrIFY=|tOQM^s{PBV0k7 z=#6-QD7}p)wb;cff)Q_VK|l~E&T2w|-pJ;B{0%!I|GUlrtB)~Y(1FUDLY1_6z()&? z;~#ad`uVFzHypuADN^B8W&Msj9E>Ki8+94{jQRI8iSKXZiBF}{hmK4BPV<&uNUa9$ zp5G&|?%kD6uQuT&A^sZS+UXC#+-vmez%J2rt`04>m)0E{5_7o;GpqN&*o2TDla74v zIaS}QkKxDCoBeUaHN$@*iU9i{Tj)64VS$+8>{iUO0E;AmIx@D=8gQ{J^^ zRfk^QT(cs8w+Q4OW0pzeR6CWkKRdhO@oObIO61hppqX(5P=W zM~br9^nBVc@0N2-ynXFj>VqjFE3WuIC^NZr(z4fxz`F11PxQ4eF>Z9zcf0rZOb(=% zRUn^qjz~Vi8`|IEa$wTBw~)0i2e(vd(7pm2t63#X6e$^R%w}&wQ1L(pxQ^hocT1<4 zxwi#4^wfh`SIC*vxs@DV&yla&@OqSu z2tGQ@ZniXTIvy3O^7bZ~gAwLK_dg@DRrYKLUm~(zxjKb)5YI*`lB~v=$+jX$(Bf5A zny;@2=*`LybdBe+2)o97^Y>RjK)RgEupBhWws8l+Y1!wEX!xB6$e*7OGQxQGFKo!+ zv&a1E!eNvfohjRq#A4S~aS9)2#dkl75sIE3pngpBOtDGl`@7&hHc#b+1rC6Pw*cDZ zV%!4jk3PE326F=br;GkiGb{A3GjX|l?D19rJ8jS|h#dh3L6a$#L`{j`V*)P3p0erT zMig|UgQIFdRv@iX)$7xHmKE!^H}+Zf9k)K}5fi}=?t~80b|~`bU1g`|PwFc3oc{(} zCMx*N2|+;^|IdR^XZReI-b^b~NryUprr+e-0Ai72SbhPegJJW(fVzie9Gr#j&_U;s zf<=>UE*&V9uhV>5cNHUS6y4@ezJio&S$;lD^~l%k`9!Skl<@LYmShtZK9uXPwV5Y` zIqyOjsddMc=q{j3$F}dB%BTf~z;Q5^Yh9N3*w#KwteZ&-=lHeo68h)YWcsNSc&}YH($5$y5u_be|)je5TV!n z2;2_8T6W3kntab45J6f`lJvCnFm9g@EZ8@?v1yNUtEOV2nGYp8_KX^o0oSHD{(c{P zOG1FFaI z*G`SW-1lZo(ud`-ZY;53RYoccL8$HaS9&P{(lgjrnl)r4t)@y((Q9~~NeNu|&UjFa z-FhaF>rO2NDI8|;99cj~t@?`msx*7~XNl^{0m1H;o~zqF%^x1OlS^l-Q1qdX?9A(> z%_6PxowP4jo$Q&!8>1`mdTsXZeO}eP_gXYefa9#%L@xX|Rwp zdalR>V_Iyy@*21??TwKPxR6`W7s)<{k+sg)5t!kKajOboE`WCix3-Z!^xQqi?PxzG zZP4RHT)E+e(iu za$peK%SokL^$|`;Tq{O-$;=pknvTvrBOVCbnu%QkyFv3h%{Zw`oM*d4_1$?gQKZO# z*B?En>Zbs3iLcO~7y>6%2Du2b(xzx5=_VC(4uCjE0U#s9!FIUlYV$w2PtB9xUE-h0 z`Gxgc+e`LSwL-tHzC($F8wp?O-vwgBjPG|wVipSmU1vF`J*F;5 z)@&#pXicZ^tq8D9xvh`y#|;%*$bXc2o(ib)7bH~rywJOv+FikEV{cQo}*^pu3_W+%md z)bDue5qGYAiq`upvXdx%xJwgtt=cTvE2R@?MvVX2!sjjLw!Iyn6cCL}q)4hSB%h^J z50btVyb#(HwHte<$(kf82j`kz!x>>}QT9GlOK0>hRnpckR_~+uVaNv+TrIVHnHy1#tz+Z&iXOpmqCh!=E_LMSN`f5H3}$WD)rn4P>9hy z_>aFjKh}SIi@^+-Z0op5sOx=_JK{plZKa)RZ#dzl=^a~ zX$>$DgXX*f0otm@ZL4&e-|U!e{NS58G;1Eur6GOADz7XldeTNG=&0V3ZL61{d-(LF zhm2eon2NU<%WYqfgj3A^Iq5B-nC59Q9S3w4Z>g~hJJ~f&f$W=6)SLCM3J*qRetL3_ z*?uX?dV$45;pl*}O<4&2s~-bxyG9YQ2a)8k>@5{h7Tx3y>jd>URlz6^CJ!ldG`As! z7A8QQ%h>L+rYWVD#S)t6tMRJo%`d&C4+uh6@I6>?M^(Y*M zw@Al)US`Hy{;MT`5G%HLy;O3tIF&r84^`0j1tL+I?cZSPS?FVzd8*+V;VqAn!L^$E z^jih*89(dum6@ix(QV$YP3gcZK)_*z6uI9zq;*2a9!B-w)EcSDAngxTX=&lT{J#hT z`5~;#P!11ZzSHTL2di+nk}`DU_GYg|n7s4_Fm<284puCg`Cn56vD=Jg_vIJ124~|_ z`~Ge_Vm%{wED7n@Dq|*~7Q@BQ4fEI*)~S91U`o)QUg84p&CbaY#mBh(6yH>N*XUJm zmkGAhtijnYOSHw9NAw4<#7zQxt?0UU^(R71X~FzGF?YL*e}1v5>F>6m?X@99DkUI? znTJr&hoCq`ss>jx81*@0VmZBcmMp0&MgQs6!2_}`$7-c$iKVwt?j_a zX7|}Tc!JJ-Jm6iBE?h zwoL69NTFirtL|JH`eN#+S85IrAj#QYp*E&S7#Z;zOPDQACk}QO&__bWeotA3m&5hS z6#6pxs< zt$hQ>L#dR24I@(wE$_C>z(=io5Yq=zMtTc<0xp(rIP|R1Mp5?ngZfK+d_k0~p8q_+ zUG0)w(g}$--WeCcPL@;f&ac6N=Tc2&A~Lr>Gxzl^QuAlVt(MhBUr9+>p-m1l^ZhVdW|LH(f-HB#!qdf@wQic#TaSw^K_pdDlJWu$`z*n!a*N zqM;TooBLXB!P!Ea)mSQXD}~Zh^G+&1+XIFVAtAs^^2C!-G$a~^F8aVH1y9>OdGqX@whT;5h$hFFibF zwQKgVkE7BlhACcF%~QSDk(il;Dx^&m0K>jKN9x*=>PnmPT2jyP5gWXKOX`zb0cWE0 z6ZDz-23LcNeVuYDhk6e6L#36F_;nsO{M?Y8nJda$*no2HJ+UIZoIIV|U)+nau)Imm zNQ6}|9Q`+W%R^l3HyJ9vc%h*>91_&HNAQr%co~MOlML1F<*hn@OtJc#7V2lkwlq=swL|yn34P~MD<#*V(NDt@S8#f_`}2SP)Xqu_qKB16juwr}Lqn8< zZ6Di9nQU4!1DAmI*e(s~cPZc8T?lqceEcpy`n9AAV@9XZM8C@iQ6gzEDTqdwpyaGG zdxz!W)7b0lSQqbgYD*^LV%+^~{PhQf3Q&SaLj2Y7J-3PD>L;~K6UC&NMb&vUiYI@&p#IO^jVdzS%nYlf%d;KdgjRnsIFT!kA3N#8%P>|2(FCM)yc z;sg%E{zcLf|EoNp;fGM}-nt_FW7hK(4>v~>5mGbVM?VlGHa38!0o1akZ|qrhmNSFB7=TT_;tE>nrK2hEPJLo%ZtAiWl1&E zP!WZ|qs#dZ31{PsFe8RDXHsvZhS7A}?3X>0G#^`C#-bG4{f$rHfI4dZwcAC^bB8l| znM{iRLpJ$_6+g#3B^3wTY+XNCF--uJJY@eLS0dDW>^K^4nUyaZ$6)oo z59O(&&PruF7gVQZSWJBA^%}upuq#{kc;P>`MEBL``uwiKSL9XO)5zP9RAytqjS}6c zU5zmcB&ihK?%1&J=*d1!BV~kzU)poD8tI_HY(e3uRE1BEKcg{t^=b;eP z3eC(J?!$Y~a*rvI%0Tge@#Uah=nao-ISLN`+`&lAdh|}T-2~lFER82I8GScn;1X!! zI%{05KEhlnjq;~C2NymzeR4D*>^}rW`e~4sml*`%X^rAmnvU#nEoo5@7}1%PdKGD^ z%5v-t=z^Dd_gXbC5Fi!wFH)_r3Em1KN5DzamIS{R1w9g5L6QCRc)bNqtt#+d*nBZy zL)|7I(+rX)^xA9pznAOO{Xh^=IFK0xGo=pa~^ z1eNPkVdf0c*ph+?#gSlt8lQ+Gc2%?D$XOrwl|Rxl=aHIfR-6R*jD^E9l`Xr27Ytsy zW9~0JUr4x>1uJa$&je zzdR+sfd8cP8xbX>T#v83{D2_U7QOB1?D6@$4#B(9au3QL{COhLoEqzc4G>%+{KN@YxSv-xr6mdOQS9j;7AY(UEgxERu7m^2mIT_h6+Uog!(X^~kbSKF%bZ zCDmD~GBOVzADSG0^gCu@;OBSxZSE^;21}tYl7kL=jEgs^B}xsp*VQHXqb=z{GPZ5! z;4>$KejY;6VF2~0{#Cf~WppsHH&2%qB8_sH_T9IbT&8km_dVJWibnPA=;>EK4;hJ6 z|Jd|nt2;*C9kJ)HW7XT8K$*(-wHry$+Z`M^!L!7NxtjPr0@y^5e21EG#22iXho`^r zqixLZ*l5arK<}ci<|%8N8mp7Yp8g914Xuc=?{bYArvB0Pxxg3mZ*s1+w1kUzZi6kq zuo|^JqN7`KQ^N$wXQ;!X#TpBUu@2(^8~b7A=AQywgY{pAS_>GEW}XABjv60SQiEwJnmoHeA-L~?xdT{YeQi_t{vFh{?CeLNc5gB z0xPn-(E3KsZr65QqaaD9f_2R4PD;RyrWZBC_$fVt;_BCV?w0~_kBsv3$QV@Qz1+!F z@xIQ>c0mv2SX8zK)2_r8oSl<45!;LWqFBBNWLX25m23Ol??Yysw(VlB+u95o zo!$X!FX5>obXcH*#oA@2KRNmvPKWhYF4)I@*Te?B0+i4@-6D;GjT|0Hzm+&&3T01S zy_EU2`L~G7-K~V?2b2OQ*GwfXmggAU3})Nq%%WkSZh>YIqP>8N zuo=n^Ku8atuAjX4HAEMhSY+)S&k51c`Q_EIEF1CVe@-|dR2@o^O7-A;AUM4#{S%Gl zuklH_XhP-V?;l^V7V+OdO7LXJ!~DZ(@x4)<(#EEunvdr@60zd102XMMn3&jMphm*B zxr`k@b#OMEI3>5=jjrXM+PMsDJ}b;10xN&xKU0+1$1$Rj{kb16l$^I#L`RV3wf$*p zH=n)qCS*BF>kOGZgpJjCi0aqxdm8gAE`>O(qug|}@y`@vnm!^3W1H4BBl-3-g7;U|RyL(DT!TQmX`_lZB)7=5u)h7)=S9K$zdtdRH4nw>??q1e&UXJ?JM z`4c`o0Aj- zqz`HKkzdGf#HzYP^a=D;(4E*jS>Z$E(Xn-mrG4Su?W-jaR9IQmrnCIYNU`oi@F9!{ zYN)q=ND%ftkWEQ;P2>(q8 z+}yF4LWM|EVE6uIuhiZ)O1;@gJEP+`)v$*BcOaQZ=-{@SBW_xg7Z@v&KQQik`o51sNwH_w^wHv#m9w5~k2`SwnC4gzi-}AiO??Ku1y~u9t1g zVg(D=zp`5%z3Qj;-1QdkyJ@GL$CzN$i$MEQ-m)Jn;vzd*A2Kbf(_MH2zHUgt5YmN( zELai+bR^cUub8g(*P~6o2qO$!IJxneX^$i*7!4jHb&=S;rf$uN?>{WEJoVa|@HVJu z%ifupFJ50a_DCP@l2a{iaZ0C&4yES9hE+u*M9J7qKmK1mm+;V6gK=UsC-D_f-Ib?D zX0L1y+@hMy*6I5kkrKIBe;PIM3r_U)bA;$s+cx9nS8~7s@+Vznt~%HQ$dT%L=?lsSM|l0od&o}! z7s%ATE5p2-^5Hc4f5#ONmm*pqO6(5Fz7jjN$1GdM&zkKRpCUo&@Bhj=)mSeoNY#`z zt_@~_y2OG!2Bp$`-X%fWTHm+Uq+A2F+8^mgg8XTocY3A&dj8uK2&WeCZ0Hzubm;$M z>#gIW>Z1N_B%}mEL^>RVArzF5p`}$|=nf^N1f;uBni~;NI)ovl1VkD^TDlvgJ46tM zc=tiQ@8|hF@85hlv(JvT*ZQt&t)q{0s9q5qt&R&@G4?%Gm~yVrZsr&=44w-Ve7b_X z7rIIk0=jE__o$ZYmKIx(RCt!w^y{sIO*Ggz;B?0B{co*XvJZhrcULEVIf6y9^TOqL z*ZTcmx%-}-1d`45F}!&N3gvot4|HLQeEWyUt`bMa$~&re4BG@yy5b68X%_#oA0}U3 zbR&k}<(RI?M;9&NF@CNGA7;CA#fST-c;~mdJHKEQ2D+fkT}m2OkTbmvrbI`aaVMLMnocH~X?0`M>efx2)YYh!4^{nD5=B%yOEU zVzzfz17wf=7;SVSbX!G=M4yNT>-5frM^|Mxnong4x$a;$cQ!mkgJ~uDJ*`7V)*%Q9 z6dUy5V*I&FF1x+1+F|c^c>*}l*Xw|hYWf2Y^>#m@zKpz{INI{T<4d1l=opk9I?RnL z20FQVxqrf4yNq$y?Y{c}^Q6<$Ws#`;ML z#R)9GEW7Z^@{$kFp4#(6U;>2UCCCa7Ajl2{=sdL+0t{>2bA;WTLGw$yy(=EBK+@>& z&(Hf@MIFY}j@u7$I*jZ+kRJupUVAe5*R13St7ZpJmMT{hfNL`r-!KGGt!d6pS=5x+ zI{=rGp?WA|{4}O5ycvQLm`Dx`mDz5@wP5zVa_zbm+Wbe98h!D!zO7Fa`hi!`BeUAw zm88GDFE!U~ipM}M0wj&QJsoK?5uEgQn2~SIWF2u4%o`w?BW#s#Aj~T92(ThFXtb8d0 z(R`5ZAEv(rhOKTjDstVRANxXrXwCf ziHOFZ_IO{@V*!lcsbO?Fw6+=Ce?SivO#stIs?uO13urufoujtqe9$W=MHZ(%pNoI& za=H4wa-2H;+=i1nRM^P5LHKo@=xRcbyPqV=iM=Gg0Ht4U`@NWGDUYpL?^>w|Lc~ z+BH3((XX4u5y7Urltk0dnZbD_sqIY(^Y^y|+mQaOCqCuEaHv8OWb^M%Md1d`6)ps9 z?1L*k0R(AIzgZa1U*nQD?{N>;wF$V$R|i+!wSzf88OiQ_b_v?k@ZON%M)HYBC_8i+ ztKcM}sUc*~$VJt5T3%G}ycb%9!IK5mrJwnZR(AMP1ZzV%Gq;19JfgZz|0mQEoI^2S z7Wx4kz)<`Dx}=>YY{I??a9@JYTr5DF`SZ437! zd-t#9=(O^XLT-$JyufDOp^*uy<7?OaO0F}vm6$`$G{pz7!d1R)e^gTz|It2Im zL|fuZb_-0k<(q-2`T(RX*D;+OeK{d;tucRpCR@gF6Y!~@>hbF=j>8o(u{1Sk@Qa2n z06dmb5HIvZ1PRY8Qk|GjrhMB)k$yTmMImpUY}fjn5{kk>LUW%4pB+~c{_zSrvAFe7 zA7OW8?4MCDL6}SGz;y`Ih#l}sblc!oerTjiAS9TOa$V{ZK#)Z|MzziQ_wK;Fesp-$ z_^gs3%NscY^<0Tqe^?E;T}f_Z$HH|H{=L(?z)p9A6a}H=Z|*)?CM!@%iS?>y+k@Hb zG5-SgUmIwqT8w5*RLA_t#=i81+~&5kYn54^L;@oO_Obu$1rth7>GmffFE!ZS93~z2 zyuUC*&s8;w|IlP4h$7U}tJImitGS__0Uex;+$}t zKAz}AcNPI^w2~4r_O&4w2yF>9V$((XIDGH?VvKqOmb3FT(tN?dTET8UyV%XbZsK&) zK*1+fxITZz65en4KGK@U?z%(fJ-d$~eyXK4r*UmzJy{fwgV)Sv-;ds0PO@3Zf*#TC z5w&>+Q7L;6gIn`j(&TYCI`Mx>d#&H?`u)1+mAABbpZz(qO3B^HWJh1N_EU0@myw}f z0I60f$Hcjk#QM+}opcvUmBcw0_u$KY?TIwkl#se}Z_BnZ7*mG4jgtvJ&r6L3PlOT; zLLb902B{?B{ZD5bdw!d;>)>*K>h>=_GJbgYd`T1zBQ%LmELnvYO!C@30@xRjdTl9(puXz#ciA5)XWd`i}T}o&aSCXuCeuL!% zAAJG0_4xPgI7O`|QGrPpaiXB=3E~6eRMmQWw&#W+zv|Ggw|SypY8~<$Ub!@nXEFh$ zR32>begZpG;VT#dCRAdDTKVmEJ_ggkdx39oDFb{XRUmfD;rq208SZ~mX^S3v_|Y!Y zKz;nU|1;!6#LhD=UN9t}T*k}=)5Uf*;5+@k2h)H@EZqzRW)tbak(qBNT!CP~-~{HD zQ-z%=eHcm>FvYjyyGSeDz`=6d`=>3s6=JQ8YAGKy-?RoFbV_V3<4EtN(xyBERYw8N zq|{(=j$m*$_7I$5FacFjfr_0jzZZhxL(NNx*->(g#l`&olnCwSh7dvVSy1sYg&gEy zf;R(&dUKFd0!Ut=-Tx6y8_<5TfYhLzt<1E44h5o-`VD$sRrW>f6~o4mL=Y4Zs@=^RSyW7zOoUK z_H|{~@fB>W|BoN3#5%euHO0-1#08LR#7Vp9tW+O>haZlwn%tPdAXB&fd&6xvct>Xf zU|n3Bg!iT$%nMP51#fnGxn~+=XA}ab+(%1f2k&4j0_4&LZh6(%krKu86hsR3 z(vN{xADZ$%DWq25fP^Z3o2Q-`=iKXja#7q>4?8-l2KyIt19?GJ@sfggJk;2Eu=`HF zG-q*z5a9swd)5ghse4TzjvteN&VcNm zk@r5iL2&wY1CL#5Ybj$20Gh%rvA0E#A0$yRW6a-2x%|A4dN8C~%A&5+@e;I*zik=7 znm%plcaCU<8PR!UAHS$4yCkzZTv+Px^p%|XNLp@Ry_@9?sA9zC71&ad+Z0rgHB_eE zxpbMq#3(TT^KX<0WJx|feMKe|viap9oy>Z0N8@a6CCUBM=7jy}V3}=OOd!gz{+kl} z3#kS-y8M+HE(344sEDh!@v-y9#BF;sscM1*)?uVtf9q_n_LY|k#eD)5s?~VFHsmP( z|BHkf$x zrA2vVF+M~em4)>Jn?>CUd8OB0cql$H?%j*xD4FCFAFO`c$_tSOfEd-yOkCL%_>-l8 zHoY1}paNd9Yo5Md_#HfkZOB46la7N!$OIBfw>BNQ2{jF0@WlmJ@juUQ3k7MVoR*cG zwnJyAXoXTR@?DFa$yBzMA{q0uuZmScAd2 z*DpMZ6D`hQ;P%8@+8=32MUH@|j{5n3n>8+YyE;l%fNas}%QI;kFTLu}HQ|42CBgJ5 zFkA_v^#tK$0$%k&u|rfF!N$X{>$hdM_8HX@`cgd~$l1hq^HpA{iGiZVP1tQ93q>r~ zwuU&ZIC7)aoR`$9dP3yBh6sk8S{}K$gd~C5CjXB>2~7M<)0aKUbxmnhXKp|j-d`d_ zKdMZGEl(-gy1pE)y&9D08v(E_3kpLVEI91wmgD&UqvC$t&a0N@4Egmn(>7sRSk`yI z-p-PE%pW=TY#aOp3)zp{jO!GR!s$Okgi=GP815>ZXEGk#a|)PJm9~sJg8TfZ4%S0V5{ZiYwm7W2{&?w<$xK zf@uZgVJlBN8n?0m!a*AGfAF7R>xBC}N3#$OHUw2#6xkA+xW4r4Zc5&Z-?^d(C zTq9$=a60H=0asIPooRg~w_+dxR}C;A8=K+<0#e3{n#0rAoTU8KJ@`zQ(D#23@${K2 z8Nl}zC&0cWc9!+Ds=m+>^GFfV3Y59?H)#*Po=qxr{d}~uAGO@XI%zb974&p9qi(-$ zJF5HKA)qlUWORxb9|X)~u3)NN$Mqqqfy9uPz31rftPZB7I!3x*FyE4Xfc zwPGE+hBmw^HGk9Y_?9O%VTK(VRg#!>m*5Mj4Ml_#Yr64j<9WkVHmvGImM;w<=72dV zXir`ps`)FawMAyr7I^)MveTS7>p|lvkSSIY`q%Rqe6wtufh0lP^gSMVl6`)n_^jvL zXGd|l`@G60nFOg&Lpekc-hvJ&p^BWT+&QUlecmzn@4ENvl*{RS#fNvL@Be|AOlOkVgC_wabFhWr<08}#jFLh zDnZ2z>0W`(E~Hm6nJi*{-S#d zFX2O^%D$gjYe4OS6x~IYK{l=yWU`mYbuEioIFqDT0+A?4AaIU!C^cB41Ia6- z`@hc$&mSwt2av%WUXr|7vMCoqevx=*UCD{b3MkWx?kqM?EYx$iQ z_HqiC;*2XG5e^Wcf@9Tj#w#}rd5>Ri+r2=L;`n(a+5_+DO$=1o1?oGhV#{7}RDcZ} z!OJH%qZhq+Xr*aLfr(OVMEP8&qIwjiwzP$^ocyS>&@TXqBP({_4QcM*nRzXY>H*IW zW*wM8EN}I4!ma~pzH0V2hhVkuS|yc~!l=sABu zN>ELXFpMW7jaD8_s{AJ4f~@{W30Q(P6+F4GGk5d=~*Wp_$xx%Bg%Vg+Gpn zxYT|~{UaM1%KJY-%0l@PL=IF>LA>JOKW&{*4oOWkav+HLfO(M;)uaU~<%nl%U4S>V zX%|ICN>u{Mjn%=u;DoTZ{b@5Hdt)Q7p_?G%tz8nR?YzU*+Guy17a)UQ`DIfH@1 zCYp_t@(5!msrR$d3!h@q2_3*)&bjp`sV@_SN+(lZK_F%CjLUU!B{SJ~t{vCW$6^_h zNx(l^{Rv-5l(E1^S(qFp$Ai8GgINlxIiz`AO$TO4Af=|AekswKfVOotCniL$W4CAd zah;ifX=oc%yvug`_oOustOe&7xoY}0&kB_jhEM?${@QIjRc=cIaEw9K9IPg^s7!;{ z%J;O%3L{0|Gj@~=YiPro+6xIqIqaKU`aNJ7*KV3O{+dKa_NYgJ5wzDFejbis{(hlA zGo>F+wSt^GOXPs^Se3R)B+i^%eAeOhPqkJtBTZ3Ikw@qK5WO03Wy3;y>AEZHLCzJr zp46X0YBRhv;Kl`SlK7mUry%M_DE|;vrYpGAMivf)D6(&o2_<~rh2SIxpxAu0a|8cp zPIY+yVjR*nhc35Vs-eY$xGM&*M6C6H3YqLhmHqU0D&qd^rXBvlwp z-iGS62{Nn^vBanWQqtJDZ@G@CH^*8z;jp}3P|p$JOj-gAjatcn%oEry!fnjoO=wzI zgLC8&4~(~yp<`Gx`#_5PPh1=h=47Y=Dxp|08D81tb%cGi{C5k;+qt$t4M|v|xMod%P)*X}gif=5~da>q!Um;P3j3fl>?8Q}JAN=d2tL2B$K z%m^rQIWp7eFAH1F;DUPU$9^OCnzsGW6f9n^0Q%p{ugq#%2=9EE#e4zF8-;4($ECl5 za8ntS`KZ3G9%ca>;#R3j;u;&sY z?vTo^@Ja)UkL12#QFAK;xIVs`&Pl1!>6y447}QM%nf(dJNR;3I4rNFQ!TS;X-(?PN zH6&9m_ufxyTb&2<$Pbi^A|m03{=w|NTiF2HWe2%R7&B12Yby;PH`U7T^oEp<>-GDj z>JddwhK=i367Wb}GG(06MYU_-Cqiou0k;K}5$<$wSu~~)Z>%%I@;d%z2i<`R_HabD z{@PKzkD@5Y$vW!%e6>Di8ncBH^%__a72Z!h`01+kHq4ubsRMqvl~PHLcG_U85_u$D zv=;eEFz=*UFpq?1*d)oP92!t6oFBRP$SpXeK02=?zvi`7(LVt{KjT>yn;)60N3U{8 zd7p^AMyH;e_44*@ENm}Jw;LM>s4s|}8ra>uUY+z9T!{}sE!2bl-u4fD^A;;oYN)W7 zt5>0tFL5aa-{!fR;%oO)4B{m)c4kC3PV1kH!S|Yb;xwt0_ys$%%u=9D@RrYW!By*iU6d+qFR9RuW|sjA_yRY~_AF}p+#`@e@$`|~PsZ8GBik^MmM31y3qGe!2j}!R ziM(f$tDXxU4J=q$pBR<2u1ItI!-45z6Xnh36a3?uY?xPVhSD>R1s;0gJD_;Tf`XJA ztgH<1DE~K+m&P*t(GHeJW-t-CV=`?1txj;$+4B2C=e`E~v!2e*TpSY20=LXjV}Ok1 zhcn_Oi=Qu|n(JgbN6g;q8#u9*9w5I=x{mv)5;kUwolBfmkza_b`ciG+{8G);roNu6 z<$QT4VA#`KhekL*7^;Sl%|ei44o>j*NctYgIVLa?vfnjO_+E4v6TWd&xeRZn&+Kl% zPnI}uo!o0BfU9ae(~z5P$PF(n{n&Nx6&+D3?<|z;(5*1U2{Qr4>k1VpFY2`j1+o)_ zuL`(1oJBh`U+3W@glAOEm2Z9nx0o7EO-kClg)$Qn04E_XDIi^I?fj#3NgU+wYY9?gCZaZfPg3p zhkajmZjaoy*T7jOkzS)R$>Bc@WhTZ;jHuLNa z`t5vdNrgp5FBbg4D=NYA!m=S%P}heEP1nM|>Aab@s_LUtQfjZCB+H3v3v<~Y{L}U> z{fD6{p#*A1mv!$*NGh8-wc%XS=ai4SkxV-gtLR>5#n&Sp<2!cjndpa1cK$V&kQI3Z zo_oW(Lx=gdog(>`z7DJr0H4SNuvdSxe9X4r6rrocs6W2uix!l6k@A!LykANob!Mov zFw?zwzMW0%cCyf@OV>b zYUkG`E#SYcJRd6I*K-b6zl-e zZ~QB2B%ni4m701luX2DtJbY-gR<)WSZ=xUyHHExqZZwPS<6Jg6(xx(OuCJcyc*pI0 zQi1>|&ab))@)WOpo5NY2d<;wj7%wY8o4)`gPUw^=iaFJT7?`ef373J;SKr;5W*k9N zk&{!qI(ui8L&|dR!W{*ENA9FRX_2}F7?F*&iSOW1e9$_9(o?# zhsw}D)Y_cza9%@{V<2k>51pV!+XapZ{fAL}kY>z;>w?NR-^Eg!X4?d?HwtMRKXwKC&>-tn)0Ds6cb zf2D63x{wJyZH!wcfj&^4p8rV5ntGeiCHR{+F|%Ex z7DEfV>gViCNR9oc6ZaO$U!@-6bx*>Wx3rcFq^hO2;69vt5__X!$g^*XK6)Eg;fLi^ zFb*_G4$*hncSo30kb>O36sSI$iJsgX1_9OI3J-$zKPA56(u;KY%^^x&Kk|y;I-?`| zF?_39$>gM$6>0OWB1a7Zz!~2g{1Gqqs3|hfiN{j-l2`r>Ga2tYly z`%oxgMEC`IWo&V`HMaS~WZahOyE^=}lC9*7j^g_2E(VumPL(w2uhuc`byONX;o5HZ zG7Z%2?P_}(^t;vvj|li282{pmb3=w5OrJP9lb?=^p^HL1d2f7U^bA=H=uR0r@_BB} zurmk{A0*0$aIExqCOtIU&s{mtzM3{tTyP(syPncvF%mToW<5el8(L3oXGxA z%p7IYa@z6BV38;Zw6IBGi03hge^&MpOpiMhvpxV(0*Tn{5tutR2r+oCyrg5{iY*zob)#z!Z=$tXa- zXU=J zu%a(Isk*E8=*Od9y!;TVsS@e6&t>MkPQ8`y`KtoSzBtGly5msWeP+BX0m z{*vidwrjI%UuI}SE;(g{SoG~8F(I7~aW$DnPPj+xHlX66s`3!v&nl z5b2$(OZ9gSex^-j>`{ZRM389Y>$V-E$o%nwJ&57oX!2}A#su$1cni55(kKLOU#;>Z z>DFctU%&q}^2M7h4!j@|VlM>Zs2=nIsj24kvX;ZVl5$t$ReiOv8y~X7V4qdU&eA1A z+v-){FOszkLhm2vXj_IG`OLPRPixjyVC$rt#6;xPQL*2I+cq%WZt%_W6XdmXySsi{AaBv{x#p2e!Hq$$?jgrx$ zr%$Df531nhv+Jicwz9yvnJ`l%h=r;No7CO;5uDnY(W`JEJw>SY=Rg1*F1CHj;ctL1 zKmk{+0WXa0IAT4VMwB9-~qspnDJm<^os zYLwgtdcNaIlJ~Jgw1>A!O*TveNpUp(t-HR^d^Ql7#eZH|!I?DHzCPkoH;5h`-6xbf zb9hn`Gr4yeX?lC7ySlA5>qB7?>g+Q*>nF4Bd=iaX0VC+i6%6}c+lmUlhzUi*&8&1> zRKv_(1-7i{SNQZSU+9~8`LZ}w36TYB&pkPd!Zbp^jrDmc89UVvFzYHf3xP&NdPY8U z>^yet`8-*{HR2ul?W&tk>Icvx;uJ&mCwYgxxOB)`@0q?k`yFFO;4GiYm^vCRPUYhu zh_<=p@a|NDBm5Dxl&o>D8BMsuI>VU~5hc{a}S!Ho~2S)XT#n)+mM?x^5*&!ewhKfn^S{A?yy$u~&M!Q zPF9`t-FLYL($Ll$b_2*$y8GfxSAVI z$FqFV1Mm&(BGahppL>_+=F7yR#VGrG}r*moD-l$wGi{8QK zuQU{hMUyUny`Ius5%LXW9z)k+sSxB-9BMCX#2@z!jF6l#Vp!%@by^q&?}6}3#9(?m zCWxd&cRoNs8p=#tQd~G(q(7#O$Ep7CiX}AR!`f6F8GAt=)5?GHm}d=Z$!t$6iY8qZ zNjl#R*s`bYQP~+>_eKqGU;3gt6ppKKhZgs$CTo$jbn^|woC$Z5Qk-mb?`4mWl;fBm z=hbVRsNI{7`--nzj%lrCm1X^LVqP+^vli!K;YsvILV%pUXc{PDdgL=?K=X^S)|Mx} zq=hwbeoJvf(YD|LYRz=KmcVVla3Y2+ell6u>^9R|rLkChQui^ASvi`_~(YMIx0n^LXI*-QKJ0NjjfVcM?$8uwkEH_*^psC-lj7(*_BX zm+--#kZOkocu34+h=;7&^k+nq$UGJ9c>I*-oiI}}o=SEUj*{u^0ZvKtOqU#Txav~S z`3>W@6bm(Zbl7rol^#>u`*Tm-jGe*PQ147GUQd~ob*fe}1ICWh@vHe7i(Mlz9B3Zv zR_a5Gyf36agctGLyKM!3(|~U{AnBk0f(Lo0ZYqHezT3dcQ8z+)>vh9uSucYL@L@qE z+7Da=vH&>Fr74J{4`k=Lp{c4_AwgBU{;AUfD%{BK=om0&c9j_Ab&#~zojLXKuzY6k z@xEe~Z8pt9xXvIbldZE+7Z_xc=?&Ly&tTPC-`I5I=%ukxcj80!1PtkCztoetEn06! z3G|r|7I%*3zd1w)76lYNo9bAFJxR>fZ!Q8osV+fd`|9Cyw~__`8FCd2kK40JS}3aY z%|xgIk+ikzS7vA&Ih<6ldY=-_+?!qmGeVuTZ~rwhVK0>;PL4oD#<9>+cNSSdj3n4X`R8(|z}rB-nwLy(KC z5{Z*wrtgNPc=KNjbVV@qj$I@2j$_i|>UiFle;jPy0lN&&+92c2+oZA>zI`+t`qYCW z;Ti>_HgMl}^5jhS5E0won`vt~VvaabO{M)F;W=Js2gLy>gVqhD^YwhGv!l_4^Sbb~ zT)vjW#ei(V%)jMtrs7W{cJ(@oWKHv#>^kzzF?e4@yTGM=wl{C6#gq5T4^OGJ%)9*X za^Ing*2JW`!c%sacBVv|Hg_HJb6@UG8=p=?7IBX4fnn3@oywM|ltOo0LfP#O!>Z0z z&31J6`Lng7^N2K-m$R#{3s&FiS0qa@5PQ4VtM;X>ep5Pj{cQWLw6ub>fgrYz?a>f^ z`ot&eI80Oqlg$dYgshT*bkiGWKP7E_WQ-HPc%N9QO`W3p9f>0U5>8Y^cV+Upbl}A{ zcl&>PQswAsQP-Y;e5GK%2W`vu6*_Qf_yCs!})|4A1TPYhpB|KYUQc!)g!x zxfXqX1D$L~ZSYQ9wR3r!`xEoe$XBgJ9eh|R9*$W~hP_;C6h&E>7J z(8slS{!>~gsPHY!{yZz@ygGw$a3V-ssf_IQa07nbeMuA3RA=(kSuOo2;QR5tIizQ+ zEs$#_TM!Tr-@r3`Vxvs`t;P!-RM0Zix{srf^{#3Zxe_wy_Y{=D^eP-Gb7eD zG)Flhr5W8C5uzq2G*+7l5?cJXtrwOL3ptej}TbmW%VmXVqhIM2UnVcw(>&^!8C8 zP6~Ct=`*ZRbmxa()(*Jwj>Gm-ci$Fd?ZU;_Z=@*%&d_*A zUH%P~UW92xzp2BR2xA`>zpK?yhOEYEDPE|;uz<%e(`EC{MLVSJ_4Ah%_p|4X-Gb
    4Cw;6+{O!K= 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 Xe`uV#Y7N`5Mvz)hS3j3^P6 Date: Sun, 5 May 2024 08:28:53 -0400 Subject: [PATCH 534/656] fix(sourcemap): improve sourcemap compatibility for vue2 (#16594) --- packages/vite/src/node/server/sourcemap.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/server/sourcemap.ts b/packages/vite/src/node/server/sourcemap.ts index 741ae4331ade22..684dff128e597d 100644 --- a/packages/vite/src/node/server/sourcemap.ts +++ b/packages/vite/src/node/server/sourcemap.ts @@ -4,6 +4,7 @@ import convertSourceMap from 'convert-source-map' import type { ExistingRawSourceMap, SourceMap } from 'rollup' import type { Logger } from '../logger' import { blankReplacer, createDebugger } from '../utils' +import { cleanUrl } from '../../shared/utils' const debug = createDebugger('vite:sourcemap', { onlyWhenFocused: true, @@ -53,7 +54,7 @@ export async function injectSourcesContent( // inject content from source file when sourcesContent is null sourceRootPromise ??= computeSourceRoute(map, file) const sourceRoot = await sourceRootPromise - let resolvedSourcePath = decodeURI(sourcePath) + let resolvedSourcePath = cleanUrl(decodeURI(sourcePath)) if (sourceRoot) { resolvedSourcePath = path.resolve(sourceRoot, resolvedSourcePath) } From 671155337af795156fe40a95935a8d2b27af1048 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 10:01:16 +0200 Subject: [PATCH 535/656] fix(deps): update all non-major dependencies (#16603) Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- .eslintrc.cjs | 10 + docs/package.json | 2 +- package.json | 10 +- .../create-vite/template-lit-ts/package.json | 2 +- .../create-vite/template-lit/package.json | 2 +- .../template-preact-ts/package.json | 2 +- .../create-vite/template-preact/package.json | 2 +- .../create-vite/template-qwik-ts/package.json | 4 +- .../create-vite/template-qwik/package.json | 4 +- .../template-react-ts/package.json | 2 +- .../create-vite/template-react/package.json | 2 +- .../template-solid-ts/package.json | 2 +- .../create-vite/template-solid/package.json | 2 +- .../template-svelte-ts/package.json | 4 +- .../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 | 4 +- .../create-vite/template-vue/package.json | 4 +- packages/vite/package.json | 4 +- packages/vite/src/node/plugins/wasm.ts | 1 + playground/alias/package.json | 4 +- playground/backend-integration/package.json | 2 +- .../config/packages/siblings/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/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/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/tailwind/package.json | 2 +- pnpm-lock.yaml | 422 +++++++++--------- 37 files changed, 273 insertions(+), 250 deletions(-) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index 555654b9690922..70fbf8dfca8bf7 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -150,6 +150,13 @@ module.exports = defineConfig({ 'no-console': ['error'], }, }, + { + files: ['packages/vite/src/client/**'], + excludedFiles: '**/__tests__/**', + rules: { + 'n/no-unsupported-features/node-builtins': 'off', + }, + }, { files: [ 'packages/vite/src/types/**', @@ -219,6 +226,9 @@ module.exports = defineConfig({ 'error', { version: pkg.engines.node, + // ideally we would like to allow all experimental features + // https://github.com/eslint-community/eslint-plugin-n/issues/199 + ignores: ['fetch'], }, ], }, diff --git a/docs/package.json b/docs/package.json index d4b078ee99d5c3..fd47dad9e112ac 100644 --- a/docs/package.json +++ b/docs/package.json @@ -11,6 +11,6 @@ "@shikijs/vitepress-twoslash": "^1.4.0", "@types/express": "^4.17.21", "vitepress": "1.1.4", - "vue": "^3.4.26" + "vue": "^3.4.27" } } diff --git a/package.json b/package.json index 03c76f9052012a..91b13bb5a39006 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.7", - "@types/node": "^20.12.7", + "@types/node": "^20.12.10", "@types/picomatch": "^2.3.3", "@types/semver": "^7.5.8", "@types/stylus": "^0.48.42", @@ -65,7 +65,7 @@ "eslint": "^8.57.0", "eslint-define-config": "^2.1.0", "eslint-plugin-i": "^2.29.1", - "eslint-plugin-n": "^17.4.0", + "eslint-plugin-n": "^17.5.0", "eslint-plugin-regexp": "^2.5.0", "execa": "^8.0.1", "feed": "^4.2.2", @@ -73,18 +73,18 @@ "lint-staged": "^15.2.2", "npm-run-all2": "^6.1.2", "picocolors": "^1.0.0", - "playwright-chromium": "^1.43.1", + "playwright-chromium": "^1.44.0", "prettier": "3.2.5", "rimraf": "^5.0.5", "rollup": "^4.13.0", "semver": "^7.6.0", "simple-git-hooks": "^2.11.1", "tslib": "^2.6.2", - "tsx": "^4.8.0", + "tsx": "^4.9.3", "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", - "vitest": "^1.5.3" + "vitest": "^1.6.0" }, "simple-git-hooks": { "pre-commit": "pnpm exec lint-staged --concurrent false" diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 19747ca4389ed8..742f963ad98273 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.2.2", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index ca35b84f62a94d..b34c893b53a7e1 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.3" }, "devDependencies": { - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index a6f5676f3a72bb..0e96958e90c3fc 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -14,6 +14,6 @@ "devDependencies": { "@preact/preset-vite": "^2.8.2", "typescript": "^5.2.2", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 02d85c1059f2d2..25f2bc567eb733 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@preact/preset-vite": "^2.8.2", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index b123e7cb52d779..2f39c4c67aea6b 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.2.2", - "vite": "^5.2.10" + "vite": "^5.2.11" }, "dependencies": { - "@builder.io/qwik": "^1.5.2" + "@builder.io/qwik": "^1.5.3" } } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index d0044eaf162664..3547b2bbdb883a 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.2.10" + "vite": "^5.2.11" }, "dependencies": { - "@builder.io/qwik": "^1.5.2" + "@builder.io/qwik": "^1.5.3" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 956c8302b2d151..bfb9e97af49ddd 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -23,6 +23,6 @@ "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.6", "typescript": "^5.2.2", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index f55f64c815ff7c..0b0fedd4584dfc 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -21,6 +21,6 @@ "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.6", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index c725d61ea9fa7e..e77b944d91791c 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.2.10", + "vite": "^5.2.11", "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 5a198703b74b8f..7f907499422cc5 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -12,7 +12,7 @@ "solid-js": "^1.8.17" }, "devDependencies": { - "vite": "^5.2.10", + "vite": "^5.2.11", "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 23b9fd1174ca51..d899cc01af4a6a 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -13,9 +13,9 @@ "@sveltejs/vite-plugin-svelte": "^3.1.0", "@tsconfig/svelte": "^5.0.4", "svelte": "^4.2.15", - "svelte-check": "^3.7.0", + "svelte-check": "^3.7.1", "tslib": "^2.6.2", "typescript": "^5.2.2", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index caca02634b9a7f..10ea4735548c70 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.0", "svelte": "^4.2.15", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 845f7d6ae11045..8b534d057c0b25 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.2.2", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index 24c5f0253b7357..40b1479981b3e7 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.2.10" + "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index b3704bcc5d64a8..adba9ab20a5736 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.4.26" + "vue": "^3.4.27" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", "typescript": "^5.2.2", - "vite": "^5.2.10", + "vite": "^5.2.11", "vue-tsc": "^2.0.16" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 51e983bb180ac9..3662c122d0cd59 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.4.26" + "vue": "^3.4.27" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.4", - "vite": "^5.2.10" + "vite": "^5.2.11" } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 0c616cdf31ecf2..3059e1cc24d0c3 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -129,7 +129,7 @@ "lightningcss": "^1.24.1", "magic-string": "^0.30.10", "micromatch": "^4.0.5", - "mlly": "^1.6.1", + "mlly": "^1.7.0", "mrmime": "^2.0.0", "open": "^8.4.2", "parse5": "^7.1.2", @@ -144,7 +144,7 @@ "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-license": "^3.3.1", - "sass": "^1.76.0", + "sass": "^1.77.0", "sirv": "^2.0.4", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", diff --git a/packages/vite/src/node/plugins/wasm.ts b/packages/vite/src/node/plugins/wasm.ts index f5adab8e1b43d5..407ea5f0009a9e 100644 --- a/packages/vite/src/node/plugins/wasm.ts +++ b/packages/vite/src/node/plugins/wasm.ts @@ -29,6 +29,7 @@ const wasmHelper = async (opts = {}, url: string) => { // correct MIME type for .wasm files, which unfortunately doesn't work for // a lot of static file servers, so we just work around it by getting the // raw buffer. + // eslint-disable-next-line n/no-unsupported-features/node-builtins -- this function runs in browsers const response = await fetch(url) const contentType = response.headers.get('Content-Type') || '' if ( diff --git a/playground/alias/package.json b/playground/alias/package.json index 847af2a4fe8938..692d2a3af3ea44 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.4.26", - "@vue/shared": "^3.4.26" + "vue": "^3.4.27", + "@vue/shared": "^3.4.27" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index 57c24fba596bb2..3137ece0e420bd 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.76.0", + "sass": "^1.77.0", "tailwindcss": "^3.4.3", "fast-glob": "^3.3.2" } diff --git a/playground/config/packages/siblings/package.json b/playground/config/packages/siblings/package.json index 049019bd1abfd7..22d2520baee7e0 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.0", + "@types/lodash": "^4.17.1", "lodash": "^4.17.21" } } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index ea2339b12694ba..77b23776bfaa06 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.10", - "sass": "^1.76.0", + "sass": "^1.77.0", "stylus": "^0.63.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index 3ac1f1dce0851c..473ded9c96be81 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.0.1", - "sass": "^1.76.0", + "sass": "^1.77.0", "stylus": "^0.63.0", "sugarss": "^4.0.1" }, diff --git a/playground/extensions/package.json b/playground/extensions/package.json index 389d7687c2732e..68cb75360d3840 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.26" + "vue": "^3.4.27" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index 9f7d742dae0653..bae6b993a48c61 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.4.26" + "vue": "^3.4.27" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index a066f80d568aba..7c56ad60573d2e 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.4.26" + "vue": "^3.4.27" } } diff --git a/playground/external/package.json b/playground/external/package.json index cb20a8e129fb65..934e0dc6ca0202 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.4.26", + "vue": "^3.4.27", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index 6c25d5ee9d6004..71967fe0f001e3 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.19.2", - "vue": "^3.4.26" + "vue": "^3.4.27" } } diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index 56f30add9fc906..ec2a4ebbdfb1f6 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.76.0" + "sass": "^1.77.0" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index 68a8f9a0f53ec6..60d1d499ac3268 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.26" + "vue": "^3.4.27" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index 1a9100c392d5b2..3585183680f02c 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.4.26", + "vue": "^3.4.27", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 94f3ee3059f0c7..e2ee4ff104c84f 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -43,7 +43,7 @@ "react-dom": "^18.3.1", "@vitejs/test-resolve-linked": "workspace:0.0.0", "url": "^0.11.3", - "vue": "^3.4.26", + "vue": "^3.4.27", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index 6bc33086e39d31..daf8fff100efdb 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,7 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.19", "tailwindcss": "^3.4.3", - "vue": "^3.4.26", + "vue": "^3.4.27", "vue-router": "^4.3.2" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 52c8968536161c..e3cb39f1bbff0d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,8 +61,8 @@ importers: specifier: ^4.0.7 version: 4.0.7 '@types/node': - specifier: ^20.12.7 - version: 20.12.7 + specifier: ^20.12.10 + version: 20.12.10 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -97,8 +97,8 @@ importers: specifier: ^2.29.1 version: 2.29.1(@typescript-eslint/parser@7.8.0)(eslint@8.57.0) eslint-plugin-n: - specifier: ^17.4.0 - version: 17.4.0(eslint@8.57.0) + specifier: ^17.5.0 + version: 17.5.0(eslint@8.57.0) eslint-plugin-regexp: specifier: ^2.5.0 version: 2.5.0(eslint@8.57.0) @@ -121,8 +121,8 @@ importers: specifier: ^1.0.0 version: 1.0.0 playwright-chromium: - specifier: ^1.43.1 - version: 1.43.1 + specifier: ^1.44.0 + version: 1.44.0 prettier: specifier: 3.2.5 version: 3.2.5 @@ -142,8 +142,8 @@ importers: specifier: ^2.6.2 version: 2.6.2 tsx: - specifier: ^4.8.0 - version: 4.8.0 + specifier: ^4.9.3 + version: 4.9.3 typescript: specifier: ^5.2.2 version: 5.2.2 @@ -154,8 +154,8 @@ importers: specifier: workspace:* version: link:packages/vite vitest: - specifier: ^1.5.3 - version: 1.5.3(@types/node@20.12.7) + specifier: ^1.6.0 + version: 1.6.0(@types/node@20.12.10) docs: devDependencies: @@ -169,8 +169,8 @@ importers: specifier: 1.1.4 version: 1.1.4(typescript@5.2.2) vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) packages/create-vite: devDependencies: @@ -358,8 +358,8 @@ importers: specifier: ^4.0.5 version: 4.0.5 mlly: - specifier: ^1.6.1 - version: 1.6.1 + specifier: ^1.7.0 + version: 1.7.0 mrmime: specifier: ^2.0.0 version: 2.0.0 @@ -403,8 +403,8 @@ importers: specifier: ^3.3.1 version: 3.3.1(rollup@4.13.0) sass: - specifier: ^1.76.0 - version: 1.76.0 + specifier: ^1.77.0 + version: 1.77.0 sirv: specifier: ^2.0.4 version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) @@ -493,14 +493,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.4.26 - version: 3.4.26 + specifier: ^3.4.27 + version: 3.4.27 aliased-module: specifier: file:./dir/module version: file:playground/alias/dir/module vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -518,8 +518,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.76.0 - version: 1.76.0 + specifier: ^1.77.0 + version: 1.77.0 tailwindcss: specifier: ^3.4.3 version: 3.4.3(ts-node@10.9.2) @@ -545,8 +545,8 @@ importers: playground/config/packages/siblings: devDependencies: '@types/lodash': - specifier: ^4.17.0 - version: 4.17.0 + specifier: ^4.17.1 + version: 4.17.1 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -580,8 +580,8 @@ importers: specifier: ^6.0.1 version: 6.0.1(postcss@8.4.38) sass: - specifier: ^1.76.0 - version: 1.76.0 + specifier: ^1.77.0 + version: 1.77.0 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -619,8 +619,8 @@ importers: specifier: ^0.30.10 version: 0.30.10 sass: - specifier: ^1.76.0 - version: 1.76.0 + specifier: ^1.77.0 + version: 1.77.0 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -683,8 +683,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) playground/external: dependencies: @@ -705,8 +705,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) vue32: specifier: npm:vue@~3.2.0 version: /vue@3.2.0 @@ -720,8 +720,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) playground/external/dep-that-requires: dependencies: @@ -732,8 +732,8 @@ importers: specifier: npm:slash@^5.1.0 version: /slash@5.1.0 vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) playground/fs-serve: {} @@ -781,8 +781,8 @@ importers: specifier: ^4.19.2 version: 4.19.2 vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) playground/json/json-module: {} @@ -817,8 +817,8 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.76.0 - version: 1.76.0 + specifier: ^1.77.0 + version: 1.77.0 playground/nested-deps: dependencies: @@ -880,8 +880,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) playground/optimize-deps: dependencies: @@ -991,11 +991,11 @@ importers: specifier: ^0.11.3 version: 0.11.3 vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.26) + version: 4.1.0(vue@3.4.27) playground/optimize-deps-no-discovery: dependencies: @@ -1003,11 +1003,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.26) + version: 4.1.0(vue@3.4.27) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1537,15 +1537,15 @@ importers: specifier: ^3.4.3 version: 3.4.3(ts-node@10.9.2) vue: - specifier: ^3.4.26 - version: 3.4.26(typescript@5.2.2) + specifier: ^3.4.27 + version: 3.4.27(typescript@5.2.2) vue-router: specifier: ^4.3.2 - version: 4.3.2(vue@3.4.26) + version: 4.3.2(vue@3.4.27) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.7)(typescript@5.2.2) + version: 10.9.2(@types/node@20.12.10)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -4379,14 +4379,14 @@ packages: resolution: {integrity: sha512-M4lZd93tlZiFtfVT8ZnIhfGfTv5MwRKOtWcUT37RAsLTTU+DhMXHeYlj9k+7y3KgtNchDFGjcZvSw57L10FkZw==} dependencies: '@shikijs/twoslash': 1.4.0(typescript@5.2.2) - floating-vue: 5.2.2(vue@3.4.26) + floating-vue: 5.2.2(vue@3.4.27) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 shiki: 1.4.0 twoslash: 0.2.5(typescript@5.2.2) twoslash-vue: 0.2.5(typescript@5.2.2) - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -4446,7 +4446,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/braces@3.0.1: @@ -4456,7 +4456,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/convert-source-map@2.0.3: @@ -4466,7 +4466,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/debug@4.1.12: @@ -4493,13 +4493,13 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -4518,7 +4518,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/hast@3.0.4: @@ -4538,7 +4538,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/less@3.0.6: @@ -4549,8 +4549,8 @@ packages: resolution: {integrity: sha512-pTjcqY9E4nOI55Wgpz7eiI8+LzdYnw3qxXCfHyBDdPbYvbyLgWLJGh8EdPvqawwMK1Uo1794AUkkR38Fr0g+2g==} dev: true - /@types/lodash@4.17.0: - resolution: {integrity: sha512-t7dhREVv6dbNj0q17X12j7yDG4bD/DHYX7o5/DbDxobP0HnGPgpRz2Ej77aL7TZT3DSw13fqUTj8J4mMnqa7WA==} + /@types/lodash@4.17.1: + resolution: {integrity: sha512-X+2qazGS3jxLAIz5JDXDzglAF3KpijdhFxlf/V1+hEsOUc+HnWi81L/uv/EvGuV90WY+7mPGFCUDGfQC3Gj95Q==} dev: true /@types/markdown-it@14.0.1: @@ -4598,8 +4598,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.12.7: - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + /@types/node@20.12.10: + resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} dependencies: undici-types: 5.26.5 @@ -4642,7 +4642,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/serve-static@1.15.5: @@ -4650,13 +4650,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@types/unist@3.0.2: @@ -4670,7 +4670,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 dev: true /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.2.2): @@ -4817,7 +4817,7 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitejs/plugin-vue@5.0.4(vite@packages+vite)(vue@3.4.26): + /@vitejs/plugin-vue@5.0.4(vite@packages+vite)(vue@3.4.27): resolution: {integrity: sha512-WS3hevEszI6CEVEx28F8RjTX97k3KsrcY6kvTg7+Whm5y3oYvcqzVeGCU3hxSAn4uY2CLCkeokkGKpoctccilQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: @@ -4825,7 +4825,7 @@ packages: vue: ^3.2.25 dependencies: vite: link:packages/vite - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: true /@vitejs/release-scripts@1.3.1: @@ -4839,38 +4839,38 @@ packages: semver: 7.6.0 dev: true - /@vitest/expect@1.5.3: - resolution: {integrity: sha512-y+waPz31pOFr3rD7vWTbwiLe5+MgsMm40jTZbQE8p8/qXyBX3CQsIXRx9XK12IbY7q/t5a5aM/ckt33b4PxK2g==} + /@vitest/expect@1.6.0: + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} dependencies: - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 chai: 4.3.10 dev: true - /@vitest/runner@1.5.3: - resolution: {integrity: sha512-7PlfuReN8692IKQIdCxwir1AOaP5THfNkp0Uc4BKr2na+9lALNit7ub9l3/R7MP8aV61+mHKRGiqEKRIwu6iiQ==} + /@vitest/runner@1.6.0: + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} dependencies: - '@vitest/utils': 1.5.3 + '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.5.3: - resolution: {integrity: sha512-K3mvIsjyKYBhNIDujMD2gfQEzddLe51nNOAf45yKRt/QFJcUIeTQd2trRvv6M6oCBHNVnZwFWbQ4yj96ibiDsA==} + /@vitest/snapshot@1.6.0: + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.5.3: - resolution: {integrity: sha512-Llj7Jgs6lbnL55WoshJUUacdJfjU2honvGcAJBxhra5TPEzTJH8ZuhI3p/JwqqfnTr4PmP7nDmOXP53MS7GJlg==} + /@vitest/spy@1.6.0: + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} dependencies: tinyspy: 2.2.0 dev: true - /@vitest/utils@1.5.3: - resolution: {integrity: sha512-rE9DTN1BRhzkzqNQO+kw8ZgfeEBCLXiHJwetk668shmNBpSagQxneT5eSqEBLP+cqSiAeecvQmbpFfdMyLcIQA==} + /@vitest/utils@1.6.0: + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -4900,21 +4900,21 @@ packages: source-map: 0.6.1 dev: true - /@vue/compiler-core@3.4.24: - resolution: {integrity: sha512-vbW/tgbwJYj62N/Ww99x0zhFTkZDTcGh3uwJEuadZ/nF9/xuFMC4693P9r+3sxGXISABpDKvffY5ApH9pmdd1A==} + /@vue/compiler-core@3.4.26: + resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} dependencies: '@babel/parser': 7.24.5 - '@vue/shared': 3.4.24 + '@vue/shared': 3.4.26 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 dev: true - /@vue/compiler-core@3.4.26: - resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} + /@vue/compiler-core@3.4.27: + resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} dependencies: '@babel/parser': 7.24.5 - '@vue/shared': 3.4.26 + '@vue/shared': 3.4.27 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 @@ -4926,37 +4926,37 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/compiler-dom@3.4.24: - resolution: {integrity: sha512-4XgABML/4cNndVsQndG6BbGN7+EoisDwi3oXNovqL/4jdNhwvP8/rfRMTb6FxkxIxUUtg6AI1/qZvwfSjxJiWA==} - dependencies: - '@vue/compiler-core': 3.4.24 - '@vue/shared': 3.4.24 - dev: true - /@vue/compiler-dom@3.4.26: resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} dependencies: '@vue/compiler-core': 3.4.26 '@vue/shared': 3.4.26 + dev: true + + /@vue/compiler-dom@3.4.27: + resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} + dependencies: + '@vue/compiler-core': 3.4.27 + '@vue/shared': 3.4.27 - /@vue/compiler-sfc@3.4.26: - resolution: {integrity: sha512-It1dp+FAOCgluYSVYlDn5DtZBxk1NCiJJfu2mlQqa/b+k8GL6NG/3/zRbJnHdhV2VhxFghaDq5L4K+1dakW6cw==} + /@vue/compiler-sfc@3.4.27: + resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} dependencies: '@babel/parser': 7.24.5 - '@vue/compiler-core': 3.4.26 - '@vue/compiler-dom': 3.4.26 - '@vue/compiler-ssr': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/compiler-core': 3.4.27 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - /@vue/compiler-ssr@3.4.26: - resolution: {integrity: sha512-FNwLfk7LlEPRY/g+nw2VqiDKcnDTVdCfBREekF8X74cPLiWHUX6oldktf/Vx28yh4STNy7t+/yuLoMBBF7YDiQ==} + /@vue/compiler-ssr@3.4.27: + resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} dependencies: - '@vue/compiler-dom': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.27 + '@vue/shared': 3.4.27 /@vue/devtools-api@6.5.0: resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} @@ -4966,15 +4966,15 @@ packages: resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} dev: false - /@vue/devtools-api@7.0.27(vue@3.4.26): + /@vue/devtools-api@7.0.27(vue@3.4.27): resolution: {integrity: sha512-BFCFCusSDcw2UcOFD/QeK7OxD1x2C/m+uAN30Q7jLKECSW53hmz0urzJmX834GuWDZX/hIxkyUKnLLfEIP1c/w==} dependencies: - '@vue/devtools-kit': 7.0.27(vue@3.4.26) + '@vue/devtools-kit': 7.0.27(vue@3.4.27) transitivePeerDependencies: - vue dev: true - /@vue/devtools-kit@7.0.27(vue@3.4.26): + /@vue/devtools-kit@7.0.27(vue@3.4.27): resolution: {integrity: sha512-/A5xM38pPCFX5Yhl/lRFAzjyK6VNsH670nww2WbjFKWqlu3I+lMxWKzQkCW6A1V8bduITgl2kHORfg2gTw6QaA==} peerDependencies: vue: ^3.0.0 @@ -4984,7 +4984,7 @@ packages: mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: true /@vue/devtools-shared@7.0.27: @@ -5003,8 +5003,8 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.24 - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.26 + '@vue/shared': 3.4.27 computeds: 0.0.1 minimatch: 9.0.4 muggle-string: 0.3.1 @@ -5019,10 +5019,10 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/reactivity@3.4.26: - resolution: {integrity: sha512-E/ynEAu/pw0yotJeLdvZEsp5Olmxt+9/WqzvKff0gE67tw73gmbx6tRkiagE/eH0UCubzSlGRebCbidB1CpqZQ==} + /@vue/reactivity@3.4.27: + resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} dependencies: - '@vue/shared': 3.4.26 + '@vue/shared': 3.4.27 /@vue/runtime-core@3.2.0: resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} @@ -5031,11 +5031,11 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/runtime-core@3.4.26: - resolution: {integrity: sha512-AFJDLpZvhT4ujUgZSIL9pdNcO23qVFh7zWCsNdGQBw8ecLNxOOnPcK9wTTIYCmBJnuPHpukOwo62a2PPivihqw==} + /@vue/runtime-core@3.4.27: + resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} dependencies: - '@vue/reactivity': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/reactivity': 3.4.27 + '@vue/shared': 3.4.27 /@vue/runtime-dom@3.2.0: resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} @@ -5045,46 +5045,46 @@ packages: csstype: 2.6.21 dev: true - /@vue/runtime-dom@3.4.26: - resolution: {integrity: sha512-UftYA2hUXR2UOZD/Fc3IndZuCOOJgFxJsWOxDkhfVcwLbsfh2CdXE2tG4jWxBZuDAs9J9PzRTUFt1PgydEtItw==} + /@vue/runtime-dom@3.4.27: + resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} dependencies: - '@vue/runtime-core': 3.4.26 - '@vue/shared': 3.4.26 + '@vue/runtime-core': 3.4.27 + '@vue/shared': 3.4.27 csstype: 3.1.3 - /@vue/server-renderer@3.4.26(vue@3.4.26): - resolution: {integrity: sha512-xoGAqSjYDPGAeRWxeoYwqJFD/gw7mpgzOvSxEmjWaFO2rE6qpbD1PC172YRpvKhrihkyHJkNDADFXTfCyVGhKw==} + /@vue/server-renderer@3.4.27(vue@3.4.27): + resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} peerDependencies: - vue: 3.4.26 + vue: 3.4.27 dependencies: - '@vue/compiler-ssr': 3.4.26 - '@vue/shared': 3.4.26 - vue: 3.4.26(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.27 + '@vue/shared': 3.4.27 + vue: 3.4.27(typescript@5.2.2) /@vue/shared@3.2.0: resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} dev: true - /@vue/shared@3.4.24: - resolution: {integrity: sha512-BW4tajrJBM9AGAknnyEw5tO2xTmnqgup0VTnDAMcxYmqOX0RG0b9aSUGAbEKolD91tdwpA6oCwbltoJoNzpItw==} - dev: true - /@vue/shared@3.4.26: resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} + dev: true + + /@vue/shared@3.4.27: + resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - /@vueuse/core@10.9.0(vue@3.4.26): + /@vueuse/core@10.9.0(vue@3.4.27): resolution: {integrity: sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==} dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.9.0 - '@vueuse/shared': 10.9.0(vue@3.4.26) - vue-demi: 0.14.7(vue@3.4.26) + '@vueuse/shared': 10.9.0(vue@3.4.27) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue dev: true - /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.26): + /@vueuse/integrations@10.9.0(focus-trap@7.5.4)(vue@3.4.27): resolution: {integrity: sha512-acK+A01AYdWSvL4BZmCoJAcyHJ6EqhmkQEXbQLwev1MY7NBnS+hcEMx/BzVoR9zKI+UqEPMD9u6PsyAuiTRT4Q==} peerDependencies: async-validator: '*' @@ -5125,10 +5125,10 @@ packages: universal-cookie: optional: true dependencies: - '@vueuse/core': 10.9.0(vue@3.4.26) - '@vueuse/shared': 10.9.0(vue@3.4.26) + '@vueuse/core': 10.9.0(vue@3.4.27) + '@vueuse/shared': 10.9.0(vue@3.4.27) focus-trap: 7.5.4 - vue-demi: 0.14.7(vue@3.4.26) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5138,10 +5138,10 @@ packages: resolution: {integrity: sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==} dev: true - /@vueuse/shared@10.9.0(vue@3.4.26): + /@vueuse/shared@10.9.0(vue@3.4.27): resolution: {integrity: sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==} dependencies: - vue-demi: 0.14.7(vue@3.4.26) + vue-demi: 0.14.7(vue@3.4.27) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -5741,6 +5741,10 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + /confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + dev: true + /connect@3.7.0: resolution: {integrity: sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==} engines: {node: '>= 0.10.0'} @@ -6477,8 +6481,8 @@ packages: - supports-color dev: true - /eslint-plugin-n@17.4.0(eslint@8.57.0): - resolution: {integrity: sha512-RtgGgNpYxECwE9dFr+D66RtbN0B8r/fY6ZF8EVsmK2YnZxE8/n9LNQhgnkL9z37UFZjYVmvMuC32qu7fQBsLVQ==} + /eslint-plugin-n@17.5.0(eslint@8.57.0): + resolution: {integrity: sha512-r7i+NY+RVXQi4Q7sKCG5H4464saJWddDk7QFQjtj+wU//sf15QCq3M8LwZU2yiE45yhVUT9DXW+8AbXRQKJLPQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -6487,7 +6491,7 @@ packages: enhanced-resolve: 5.16.0 eslint: 8.57.0 eslint-plugin-es-x: 7.5.0(eslint@8.57.0) - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.3 globals: 15.1.0 ignore: 5.3.1 minimatch: 9.0.4 @@ -6816,7 +6820,7 @@ packages: resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} dev: true - /floating-vue@5.2.2(vue@3.4.26): + /floating-vue@5.2.2(vue@3.4.27): resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} peerDependencies: '@nuxt/kit': ^3.2.0 @@ -6826,8 +6830,8 @@ packages: optional: true dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.26(typescript@5.2.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.26) + vue: 3.4.27(typescript@5.2.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.27) dev: true /focus-trap@7.5.4: @@ -7742,7 +7746,7 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.6.1 + mlly: 1.7.0 pkg-types: 1.0.3 dev: true @@ -8363,7 +8367,7 @@ packages: fs-extra: 11.2.0 globby: 13.2.2 jiti: 1.20.0 - mlly: 1.6.1 + mlly: 1.7.0 mri: 1.2.0 pathe: 1.1.2 typescript: 5.2.2 @@ -8378,12 +8382,12 @@ packages: ufo: 1.5.3 dev: true - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + /mlly@1.7.0: + resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 ufo: 1.5.3 dev: true @@ -8820,21 +8824,29 @@ packages: resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} dependencies: jsonc-parser: 3.2.0 - mlly: 1.6.1 + mlly: 1.7.0 pathe: 1.1.2 dev: true - /playwright-chromium@1.43.1: - resolution: {integrity: sha512-HL/11hcpIYVt/Rw7wTf5xwm+W0R76JGDDjRxGtBkgMuUqi0Q4UYmx+F/QxW/Z+aApSbDtHd3naRFcL/Jt7Aidg==} + /pkg-types@1.1.0: + resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + dependencies: + confbox: 0.1.7 + mlly: 1.7.0 + pathe: 1.1.2 + dev: true + + /playwright-chromium@1.44.0: + resolution: {integrity: sha512-eae4op9jfzyybPfBOcS2o/EtrIT00OCBTLIA9EJz7sOfHwtUFY+H1XRTRdFD/j93tSS80uY8gyts+lX0zHYiHg==} engines: {node: '>=16'} hasBin: true requiresBuild: true dependencies: - playwright-core: 1.43.1 + playwright-core: 1.44.0 dev: true - /playwright-core@1.43.1: - resolution: {integrity: sha512-EI36Mto2Vrx6VF7rm708qSnesVQKbxEWvPrfA1IPY6HgczBplDx7ENtx+K2n4kJ41sLLkuGfmb0ZLSSXlDhqPg==} + /playwright-core@1.44.0: + resolution: {integrity: sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==} engines: {node: '>=16'} hasBin: true dev: true @@ -8894,7 +8906,7 @@ packages: dependencies: lilconfig: 3.0.0 postcss: 8.4.38 - ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.12.10)(typescript@5.2.2) yaml: 2.3.4 /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): @@ -9272,7 +9284,7 @@ packages: resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 dev: true /regenerate-unicode-properties@10.1.0: @@ -9300,7 +9312,7 @@ packages: resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 refa: 0.12.1 dev: true @@ -9490,8 +9502,8 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass@1.76.0: - resolution: {integrity: sha512-nc3LeqvF2FNW5xGF1zxZifdW3ffIz5aBb7I7tSvOoNu7z1RQ6pFt9MBuiPtjgaI62YWrM/txjWlOCFiGtf2xpw==} + /sass@1.77.0: + resolution: {integrity: sha512-eGj4HNfXqBWtSnvItNkn7B6icqH14i3CiCGbzMKs3BAPTq62pp9NBYsBgyN4cA+qssqo9r26lW4JSvlaUUWbgw==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -9514,7 +9526,7 @@ packages: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 dev: true @@ -10077,7 +10089,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.12.10)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -10096,7 +10108,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.12.7 + '@types/node': 20.12.10 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -10124,8 +10136,8 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsx@4.8.0: - resolution: {integrity: sha512-lp2y1/L03n7HUMujPgJQ/BwLDT4QEPPY5gBsDohsx54o0d0FqC8uL7QeQwv29ZVrv6S8rH8nzQ5cPn5ry4KBZA==} + /tsx@4.9.3: + resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -10410,8 +10422,8 @@ packages: vfile-message: 4.0.2 dev: true - /vite-node@1.5.3: - resolution: {integrity: sha512-axFo00qiCpU/JLd8N1gu9iEYL3xTbMbMrbe5nDp9GL0nb6gurIdZLkkFogZXWnE8Oyy5kfSLwNVIcVsnhE7lgQ==} + /vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -10441,16 +10453,16 @@ packages: '@shikijs/core': 1.3.0 '@shikijs/transformers': 1.3.0 '@types/markdown-it': 14.0.1 - '@vitejs/plugin-vue': 5.0.4(vite@packages+vite)(vue@3.4.26) - '@vue/devtools-api': 7.0.27(vue@3.4.26) - '@vueuse/core': 10.9.0(vue@3.4.26) - '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.26) + '@vitejs/plugin-vue': 5.0.4(vite@packages+vite)(vue@3.4.27) + '@vue/devtools-api': 7.0.27(vue@3.4.27) + '@vueuse/core': 10.9.0(vue@3.4.27) + '@vueuse/integrations': 10.9.0(focus-trap@7.5.4)(vue@3.4.27) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 shiki: 1.3.0 vite: link:packages/vite - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -10472,15 +10484,15 @@ packages: - universal-cookie dev: true - /vitest@1.5.3(@types/node@20.12.7): - resolution: {integrity: sha512-2oM7nLXylw3mQlW6GXnRriw+7YvZFk/YNV8AxIC3Z3MfFbuziLGWP9GPxxu/7nRlXhqyxBikpamr+lEEj1sUEw==} + /vitest@1.6.0(@types/node@20.12.10): + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.5.3 - '@vitest/ui': 1.5.3 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -10497,12 +10509,12 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.7 - '@vitest/expect': 1.5.3 - '@vitest/runner': 1.5.3 - '@vitest/snapshot': 1.5.3 - '@vitest/spy': 1.5.3 - '@vitest/utils': 1.5.3 + '@types/node': 20.12.10 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 acorn-walk: 8.3.2(acorn@8.11.3) chai: 4.3.10 debug: 4.3.4 @@ -10516,7 +10528,7 @@ packages: tinybench: 2.5.1 tinypool: 0.8.4 vite: link:packages/vite - vite-node: 1.5.3 + vite-node: 1.6.0 why-is-node-running: 2.2.2 transitivePeerDependencies: - acorn @@ -10528,7 +10540,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /vue-demi@0.14.7(vue@3.4.26): + /vue-demi@0.14.7(vue@3.4.27): resolution: {integrity: sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==} engines: {node: '>=12'} hasBin: true @@ -10540,24 +10552,24 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: true - /vue-resize@2.0.0-alpha.1(vue@3.4.26): + /vue-resize@2.0.0-alpha.1(vue@3.4.27): resolution: {integrity: sha512-7+iqOueLU7uc9NrMfrzbG8hwMqchfVfSzpVlCMeJQe4pyibqyoifDNbKTZvwxZKDvGkB+PdFeKvnGZMoEb8esg==} peerDependencies: vue: ^3.0.0 dependencies: - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: true - /vue-router@4.3.2(vue@3.4.26): + /vue-router@4.3.2(vue@3.4.27): resolution: {integrity: sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false /vue-template-compiler@2.7.16: @@ -10575,28 +10587,28 @@ packages: '@vue/shared': 3.2.0 dev: true - /vue@3.4.26(typescript@5.2.2): - resolution: {integrity: sha512-bUIq/p+VB+0xrJubaemrfhk1/FiW9iX+pDV+62I/XJ6EkspAO9/DXEjbDFoe8pIfOZBqfk45i9BMc41ptP/uRg==} + /vue@3.4.27(typescript@5.2.2): + resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@vue/compiler-dom': 3.4.26 - '@vue/compiler-sfc': 3.4.26 - '@vue/runtime-dom': 3.4.26 - '@vue/server-renderer': 3.4.26(vue@3.4.26) - '@vue/shared': 3.4.26 + '@vue/compiler-dom': 3.4.27 + '@vue/compiler-sfc': 3.4.27 + '@vue/runtime-dom': 3.4.27 + '@vue/server-renderer': 3.4.27(vue@3.4.27) + '@vue/shared': 3.4.27 typescript: 5.2.2 - /vuex@4.1.0(vue@3.4.26): + /vuex@4.1.0(vue@3.4.27): resolution: {integrity: sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==} peerDependencies: vue: ^3.2.0 dependencies: '@vue/devtools-api': 6.5.0 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) dev: false /web-streams-polyfill@3.2.1: @@ -10808,7 +10820,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false @@ -10820,7 +10832,7 @@ packages: dependencies: slash3: /slash@3.0.0 slash5: /slash@5.1.0 - vue: 3.4.26(typescript@5.2.2) + vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - typescript dev: false From c2a4ce5a7755a6b6b24b50c9569cf8f1b6c5b2c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 7 May 2024 17:43:33 +0900 Subject: [PATCH 536/656] test: don't skip unicode related tests anymore (#16339) --- playground/hasWindowsUnicodeFsBug.js | 10 ------ playground/hmr-ssr/__tests__/hmr-ssr.spec.ts | 2 +- playground/hmr/__tests__/hmr.spec.ts | 34 +++++++++----------- playground/html/__tests__/html.spec.ts | 3 +- playground/html/vite.config.js | 13 +++----- playground/vitestGlobalSetup.ts | 4 --- 6 files changed, 21 insertions(+), 45 deletions(-) delete mode 100644 playground/hasWindowsUnicodeFsBug.js diff --git a/playground/hasWindowsUnicodeFsBug.js b/playground/hasWindowsUnicodeFsBug.js deleted file mode 100644 index c46dd2a5545392..00000000000000 --- a/playground/hasWindowsUnicodeFsBug.js +++ /dev/null @@ -1,10 +0,0 @@ -import os from 'node:os' - -const isWindows = os.platform() === 'win32' -const nodeVersionArray = process.versions.node.split('.') -// ignore some files due to https://github.com/nodejs/node/issues/48673 -// node <=21.0.0 and ^20.4.0 has the bug -export const hasWindowsUnicodeFsBug = - isWindows && - (+nodeVersionArray[0] > 20 || - (+nodeVersionArray[0] === 20 && +nodeVersionArray[1] >= 4)) diff --git a/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts b/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts index f28b620f565131..6a2b3763b3ffec 100644 --- a/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts +++ b/playground/hmr-ssr/__tests__/hmr-ssr.spec.ts @@ -253,7 +253,7 @@ describe('hmr works correctly', () => { }) // TODO - // test.skipIf(hasWindowsUnicodeFsBug)('full-reload encodeURI path', async () => { + // test('full-reload encodeURI path', async () => { // await page.goto( // viteTestUrl + '/unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', // ) diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index 27590bd6022bd0..eb7b66d3c0d783 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -1,6 +1,5 @@ import { beforeAll, describe, expect, it, test } from 'vitest' import type { Page } from 'playwright-chromium' -import { hasWindowsUnicodeFsBug } from '../../hasWindowsUnicodeFsBug' import { addFile, browser, @@ -253,24 +252,21 @@ if (!isBuild) { await untilUpdated(() => el.textContent(), '3') }) - test.skipIf(hasWindowsUnicodeFsBug)( - 'full-reload encodeURI path', - async () => { - await page.goto( - viteTestUrl + '/unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', - ) - const el = await page.$('#app') - expect(await el.textContent()).toBe('title') - editFile('unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', (code) => - code.replace('title', 'title2'), - ) - await page.waitForEvent('load') - await untilUpdated( - async () => (await page.$('#app')).textContent(), - 'title2', - ) - }, - ) + test('full-reload encodeURI path', async () => { + await page.goto( + viteTestUrl + '/unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', + ) + const el = await page.$('#app') + expect(await el.textContent()).toBe('title') + editFile('unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', (code) => + code.replace('title', 'title2'), + ) + await page.waitForEvent('load') + await untilUpdated( + async () => (await page.$('#app')).textContent(), + 'title2', + ) + }) test('CSS update preserves query params', async () => { await page.goto(viteTestUrl) diff --git a/playground/html/__tests__/html.spec.ts b/playground/html/__tests__/html.spec.ts index 687629d91055b5..85ceea961752ee 100644 --- a/playground/html/__tests__/html.spec.ts +++ b/playground/html/__tests__/html.spec.ts @@ -1,5 +1,4 @@ import { beforeAll, describe, expect, test } from 'vitest' -import { hasWindowsUnicodeFsBug } from '../../hasWindowsUnicodeFsBug' import { browserLogs, editFile, @@ -220,7 +219,7 @@ describe('noBody', () => { }) }) -describe.skipIf(hasWindowsUnicodeFsBug)('Unicode path', () => { +describe('Unicode path', () => { test('direct access', async () => { await page.goto( viteTestUrl + '/unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', diff --git a/playground/html/vite.config.js b/playground/html/vite.config.js index 4452200a08aeeb..f8c14eef4ca402 100644 --- a/playground/html/vite.config.js +++ b/playground/html/vite.config.js @@ -1,6 +1,5 @@ import { relative, resolve } from 'node:path' import { defineConfig } from 'vite' -import { hasWindowsUnicodeFsBug } from '../hasWindowsUnicodeFsBug' export default defineConfig({ base: './', @@ -21,14 +20,10 @@ export default defineConfig({ inline1: resolve(__dirname, 'inline/shared-1.html'), inline2: resolve(__dirname, 'inline/shared-2.html'), inline3: resolve(__dirname, 'inline/unique.html'), - ...(hasWindowsUnicodeFsBug - ? {} - : { - unicodePath: resolve( - __dirname, - 'unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', - ), - }), + unicodePath: resolve( + __dirname, + 'unicode-path/中文-にほんご-한글-🌕🌖🌗/index.html', + ), linkProps: resolve(__dirname, 'link-props/index.html'), valid: resolve(__dirname, 'valid.html'), importmapOrder: resolve(__dirname, 'importmapOrder.html'), diff --git a/playground/vitestGlobalSetup.ts b/playground/vitestGlobalSetup.ts index 7f85d9d12748bf..3a8288ab34ba57 100644 --- a/playground/vitestGlobalSetup.ts +++ b/playground/vitestGlobalSetup.ts @@ -3,7 +3,6 @@ import fs from 'fs-extra' import type { GlobalSetupContext } from 'vitest/node' import type { BrowserServer } from 'playwright-chromium' import { chromium } from 'playwright-chromium' -import { hasWindowsUnicodeFsBug } from './hasWindowsUnicodeFsBug' let browserServer: BrowserServer | undefined @@ -28,9 +27,6 @@ export async function setup({ provide }: GlobalSetupContext): Promise { .copy(path.resolve(__dirname, '../playground'), tempDir, { dereference: false, filter(file) { - if (file.includes('中文-にほんご-한글-🌕🌖🌗')) { - return !hasWindowsUnicodeFsBug - } file = file.replace(/\\/g, '/') return !file.includes('__tests__') && !/dist(?:\/|$)/.test(file) }, From a2652825b791336f7fa7e7b78665a50a043f7b3a Mon Sep 17 00:00:00 2001 From: Xavi Lee Date: Tue, 7 May 2024 18:14:54 +0800 Subject: [PATCH 537/656] chore(create-vite): update IDE support instructions in helloworld components (#16605) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- .../template-vue-ts/src/components/HelloWorld.vue | 9 ++++++--- .../template-vue/src/components/HelloWorld.vue | 9 ++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/packages/create-vite/template-vue-ts/src/components/HelloWorld.vue b/packages/create-vite/template-vue-ts/src/components/HelloWorld.vue index 7b25f3f2b6aac3..b58e52b965f6f9 100644 --- a/packages/create-vite/template-vue-ts/src/components/HelloWorld.vue +++ b/packages/create-vite/template-vue-ts/src/components/HelloWorld.vue @@ -24,9 +24,12 @@ const count = ref(0) >, the official Vue + Vite starter

    - Install - Volar - in your IDE for a better DX + Learn more about IDE Support for Vue in the + Vue Docs Scaling up Guide.

    Click on the Vite and Vue logos to learn more

    diff --git a/packages/create-vite/template-vue/src/components/HelloWorld.vue b/packages/create-vite/template-vue/src/components/HelloWorld.vue index f5e4f53b7d9dd0..546ebbc624b0e3 100644 --- a/packages/create-vite/template-vue/src/components/HelloWorld.vue +++ b/packages/create-vite/template-vue/src/components/HelloWorld.vue @@ -26,9 +26,12 @@ const count = ref(0) >, the official Vue + Vite starter

    - Install - Volar - in your IDE for a better DX + Learn more about IDE Support for Vue in the + Vue Docs Scaling up Guide.

    Click on the Vite and Vue logos to learn more

    From 7a8ae49deb5e63d47dbc7a3ef24d0c6404184e0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 7 May 2024 19:16:36 +0900 Subject: [PATCH 538/656] docs: update manifest example (#16620) --- docs/guide/backend-integration.md | 58 +++++++++++++++++++------------ 1 file changed, 35 insertions(+), 23 deletions(-) diff --git a/docs/guide/backend-integration.md b/docs/guide/backend-integration.md index 4f6de439afeae9..8509082bbdf2ea 100644 --- a/docs/guide/backend-integration.md +++ b/docs/guide/backend-integration.md @@ -62,24 +62,36 @@ If you need a custom integration, you can follow the steps in this guide to conf ```json { - "main.js": { - "file": "assets/main.4889e940.js", - "src": "main.js", + "_shared-!~{003}~.js": { + "file": "assets/shared-ChJ_j-JJ.css", + "src": "_shared-!~{003}~.js" + }, + "_shared-B7PI925R.js": { + "file": "assets/shared-B7PI925R.js", + "name": "shared", + "css": ["assets/shared-ChJ_j-JJ.css"] + }, + "baz.js": { + "file": "assets/baz-B2H3sXNv.js", + "name": "baz", + "src": "baz.js", + "isDynamicEntry": true + }, + "views/bar.js": { + "file": "assets/bar-gkvgaI9m.js", + "name": "bar", + "src": "views/bar.js", "isEntry": true, - "dynamicImports": ["views/foo.js"], - "css": ["assets/main.b82dbe22.css"], - "assets": ["assets/asset.0ab0f9cd.png"], - "imports": ["_shared.83069a53.js"] + "imports": ["_shared-B7PI925R.js"], + "dynamicImports": ["baz.js"] }, "views/foo.js": { - "file": "assets/foo.869aea0d.js", + "file": "assets/foo-BRBmoGS9.js", + "name": "foo", "src": "views/foo.js", - "isDynamicEntry": true, - "imports": ["_shared.83069a53.js"] - }, - "_shared.83069a53.js": { - "file": "assets/shared.83069a53.js", - "css": ["assets/shared.a834bfc3.css"] + "isEntry": true, + "imports": ["_shared-B7PI925R.js"], + "css": ["assets/foo-5UjPuW-k.css"] } } ``` @@ -122,21 +134,21 @@ If you need a custom integration, you can follow the steps in this guide to conf - Optionally, `` tag for the `file` of each imported JavaScript chunk, again recursively following the imports starting from the entry point chunk. - Following the above example manifest, for the entry point `main.js` the following tags should be included in production: + Following the above example manifest, for the entry point `views/foo.js` the following tags should be included in production: ```html - - - + + + - + ``` - While the following should be included for the entry point `views/foo.js`: + While the following should be included for the entry point `views/bar.js`: ```html - - + + - + ``` From 66f12ab40b38972f9a9837e485c85d144385ffa4 Mon Sep 17 00:00:00 2001 From: Andrew Jeremy <53634060+FreeJ1nG@users.noreply.github.com> Date: Tue, 7 May 2024 17:17:41 +0700 Subject: [PATCH 539/656] docs: add custom event types docs (#16609) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 翠 / green --- docs/guide/api-hmr.md | 2 +- docs/guide/api-plugin.md | 30 +++++++++++++++++++++++++++--- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/docs/guide/api-hmr.md b/docs/guide/api-hmr.md index 189fe693cf02f0..e9a44eb0aaca88 100644 --- a/docs/guide/api-hmr.md +++ b/docs/guide/api-hmr.md @@ -220,7 +220,7 @@ Send custom events back to Vite's dev server. If called before connected, the data will be buffered and sent once the connection is established. -See [Client-server Communication](/guide/api-plugin.html#client-server-communication) for more details. +See [Client-server Communication](/guide/api-plugin.html#client-server-communication) for more details, including a section on [Typing Custom Events](/guide/api-plugin.html#typescript-for-custom-events). ## Further Reading diff --git a/docs/guide/api-plugin.md b/docs/guide/api-plugin.md index 7f77b7b0464506..b06982b4b89fc2 100644 --- a/docs/guide/api-plugin.md +++ b/docs/guide/api-plugin.md @@ -625,16 +625,40 @@ export default defineConfig({ ### TypeScript for Custom Events -It is possible to type custom events by extending the `CustomEventMap` interface: +Internally, vite infers the type of a payload from the `CustomEventMap` interface, it is possible to type custom events by extending the interface: + +:::tip Note +Make sure to include the `.d.ts` extension when specifying TypeScript declaration files. Otherwise, Typescript may not know which file the module is trying to extend. +::: ```ts // events.d.ts -import 'vite/types/customEvent' +import 'vite/types/customEvent.d.ts' -declare module 'vite/types/customEvent' { +declare module 'vite/types/customEvent.d.ts' { interface CustomEventMap { 'custom:foo': { msg: string } // 'event-key': payload } } ``` + +This interface extension is utilized by `InferCustomEventPayload` to infer the payload type for event `T`. For more information on how this interface is utilized, refer to the [HMR API Documentation](./api-hmr#hmr-api). + +```ts twoslash +import 'vite/client' +import type { InferCustomEventPayload } from 'vite/types/customEvent.d.ts' +declare module 'vite/types/customEvent.d.ts' { + interface CustomEventMap { + 'custom:foo': { msg: string } + } +} +// ---cut--- +type CustomFooPayload = InferCustomEventPayload<'custom:foo'> +import.meta.hot?.on('custom:foo', (payload) => { + // The type of payload will be { msg: string } +}) +import.meta.hot?.on('unknown:event', (payload) => { + // The type of payload will be any +}) +``` From c3b3d3c617ba729814c599e14145499aeac4c9d3 Mon Sep 17 00:00:00 2001 From: bluwy Date: Wed, 8 May 2024 12:22:58 +0800 Subject: [PATCH 540/656] release: plugin-legacy@5.4.0 --- packages/plugin-legacy/CHANGELOG.md | 13 +++++++++++++ packages/plugin-legacy/package.json | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/plugin-legacy/CHANGELOG.md b/packages/plugin-legacy/CHANGELOG.md index 9e90c6bd06742b..1e6988077ad53a 100644 --- a/packages/plugin-legacy/CHANGELOG.md +++ b/packages/plugin-legacy/CHANGELOG.md @@ -1,3 +1,16 @@ +## 5.4.0 (2024-05-08) + +* fix(deps): update all non-major dependencies (#16258) ([7caef42](https://github.com/vitejs/vite/commit/7caef42)), closes [#16258](https://github.com/vitejs/vite/issues/16258) +* fix(deps): update all non-major dependencies (#16376) ([58a2938](https://github.com/vitejs/vite/commit/58a2938)), closes [#16376](https://github.com/vitejs/vite/issues/16376) +* fix(deps): update all non-major dependencies (#16488) ([2d50be2](https://github.com/vitejs/vite/commit/2d50be2)), closes [#16488](https://github.com/vitejs/vite/issues/16488) +* fix(deps): update all non-major dependencies (#16549) ([2d6a13b](https://github.com/vitejs/vite/commit/2d6a13b)), closes [#16549](https://github.com/vitejs/vite/issues/16549) +* fix(legacy): modern polyfill autodetection was not injecting enough polyfills (#16367) ([4af9f97](https://github.com/vitejs/vite/commit/4af9f97)), closes [#16367](https://github.com/vitejs/vite/issues/16367) +* feat(plugin-legacy): support `additionalModernPolyfills` (#16514) ([2322657](https://github.com/vitejs/vite/commit/2322657)), closes [#16514](https://github.com/vitejs/vite/issues/16514) +* docs(legacy): update `modernTargets` option default value description (#16491) ([7171837](https://github.com/vitejs/vite/commit/7171837)), closes [#16491](https://github.com/vitejs/vite/issues/16491) +* chore(deps): update all non-major dependencies (#16131) ([a862ecb](https://github.com/vitejs/vite/commit/a862ecb)), closes [#16131](https://github.com/vitejs/vite/issues/16131) + + + ## 5.3.2 (2024-03-08) * fix(plugin-legacy): dynamic import browserslist-to-esbuild (#16011) ([42fd11c](https://github.com/vitejs/vite/commit/42fd11c)), closes [#16011](https://github.com/vitejs/vite/issues/16011) diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index 9041ad980031b9..49b6c4780ec9de 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -1,6 +1,6 @@ { "name": "@vitejs/plugin-legacy", - "version": "5.3.2", + "version": "5.4.0", "license": "MIT", "author": "Evan You", "files": [ From b0b839accc88d8b3326733a94f76cb7c527fdb06 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EC=B1=84=EC=A4=80=20-=20CJ=20Lee?= Date: Wed, 8 May 2024 03:51:16 -0700 Subject: [PATCH 541/656] fix(logger): truncate log over 5000 characters long (#16581) --- packages/vite/src/node/logger.ts | 20 +++++++++++++++++++- packages/vite/src/node/utils.ts | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/logger.ts b/packages/vite/src/node/logger.ts index 8600228e305de1..ddeda0755712f1 100644 --- a/packages/vite/src/node/logger.ts +++ b/packages/vite/src/node/logger.ts @@ -4,6 +4,7 @@ import readline from 'node:readline' import colors from 'picocolors' import type { RollupError } from 'rollup' import type { ResolvedServerUrls } from './server' +import { splitRE } from './utils' export type LogType = 'error' | 'warn' | 'info' export type LogLevel = LogType | 'silent' @@ -63,6 +64,8 @@ function getTimeFormatter() { return timeFormatter } +const MAX_LOG_CHAR = 5000 + export function createLogger( level: LogLevel = 'info', options: LoggerOptions = {}, @@ -78,7 +81,22 @@ export function createLogger( allowClearScreen && process.stdout.isTTY && !process.env.CI const clear = canClearScreen ? clearScreen : () => {} - function format(type: LogType, msg: string, options: LogErrorOptions = {}) { + function preventOverflow(msg: string) { + if (msg.length > MAX_LOG_CHAR) { + const shorten = msg.slice(0, MAX_LOG_CHAR) + const lines = msg.slice(MAX_LOG_CHAR).match(splitRE)?.length || 0 + + return `${shorten}\n... and ${lines} lines more` + } + return msg + } + + function format( + type: LogType, + rawMsg: string, + options: LogErrorOptions = {}, + ) { + const msg = preventOverflow(rawMsg) if (options.timestamp) { const tag = type === 'info' diff --git a/packages/vite/src/node/utils.ts b/packages/vite/src/node/utils.ts index b9ceece25f40f2..218cb33b81aafa 100644 --- a/packages/vite/src/node/utils.ts +++ b/packages/vite/src/node/utils.ts @@ -434,7 +434,7 @@ export function isFilePathESM( } } -const splitRE = /\r?\n/ +export const splitRE = /\r?\n/g const range: number = 2 From c04192bc4e3438996051082ed21c2c767e5a4a7a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 8 May 2024 13:10:06 +0200 Subject: [PATCH 542/656] chore(deps): update dependency conventional-changelog-cli to v5 (#16604) --- package.json | 2 +- pnpm-lock.yaml | 362 +++++++++++++++++++++---------------------------- 2 files changed, 152 insertions(+), 212 deletions(-) diff --git a/package.json b/package.json index 91b13bb5a39006..382ed3ffa3c7d9 100644 --- a/package.json +++ b/package.json @@ -61,7 +61,7 @@ "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", "@vitejs/release-scripts": "^1.3.1", - "conventional-changelog-cli": "^4.1.0", + "conventional-changelog-cli": "^5.0.0", "eslint": "^8.57.0", "eslint-define-config": "^2.1.0", "eslint-plugin-i": "^2.29.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e3cb39f1bbff0d..99ba984c13384d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -85,8 +85,8 @@ importers: specifier: ^1.3.1 version: 1.3.1 conventional-changelog-cli: - specifier: ^4.1.0 - version: 4.1.0 + specifier: ^5.0.0 + version: 5.0.0 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -2995,6 +2995,23 @@ packages: dev: true optional: true + /@conventional-changelog/git-client@1.0.0(conventional-commits-parser@6.0.0): + resolution: {integrity: sha512-PkUIv8bcY8/mIJig+3CGneb1hfXvjUotuBcroBHyVO4obIz5WGJpBWTuo17XV4p1sTmbGa8TxAmdMzhlPU+tLA==} + engines: {node: '>=18'} + peerDependencies: + conventional-commits-filter: ^4.0.0 + conventional-commits-parser: ^5.0.0 + peerDependenciesMeta: + conventional-commits-filter: + optional: true + conventional-commits-parser: + optional: true + dependencies: + '@types/semver': 7.5.8 + conventional-commits-parser: 6.0.0 + semver: 7.6.0 + dev: true + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -4603,8 +4620,8 @@ packages: dependencies: undici-types: 5.26.5 - /@types/normalize-package-data@2.4.1: - resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true /@types/picomatch@2.3.3: @@ -5147,14 +5164,6 @@ packages: - vue dev: true - /JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - dev: true - /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} dev: false @@ -5783,133 +5792,135 @@ packages: resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} engines: {node: '>= 0.6'} - /conventional-changelog-angular@7.0.0: - resolution: {integrity: sha512-ROjNchA9LgfNMTTFSIWPzebCwOGFdgkEq45EnvvrmSLvCtAw0HSmrCs7/ty+wAeYUZyNay0YMUNYFTRL72PkBQ==} - engines: {node: '>=16'} + /conventional-changelog-angular@8.0.0: + resolution: {integrity: sha512-CLf+zr6St0wIxos4bmaKHRXWAcsCXrJU6F4VdNDrGRK3B8LDLKoX3zuMV5GhtbGkVR/LohZ6MT6im43vZLSjmA==} + engines: {node: '>=18'} dependencies: compare-func: 2.0.0 dev: true - /conventional-changelog-atom@4.0.0: - resolution: {integrity: sha512-q2YtiN7rnT1TGwPTwjjBSIPIzDJCRE+XAUahWxnh+buKK99Kks4WLMHoexw38GXx9OUxAsrp44f9qXe5VEMYhw==} - engines: {node: '>=16'} + /conventional-changelog-atom@5.0.0: + resolution: {integrity: sha512-WfzCaAvSCFPkznnLgLnfacRAzjgqjLUjvf3MftfsJzQdDICqkOOpcMtdJF3wTerxSpv2IAAjX8doM3Vozqle3g==} + engines: {node: '>=18'} dev: true - /conventional-changelog-cli@4.1.0: - resolution: {integrity: sha512-MscvILWZ6nWOoC+p/3Nn3D2cVLkjeQjyZPUr0bQ+vUORE/SPrkClJh8BOoMNpS4yk+zFJ5LlgXACxH6XGQoRXA==} - engines: {node: '>=16'} + /conventional-changelog-cli@5.0.0: + resolution: {integrity: sha512-9Y8fucJe18/6ef6ZlyIlT2YQUbczvoQZZuYmDLaGvcSBP+M6h+LAvf7ON7waRxKJemcCII8Yqu5/8HEfskTxJQ==} + engines: {node: '>=18'} hasBin: true dependencies: add-stream: 1.0.0 - conventional-changelog: 5.1.0 - meow: 12.1.1 + conventional-changelog: 6.0.0 + meow: 13.2.0 tempfile: 5.0.0 + transitivePeerDependencies: + - conventional-commits-filter dev: true - /conventional-changelog-codemirror@4.0.0: - resolution: {integrity: sha512-hQSojc/5imn1GJK3A75m9hEZZhc3urojA5gMpnar4JHmgLnuM3CUIARPpEk86glEKr3c54Po3WV/vCaO/U8g3Q==} - engines: {node: '>=16'} + /conventional-changelog-codemirror@5.0.0: + resolution: {integrity: sha512-8gsBDI5Y3vrKUCxN6Ue8xr6occZ5nsDEc4C7jO/EovFGozx8uttCAyfhRrvoUAWi2WMm3OmYs+0mPJU7kQdYWQ==} + engines: {node: '>=18'} dev: true - /conventional-changelog-conventionalcommits@7.0.2: - resolution: {integrity: sha512-NKXYmMR/Hr1DevQegFB4MwfM5Vv0m4UIxKZTTYuD98lpTknaZlSRrDOG4X7wIXpGkfsYxZTghUN+Qq+T0YQI7w==} - engines: {node: '>=16'} + /conventional-changelog-conventionalcommits@8.0.0: + resolution: {integrity: sha512-eOvlTO6OcySPyyyk8pKz2dP4jjElYunj9hn9/s0OB+gapTO8zwS9UQWrZ1pmF2hFs3vw1xhonOLGcGjy/zgsuA==} + engines: {node: '>=18'} dependencies: compare-func: 2.0.0 dev: true - /conventional-changelog-core@7.0.0: - resolution: {integrity: sha512-UYgaB1F/COt7VFjlYKVE/9tTzfU3VUq47r6iWf6lM5T7TlOxr0thI63ojQueRLIpVbrtHK4Ffw+yQGduw2Bhdg==} - engines: {node: '>=16'} + /conventional-changelog-core@8.0.0: + resolution: {integrity: sha512-EATUx5y9xewpEe10UEGNpbSHRC6cVZgO+hXQjofMqpy+gFIrcGvH3Fl6yk2VFKh7m+ffenup2N7SZJYpyD9evw==} + engines: {node: '>=18'} dependencies: '@hutson/parse-repository-url': 5.0.0 add-stream: 1.0.0 - conventional-changelog-writer: 7.0.1 - conventional-commits-parser: 5.0.0 - git-raw-commits: 4.0.0 - git-semver-tags: 7.0.1 + conventional-changelog-writer: 8.0.0 + conventional-commits-parser: 6.0.0 + git-raw-commits: 5.0.0(conventional-commits-parser@6.0.0) + git-semver-tags: 8.0.0(conventional-commits-parser@6.0.0) hosted-git-info: 7.0.1 normalize-package-data: 6.0.0 - read-pkg: 8.1.0 - read-pkg-up: 10.1.0 + read-package-up: 11.0.0 + read-pkg: 9.0.1 + transitivePeerDependencies: + - conventional-commits-filter dev: true - /conventional-changelog-ember@4.0.0: - resolution: {integrity: sha512-D0IMhwcJUg1Y8FSry6XAplEJcljkHVlvAZddhhsdbL1rbsqRsMfGx/PIkPYq0ru5aDgn+OxhQ5N5yR7P9mfsvA==} - engines: {node: '>=16'} + /conventional-changelog-ember@5.0.0: + resolution: {integrity: sha512-RPflVfm5s4cSO33GH/Ey26oxhiC67akcxSKL8CLRT3kQX2W3dbE19sSOM56iFqUJYEwv9mD9r6k79weWe1urfg==} + engines: {node: '>=18'} dev: true - /conventional-changelog-eslint@5.0.0: - resolution: {integrity: sha512-6JtLWqAQIeJLn/OzUlYmzd9fKeNSWmQVim9kql+v4GrZwLx807kAJl3IJVc3jTYfVKWLxhC3BGUxYiuVEcVjgA==} - engines: {node: '>=16'} + /conventional-changelog-eslint@6.0.0: + resolution: {integrity: sha512-eiUyULWjzq+ybPjXwU6NNRflApDWlPEQEHvI8UAItYW/h22RKkMnOAtfCZxMmrcMO1OKUWtcf2MxKYMWe9zJuw==} + engines: {node: '>=18'} dev: true - /conventional-changelog-express@4.0.0: - resolution: {integrity: sha512-yWyy5c7raP9v7aTvPAWzqrztACNO9+FEI1FSYh7UP7YT1AkWgv5UspUeB5v3Ibv4/o60zj2o9GF2tqKQ99lIsw==} - engines: {node: '>=16'} + /conventional-changelog-express@5.0.0: + resolution: {integrity: sha512-D8Q6WctPkQpvr2HNCCmwU5GkX22BVHM0r4EW8vN0230TSyS/d6VQJDAxGb84lbg0dFjpO22MwmsikKL++Oo/oQ==} + engines: {node: '>=18'} dev: true - /conventional-changelog-jquery@5.0.0: - resolution: {integrity: sha512-slLjlXLRNa/icMI3+uGLQbtrgEny3RgITeCxevJB+p05ExiTgHACP5p3XiMKzjBn80n+Rzr83XMYfRInEtCPPw==} - engines: {node: '>=16'} + /conventional-changelog-jquery@6.0.0: + resolution: {integrity: sha512-2kxmVakyehgyrho2ZHBi90v4AHswkGzHuTaoH40bmeNqUt20yEkDOSpw8HlPBfvEQBwGtbE+5HpRwzj6ac2UfA==} + engines: {node: '>=18'} dev: true - /conventional-changelog-jshint@4.0.0: - resolution: {integrity: sha512-LyXq1bbl0yG0Ai1SbLxIk8ZxUOe3AjnlwE6sVRQmMgetBk+4gY9EO3d00zlEt8Y8gwsITytDnPORl8al7InTjg==} - engines: {node: '>=16'} + /conventional-changelog-jshint@5.0.0: + resolution: {integrity: sha512-gGNphSb/opc76n2eWaO6ma4/Wqu3tpa2w7i9WYqI6Cs2fncDSI2/ihOfMvXveeTTeld0oFvwMVNV+IYQIk3F3g==} + engines: {node: '>=18'} dependencies: compare-func: 2.0.0 dev: true - /conventional-changelog-preset-loader@4.1.0: - resolution: {integrity: sha512-HozQjJicZTuRhCRTq4rZbefaiCzRM2pr6u2NL3XhrmQm4RMnDXfESU6JKu/pnKwx5xtdkYfNCsbhN5exhiKGJA==} - engines: {node: '>=16'} + /conventional-changelog-preset-loader@5.0.0: + resolution: {integrity: sha512-SetDSntXLk8Jh1NOAl1Gu5uLiCNSYenB5tm0YVeZKePRIgDW9lQImromTwLa3c/Gae298tsgOM+/CYT9XAl0NA==} + engines: {node: '>=18'} dev: true - /conventional-changelog-writer@7.0.1: - resolution: {integrity: sha512-Uo+R9neH3r/foIvQ0MKcsXkX642hdm9odUp7TqgFS7BsalTcjzRlIfWZrZR1gbxOozKucaKt5KAbjW8J8xRSmA==} - engines: {node: '>=16'} + /conventional-changelog-writer@8.0.0: + resolution: {integrity: sha512-TQcoYGRatlAnT2qEWDON/XSfnVG38JzA7E0wcGScu7RElQBkg9WWgZd1peCWFcWDh1xfb2CfsrcvOn1bbSzztA==} + engines: {node: '>=18'} hasBin: true dependencies: - conventional-commits-filter: 4.0.0 + '@types/semver': 7.5.8 + conventional-commits-filter: 5.0.0 handlebars: 4.7.7 - json-stringify-safe: 5.0.1 - meow: 12.1.1 + meow: 13.2.0 semver: 7.6.0 - split2: 4.2.0 dev: true - /conventional-changelog@5.1.0: - resolution: {integrity: sha512-aWyE/P39wGYRPllcCEZDxTVEmhyLzTc9XA6z6rVfkuCD2UBnhV/sgSOKbQrEG5z9mEZJjnopjgQooTKxEg8mAg==} - engines: {node: '>=16'} + /conventional-changelog@6.0.0: + resolution: {integrity: sha512-tuUH8H/19VjtD9Ig7l6TQRh+Z0Yt0NZ6w/cCkkyzUbGQTnUEmKfGtkC9gGfVgCfOL1Rzno5NgNF4KY8vR+Jo3w==} + engines: {node: '>=18'} dependencies: - conventional-changelog-angular: 7.0.0 - conventional-changelog-atom: 4.0.0 - conventional-changelog-codemirror: 4.0.0 - conventional-changelog-conventionalcommits: 7.0.2 - conventional-changelog-core: 7.0.0 - conventional-changelog-ember: 4.0.0 - conventional-changelog-eslint: 5.0.0 - conventional-changelog-express: 4.0.0 - conventional-changelog-jquery: 5.0.0 - conventional-changelog-jshint: 4.0.0 - conventional-changelog-preset-loader: 4.1.0 - dev: true - - /conventional-commits-filter@4.0.0: - resolution: {integrity: sha512-rnpnibcSOdFcdclpFwWa+pPlZJhXE7l+XK04zxhbWrhgpR96h33QLz8hITTXbcYICxVr3HZFtbtUAQ+4LdBo9A==} - engines: {node: '>=16'} + conventional-changelog-angular: 8.0.0 + conventional-changelog-atom: 5.0.0 + conventional-changelog-codemirror: 5.0.0 + conventional-changelog-conventionalcommits: 8.0.0 + conventional-changelog-core: 8.0.0 + conventional-changelog-ember: 5.0.0 + conventional-changelog-eslint: 6.0.0 + conventional-changelog-express: 5.0.0 + conventional-changelog-jquery: 6.0.0 + conventional-changelog-jshint: 5.0.0 + conventional-changelog-preset-loader: 5.0.0 + transitivePeerDependencies: + - conventional-commits-filter dev: true - /conventional-commits-parser@5.0.0: - resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} - engines: {node: '>=16'} + /conventional-commits-filter@5.0.0: + resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} + engines: {node: '>=18'} + dev: true + + /conventional-commits-parser@6.0.0: + resolution: {integrity: sha512-TbsINLp48XeMXR8EvGjTnKGsZqBemisPoyWESlpRyR8lif0lcwzqz+NMtYSj1ooF/WYjSuu7wX0CtdeeMEQAmA==} + engines: {node: '>=18'} hasBin: true dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 + meow: 13.2.0 dev: true /convert-source-map@2.0.0: @@ -5987,11 +5998,6 @@ packages: type: 1.2.0 dev: false - /dargs@8.1.0: - resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} - engines: {node: '>=12'} - dev: true - /data-uri-to-buffer@2.0.2: resolution: {integrity: sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==} dev: true @@ -6214,12 +6220,6 @@ packages: dev: true optional: true - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - /es-module-lexer@1.5.2: resolution: {integrity: sha512-l60ETUTmLqbVbVHv1J4/qj+M8nq7AwMzEcg3kmJDt9dCNrTk+yHcYFf/Kw75pMDwd9mPcIGCG5LcS20SxYRzFA==} dev: true @@ -6792,6 +6792,11 @@ packages: transitivePeerDependencies: - supports-color + /find-up-simple@1.0.0: + resolution: {integrity: sha512-q7Us7kcjj2VMePAa02hDAF6d+MzsdsAWEwYyOpwUtlerRBkOEPBCRZrAV4XfcSN8fHAgaD0hP7miwoay6DCprw==} + engines: {node: '>=18'} + dev: true + /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -6800,14 +6805,6 @@ packages: path-exists: 4.0.0 dev: true - /find-up@6.3.0: - resolution: {integrity: sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - locate-path: 7.2.0 - path-exists: 5.0.0 - dev: true - /flat-cache@3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -6989,23 +6986,28 @@ packages: resolve-pkg-maps: 1.0.0 dev: true - /git-raw-commits@4.0.0: - resolution: {integrity: sha512-ICsMM1Wk8xSGMowkOmPrzo2Fgmfo4bMHLNX6ytHjajRJUqvHOw/TFapQ+QG75c3X/tTDDhOSRPGC52dDbNM8FQ==} - engines: {node: '>=16'} + /git-raw-commits@5.0.0(conventional-commits-parser@6.0.0): + resolution: {integrity: sha512-I2ZXrXeOc0KrCvC7swqtIFXFN+rbjnC7b2T943tvemIOVNl+XP8YnA9UVwqFhzzLClnSA60KR/qEjLpXzs73Qg==} + engines: {node: '>=18'} hasBin: true dependencies: - dargs: 8.1.0 - meow: 12.1.1 - split2: 4.2.0 + '@conventional-changelog/git-client': 1.0.0(conventional-commits-parser@6.0.0) + meow: 13.2.0 + transitivePeerDependencies: + - conventional-commits-filter + - conventional-commits-parser dev: true - /git-semver-tags@7.0.1: - resolution: {integrity: sha512-NY0ZHjJzyyNXHTDZmj+GG7PyuAKtMsyWSwh07CR2hOZFa+/yoTsXci/nF2obzL8UDhakFNkD9gNdt/Ed+cxh2Q==} - engines: {node: '>=16'} + /git-semver-tags@8.0.0(conventional-commits-parser@6.0.0): + resolution: {integrity: sha512-N7YRIklvPH3wYWAR2vysaqGLPRcpwQ0GKdlqTiVN5w1UmCdaeY3K8s6DMKRCh54DDdzyt/OAB6C8jgVtb7Y2Fg==} + engines: {node: '>=18'} hasBin: true dependencies: - meow: 12.1.1 - semver: 7.6.0 + '@conventional-changelog/git-client': 1.0.0(conventional-commits-parser@6.0.0) + meow: 13.2.0 + transitivePeerDependencies: + - conventional-commits-filter + - conventional-commits-parser dev: true /glob-parent@5.1.2: @@ -7296,6 +7298,11 @@ packages: engines: {node: '>=0.8.19'} dev: true + /index-to-position@0.1.2: + resolution: {integrity: sha512-MWDKS3AS1bGCHLBA2VLImJz42f7bJh8wQsTGCzI3j519/CASStoDONUBVz2I/VID0MpiX3SGSnbOD2xUalbE5g==} + engines: {node: '>=18'} + dev: true + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -7309,10 +7316,6 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -7417,13 +7420,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-text-path@2.0.0: - resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} - engines: {node: '>=8'} - dependencies: - text-extensions: 2.4.0 - dev: true - /is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} dev: true @@ -7503,10 +7499,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json-stringify-safe@5.0.1: - resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} - dev: true - /json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} @@ -7524,11 +7516,6 @@ packages: graceful-fs: 4.2.11 dev: true - /jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - dev: true - /jstransformer@1.0.0: resolution: {integrity: sha1-7Yvwkh4vPx7U1cGkT2hwntJHIsM=} dependencies: @@ -7701,11 +7688,6 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - /lines-and-columns@2.0.3: - resolution: {integrity: sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /lint-staged@15.2.2: resolution: {integrity: sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==} engines: {node: '>=18.12.0'} @@ -7757,13 +7739,6 @@ packages: p-locate: 5.0.0 dev: true - /locate-path@7.2.0: - resolution: {integrity: sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-locate: 6.0.0 - dev: true - /lodash-es@4.17.21: resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} dev: false @@ -8024,15 +7999,9 @@ packages: engines: {node: '>= 0.10.0'} dev: true - /meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} - dev: true - /meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} - dev: false /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} @@ -8655,13 +8624,6 @@ packages: yocto-queue: 0.1.0 dev: true - /p-limit@4.0.0: - resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - yocto-queue: 1.0.0 - dev: true - /p-limit@5.0.0: resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} engines: {node: '>=18'} @@ -8676,13 +8638,6 @@ packages: p-limit: 3.1.0 dev: true - /p-locate@6.0.0: - resolution: {integrity: sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - p-limit: 4.0.0 - dev: true - /package-name-regex@2.0.6: resolution: {integrity: sha512-gFL35q7kbE/zBaPA3UKhp2vSzcPYx2ecbYuwv1ucE9Il6IIgBDweBlH8D68UFGZic2MkllKa2KHCfC1IQBQUYA==} engines: {node: '>=12'} @@ -8695,15 +8650,13 @@ packages: callsites: 3.1.0 dev: true - /parse-json@7.1.0: - resolution: {integrity: sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==} - engines: {node: '>=16'} + /parse-json@8.1.0: + resolution: {integrity: sha512-rum1bPifK5SSar35Z6EKZuYPJx85pkNaFrxBK3mwdfSJ1/WKbYrjoW/zTPSjRRamfmVX1ACBIdFAO0VRErW/EA==} + engines: {node: '>=18'} dependencies: '@babel/code-frame': 7.24.2 - error-ex: 1.3.2 - json-parse-even-better-errors: 3.0.0 - lines-and-columns: 2.0.3 - type-fest: 3.13.1 + index-to-position: 0.1.2 + type-fest: 4.18.1 dev: true /parse-node-version@1.0.1: @@ -8730,11 +8683,6 @@ packages: engines: {node: '>=8'} dev: true - /path-exists@5.0.0: - resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -9246,23 +9194,24 @@ packages: npm-normalize-package-bin: 3.0.1 dev: true - /read-pkg-up@10.1.0: - resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} - engines: {node: '>=16'} + /read-package-up@11.0.0: + resolution: {integrity: sha512-MbgfoNPANMdb4oRBNg5eqLbB2t2r+o5Ua1pNt8BqGp4I0FJZhuVSOj3PaBPni4azWuSzEdNn2evevzVmEk1ohQ==} + engines: {node: '>=18'} dependencies: - find-up: 6.3.0 - read-pkg: 8.1.0 - type-fest: 4.4.0 + find-up-simple: 1.0.0 + read-pkg: 9.0.1 + type-fest: 4.18.1 dev: true - /read-pkg@8.1.0: - resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} - engines: {node: '>=16'} + /read-pkg@9.0.1: + resolution: {integrity: sha512-9viLL4/n1BJUCT1NXVTdS1jtm80yDEgR5T4yCelII49Mbj0v1rZdKqj7zCiYdbB0CuCgdrvHcNogAKTFPBocFA==} + engines: {node: '>=18'} dependencies: - '@types/normalize-package-data': 2.4.1 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 6.0.0 - parse-json: 7.1.0 - type-fest: 4.4.0 + parse-json: 8.1.0 + type-fest: 4.18.1 + unicorn-magic: 0.1.0 dev: true /readable-stream@3.6.0: @@ -9769,11 +9718,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: true - /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true @@ -10005,11 +9949,6 @@ packages: source-map-support: 0.5.21 dev: true - /text-extensions@2.4.0: - resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} - engines: {node: '>=8'} - dev: true - /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true @@ -10025,10 +9964,6 @@ packages: dependencies: any-promise: 1.3.0 - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - /tiny-emitter@2.1.0: resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} dev: false @@ -10198,8 +10133,8 @@ packages: engines: {node: '>=14.16'} dev: true - /type-fest@4.4.0: - resolution: {integrity: sha512-HT3RRs7sTfY22KuPQJkD/XjbTbxgP2Je5HPt6H6JEGvcjHd5Lqru75EbrP3tb4FYjNJ+DjLp+MNQTFQU0mhXNw==} + /type-fest@4.18.1: + resolution: {integrity: sha512-qXhgeNsX15bM63h5aapNFcQid9jRF/l3ojDoDFmekDQEUufZ9U4ErVt6SjDxnHp48Ltrw616R8yNc3giJ3KvVQ==} engines: {node: '>=16'} dev: true @@ -10307,6 +10242,11 @@ packages: engines: {node: '>=4'} dev: false + /unicorn-magic@0.1.0: + resolution: {integrity: sha512-lRfVq8fE8gz6QMBuDM6a+LO3IAzTi05H6gCVaUpir2E1Rwpo4ZUog45KpNXKC/Mn3Yb9UDuHumeFTo9iV/D9FQ==} + engines: {node: '>=18'} + dev: true + /unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} dependencies: From 22dc19601e2d83e3db3ec86eb2a274934284ac05 Mon Sep 17 00:00:00 2001 From: Adam Hines Date: Wed, 8 May 2024 23:00:40 -0600 Subject: [PATCH 543/656] fix(error-logging): rollup errors weren't displaying id and codeframe (#16540) --- packages/vite/src/node/build.ts | 53 +++++++++++++++++++++++++++++---- 1 file changed, 47 insertions(+), 6 deletions(-) diff --git a/packages/vite/src/node/build.ts b/packages/vite/src/node/build.ts index 4bc57ce58f76aa..0d849624f4d25f 100644 --- a/packages/vite/src/node/build.ts +++ b/packages/vite/src/node/build.ts @@ -545,7 +545,39 @@ export async function build( }, } - const mergeRollupError = (e: RollupError) => { + /** + * The stack string usually contains a copy of the message at the start of the stack. + * If the stack starts with the message, we remove it and just return the stack trace + * portion. Otherwise the original stack trace is used. + */ + function extractStack(e: RollupError) { + const { stack, name = 'Error', message } = e + + // If we don't have a stack, not much we can do. + if (!stack) { + return stack + } + + const expectedPrefix = `${name}: ${message}\n` + if (stack.startsWith(expectedPrefix)) { + return stack.slice(expectedPrefix.length) + } + + return stack + } + + /** + * Esbuild code frames have newlines at the start and end of the frame, rollup doesn't + * This function normalizes the frame to match the esbuild format which has more pleasing padding + */ + const normalizeCodeFrame = (frame: string) => { + const trimmedPadding = frame.replace(/^\n|\n$/g, '') + return `\n${trimmedPadding}\n` + } + + const enhanceRollupError = (e: RollupError) => { + const stackOnly = extractStack(e) + let msg = colors.red((e.plugin ? `[${e.plugin}] ` : '') + e.message) if (e.id) { msg += `\nfile: ${colors.cyan( @@ -553,15 +585,24 @@ export async function build( )}` } if (e.frame) { - msg += `\n` + colors.yellow(e.frame) + msg += `\n` + colors.yellow(normalizeCodeFrame(e.frame)) + } + + e.message = msg + + // We are rebuilding the stack trace to include the more detailed message at the top. + // Previously this code was relying on mutating e.message changing the generated stack + // when it was accessed, but we don't have any guarantees that the error we are working + // with hasn't already had its stack accessed before we get here. + if (stackOnly !== undefined) { + e.stack = `${e.message}\n${stackOnly}` } - return msg } const outputBuildError = (e: RollupError) => { - const msg = mergeRollupError(e) + enhanceRollupError(e) clearLine() - config.logger.error(msg, { error: e }) + config.logger.error(e.message, { error: e }) } let bundle: RollupBuild | undefined @@ -727,7 +768,7 @@ export async function build( ) return Array.isArray(outputs) ? res : res[0] } catch (e) { - e.message = mergeRollupError(e) + enhanceRollupError(e) clearLine() if (startTime) { config.logger.error( From 4501b5a7ea524d448e4da94988f4ed6d2d55dbe0 Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Sat, 11 May 2024 02:12:39 +0800 Subject: [PATCH 544/656] chore(deps): update @shikijs/vitepress-twoslash to 1.5.0 (#16637) --- docs/config/build-options.md | 3 +- docs/guide/build.md | 6 +-- docs/package.json | 2 +- pnpm-lock.yaml | 75 +++++++++++++----------------------- 4 files changed, 31 insertions(+), 55 deletions(-) diff --git a/docs/config/build-options.md b/docs/config/build-options.md index 4d4214e6a6b73b..3713daf534b349 100644 --- a/docs/config/build-options.md +++ b/docs/config/build-options.md @@ -48,10 +48,10 @@ type ResolveModulePreloadDependenciesFn = ( The `resolveDependencies` function will be called for each dynamic import with a list of the chunks it depends on, and it will also be called for each chunk imported in entry HTML files. A new dependencies array can be returned with these filtered or more dependencies injected, and their paths modified. The `deps` paths are relative to the `build.outDir`. Returning a relative path to the `hostId` for `hostType === 'js'` is allowed, in which case `new URL(dep, import.meta.url)` is used to get an absolute path when injecting this module preload in the HTML head. - ```js twoslash /** @type {import('vite').UserConfig} */ const config = { + // prettier-ignore build: { // ---cut-before--- modulePreload: { @@ -63,7 +63,6 @@ modulePreload: { }, } ``` - The resolved dependency paths can be further modified using [`experimental.renderBuiltUrl`](../guide/build.md#advanced-base-options). diff --git a/docs/guide/build.md b/docs/guide/build.md index cb4a8eef6cd583..50abd7c91cea56 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -238,9 +238,9 @@ A user may choose to deploy in three different paths: A single static [base](#public-base-path) isn't enough in these scenarios. Vite provides experimental support for advanced base options during build, using `experimental.renderBuiltUrl`. - ```ts twoslash import type { UserConfig } from 'vite' +// prettier-ignore const config: UserConfig = { // ---cut-before--- experimental: { @@ -255,14 +255,13 @@ experimental: { // ---cut-after--- } ``` - If the hashed assets and public files aren't deployed together, options for each group can be defined independently using asset `type` included in the second `context` param given to the function. - ```ts twoslash import type { UserConfig } from 'vite' import path from 'node:path' +// prettier-ignore const config: UserConfig = { // ---cut-before--- experimental: { @@ -279,6 +278,5 @@ experimental: { // ---cut-after--- } ``` - Note that the `filename` passed is a decoded URL, and if the function returns a URL string, it should also be decoded. Vite will handle the encoding automatically when rendering the URLs. If an object with `runtime` is returned, encoding should be handled yourself where needed as the runtime code will be rendered as is. diff --git a/docs/package.json b/docs/package.json index fd47dad9e112ac..f1a6d563a97f2f 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,7 +8,7 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.4.0", + "@shikijs/vitepress-twoslash": "^1.5.0", "@types/express": "^4.17.21", "vitepress": "1.1.4", "vue": "^3.4.27" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 99ba984c13384d..67e13cf197c9f8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -160,8 +160,8 @@ importers: docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.4.0 - version: 1.4.0(typescript@5.2.2) + specifier: ^1.5.0 + version: 1.5.0(typescript@5.2.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -4372,8 +4372,8 @@ packages: resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} dev: true - /@shikijs/core@1.4.0: - resolution: {integrity: sha512-CxpKLntAi64h3j+TwWqVIQObPTED0FyXLHTTh3MKXtqiQNn2JGcMQQ362LftDbc9kYbDtrksNMNoVmVXzKFYUQ==} + /@shikijs/core@1.5.0: + resolution: {integrity: sha512-tdYjQu+jnvlPbJg4OjgCQ16zAfHlLk+RzA9o025aeaIyUww6W/Vd9TQ2t+gdZgK1fox29/L2yyqXLU6ErzYA0w==} dev: true /@shikijs/transformers@1.3.0: @@ -4382,27 +4382,27 @@ packages: shiki: 1.3.0 dev: true - /@shikijs/twoslash@1.4.0(typescript@5.2.2): - resolution: {integrity: sha512-MeyA2XAMXOWaeF2Fzn+7uxc7lRy0MIUjq4+v6BCGReHYDWlKSGmKiogaHWdNznMxkzNwTVO9TjHW0NDMH7Yjmg==} + /@shikijs/twoslash@1.5.0(typescript@5.2.2): + resolution: {integrity: sha512-Hc/BpFwx/8lm0ovI8erSjjufFxX18ajBxjVD41xlyZxAM9akB52Z31sDQKSx5f9sUov0RciYtNabXeG+Qbnm1g==} dependencies: - '@shikijs/core': 1.4.0 - twoslash: 0.2.5(typescript@5.2.2) + '@shikijs/core': 1.5.0 + twoslash: 0.2.6(typescript@5.2.2) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.4.0(typescript@5.2.2): - resolution: {integrity: sha512-M4lZd93tlZiFtfVT8ZnIhfGfTv5MwRKOtWcUT37RAsLTTU+DhMXHeYlj9k+7y3KgtNchDFGjcZvSw57L10FkZw==} + /@shikijs/vitepress-twoslash@1.5.0(typescript@5.2.2): + resolution: {integrity: sha512-cWuZpGVucvJ8oKZyeKwN+bXgV/O2pPpZtUKLq/FfnPhUzjuz74Iiwgr3Ls37bjy2L1pQ4kHlJkdY22KnT3+rkw==} dependencies: - '@shikijs/twoslash': 1.4.0(typescript@5.2.2) + '@shikijs/twoslash': 1.5.0(typescript@5.2.2) floating-vue: 5.2.2(vue@3.4.27) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 - shiki: 1.4.0 - twoslash: 0.2.5(typescript@5.2.2) - twoslash-vue: 0.2.5(typescript@5.2.2) + shiki: 1.5.0 + twoslash: 0.2.6(typescript@5.2.2) + twoslash-vue: 0.2.6(typescript@5.2.2) vue: 3.4.27(typescript@5.2.2) transitivePeerDependencies: - '@nuxt/kit' @@ -4917,16 +4917,6 @@ packages: source-map: 0.6.1 dev: true - /@vue/compiler-core@3.4.26: - resolution: {integrity: sha512-N9Vil6Hvw7NaiyFUFBPXrAyETIGlQ8KcFMkyk6hW1Cl6NvoqvP+Y8p1Eqvx+UdqsnrnI9+HMUEJegzia3mhXmQ==} - dependencies: - '@babel/parser': 7.24.5 - '@vue/shared': 3.4.26 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - dev: true - /@vue/compiler-core@3.4.27: resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} dependencies: @@ -4943,13 +4933,6 @@ packages: '@vue/shared': 3.2.0 dev: true - /@vue/compiler-dom@3.4.26: - resolution: {integrity: sha512-4CWbR5vR9fMg23YqFOhr6t6WB1Fjt62d6xdFPyj8pxrYub7d+OgZaObMsoxaF9yBUHPMiPFK303v61PwAuGvZA==} - dependencies: - '@vue/compiler-core': 3.4.26 - '@vue/shared': 3.4.26 - dev: true - /@vue/compiler-dom@3.4.27: resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} dependencies: @@ -5020,7 +5003,7 @@ packages: dependencies: '@volar/language-core': 1.11.1 '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.26 + '@vue/compiler-dom': 3.4.27 '@vue/shared': 3.4.27 computeds: 0.0.1 minimatch: 9.0.4 @@ -5082,10 +5065,6 @@ packages: resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} dev: true - /@vue/shared@3.4.26: - resolution: {integrity: sha512-Fg4zwR0GNnjzodMt3KRy2AWGMKQXByl56+4HjN87soxLNU9P5xcJkstAlIeEF3cU6UYOzmJl1tV0dVPGIljCnQ==} - dev: true - /@vue/shared@3.4.27: resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} @@ -9570,10 +9549,10 @@ packages: '@shikijs/core': 1.3.0 dev: true - /shiki@1.4.0: - resolution: {integrity: sha512-5WIn0OL8PWm7JhnTwRWXniy6eEDY234mRrERVlFa646V2ErQqwIFd2UML7e0Pq9eqSKLoMa3Ke+xbsF+DAuy+Q==} + /shiki@1.5.0: + resolution: {integrity: sha512-AMax9zrUW8u8bnvNhnmAD9mHzk244mWCDBZm+zh4Ir3lzncF/sGUcVd5gpy0IlWvOKBUUJ8uu/BFpusGJ/PdVw==} dependencies: - '@shikijs/core': 1.4.0 + '@shikijs/core': 1.5.0 dev: true /side-channel@1.0.4: @@ -10082,30 +10061,30 @@ packages: fsevents: 2.3.3 dev: true - /twoslash-protocol@0.2.5: - resolution: {integrity: sha512-oUr5ZAn37CgNa6p1mrCuuR/pINffsnGCee2aS170Uj1IObxCjsHzu6sgdPUdxGLLn6++gd/qjNH1/iR6RrfLeg==} + /twoslash-protocol@0.2.6: + resolution: {integrity: sha512-8NbJlYeRdBcCTQ7ui7pdRPC1NL16aOnoYNz06oBW+W0qWNuiQXHgE8UeNvbA038aDd6ZPuuD5WedsBIESocB4g==} dev: true - /twoslash-vue@0.2.5(typescript@5.2.2): - resolution: {integrity: sha512-Tai45V/1G/jEJQIbDe/DIkJCgOqtA/ZHxx4TgC5EM/nnyTP6zbZNtvKOlzMjFgXFdk6rebWEl2Mi/RHKs/sbDQ==} + /twoslash-vue@0.2.6(typescript@5.2.2): + resolution: {integrity: sha512-tuR/45Xb3mg3WGb7Ek7+WH/bBStw79OCbiFmnqK/51lcfjxaz7RCIQEcH2rAMY52NjwbOqw9om+DKVfgA4BYdA==} peerDependencies: typescript: '*' dependencies: '@vue/language-core': 1.8.27(typescript@5.2.2) - twoslash: 0.2.5(typescript@5.2.2) - twoslash-protocol: 0.2.5 + twoslash: 0.2.6(typescript@5.2.2) + twoslash-protocol: 0.2.6 typescript: 5.2.2 transitivePeerDependencies: - supports-color dev: true - /twoslash@0.2.5(typescript@5.2.2): - resolution: {integrity: sha512-U8rqsfVh8jQMO1NJekUtglb52b7xD9+FrzeFrgzpHsRTKl8IQgqnZP6ld4PeKaHXhLfoZPuju9K50NXJ7wom8g==} + /twoslash@0.2.6(typescript@5.2.2): + resolution: {integrity: sha512-DcAKIyXMB6xNs+SOw/oF8GvUr/cfJSqznngVXYbAUIVfTW3M8vWSEoCaz/RgSD+M6vwtK8DJ4/FmYBF5MN8BGw==} peerDependencies: typescript: '*' dependencies: '@typescript/vfs': 1.5.0 - twoslash-protocol: 0.2.5 + twoslash-protocol: 0.2.6 typescript: 5.2.2 transitivePeerDependencies: - supports-color From 27b8ed48dc9d0992cf451e073845c0f36dc87c4a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 12 May 2024 23:00:12 -0700 Subject: [PATCH 545/656] chore(deps): update pnpm/action-setup action to v4 (#16663) --- .github/workflows/ci.yml | 4 ++-- .github/workflows/publish.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 52dc9cd290a6a1..79a4922b43f2a1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,7 +69,7 @@ jobs: - name: Install pnpm if: steps.changed-files.outputs.only_changed != 'true' - uses: pnpm/action-setup@v3.0.0 + uses: pnpm/action-setup@v4.0.0 - name: Set node version to ${{ matrix.node_version }} if: steps.changed-files.outputs.only_changed != 'true' @@ -134,7 +134,7 @@ jobs: - uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v3.0.0 + uses: pnpm/action-setup@v4.0.0 - name: Set node version to 20 uses: actions/setup-node@v4 diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index bde621d0d82a6c..37d8c135b458db 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@v4 - name: Install pnpm - uses: pnpm/action-setup@v3.0.0 + uses: pnpm/action-setup@v4.0.0 - name: Set node version to 20 uses: actions/setup-node@v4 From bf2f0145fecb67ca2342c3530716f4c5ddd35a68 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 14:42:44 +0800 Subject: [PATCH 546/656] fix(deps): update all non-major dependencies (#16660) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- docs/package.json | 2 +- package.json | 10 +- .../create-vite/template-qwik-ts/package.json | 2 +- .../create-vite/template-qwik/package.json | 2 +- .../template-react-ts/package.json | 4 +- .../create-vite/template-react/package.json | 4 +- .../template-svelte-ts/package.json | 2 +- .../create-vite/template-svelte/package.json | 2 +- .../create-vite/template-vue-ts/package.json | 2 +- packages/vite/package.json | 2 +- playground/backend-integration/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/package.json | 2 +- playground/multiple-entrypoints/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- pnpm-lock.yaml | 169 +++++++++--------- 17 files changed, 103 insertions(+), 110 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 79a4922b43f2a1..2e7b7db4b32655 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@0874344d6ebbaa00a27da73276ae7162fadcaf69 # v44.3.0 + uses: tj-actions/changed-files@a29e8b565651ce417abb5db7164b4a2ad8b6155c # v44.4.0 with: files: | docs/** diff --git a/docs/package.json b/docs/package.json index f1a6d563a97f2f..332fbdc100afeb 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,7 +8,7 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.5.0", + "@shikijs/vitepress-twoslash": "^1.5.1", "@types/express": "^4.17.21", "vitepress": "1.1.4", "vue": "^3.4.27" diff --git a/package.json b/package.json index 382ed3ffa3c7d9..d7d9007fc3d1cb 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.7", - "@types/node": "^20.12.10", + "@types/node": "^20.12.11", "@types/picomatch": "^2.3.3", "@types/semver": "^7.5.8", "@types/stylus": "^0.48.42", @@ -65,7 +65,7 @@ "eslint": "^8.57.0", "eslint-define-config": "^2.1.0", "eslint-plugin-i": "^2.29.1", - "eslint-plugin-n": "^17.5.0", + "eslint-plugin-n": "^17.6.0", "eslint-plugin-regexp": "^2.5.0", "execa": "^8.0.1", "feed": "^4.2.2", @@ -75,12 +75,12 @@ "picocolors": "^1.0.0", "playwright-chromium": "^1.44.0", "prettier": "3.2.5", - "rimraf": "^5.0.5", + "rimraf": "^5.0.7", "rollup": "^4.13.0", - "semver": "^7.6.0", + "semver": "^7.6.2", "simple-git-hooks": "^2.11.1", "tslib": "^2.6.2", - "tsx": "^4.9.3", + "tsx": "^4.10.1", "typescript": "^5.2.2", "unbuild": "^2.0.0", "vite": "workspace:*", diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 2f39c4c67aea6b..f626c4539c4ed1 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -14,6 +14,6 @@ "vite": "^5.2.11" }, "dependencies": { - "@builder.io/qwik": "^1.5.3" + "@builder.io/qwik": "^1.5.4" } } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 3547b2bbdb883a..9dcad097acfe70 100644 --- a/packages/create-vite/template-qwik/package.json +++ b/packages/create-vite/template-qwik/package.json @@ -13,6 +13,6 @@ "vite": "^5.2.11" }, "dependencies": { - "@builder.io/qwik": "^1.5.3" + "@builder.io/qwik": "^1.5.4" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index bfb9e97af49ddd..48ccc10835c170 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -14,14 +14,14 @@ "react-dom": "^18.3.1" }, "devDependencies": { - "@types/react": "^18.3.1", + "@types/react": "^18.3.2", "@types/react-dom": "^18.3.0", "@typescript-eslint/eslint-plugin": "^7.8.0", "@typescript-eslint/parser": "^7.8.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.6", + "eslint-plugin-react-refresh": "^0.4.7", "typescript": "^5.2.2", "vite": "^5.2.11" } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 0b0fedd4584dfc..85f4371de10709 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -14,13 +14,13 @@ "react-dom": "^18.3.1" }, "devDependencies": { - "@types/react": "^18.3.1", + "@types/react": "^18.3.2", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.2.1", "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.1", "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-react-refresh": "^0.4.6", + "eslint-plugin-react-refresh": "^0.4.7", "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index d899cc01af4a6a..269d6edf32d434 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -12,7 +12,7 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.0", "@tsconfig/svelte": "^5.0.4", - "svelte": "^4.2.15", + "svelte": "^4.2.16", "svelte-check": "^3.7.1", "tslib": "^2.6.2", "typescript": "^5.2.2", diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 10ea4735548c70..0b7e747cbd6fd3 100644 --- a/packages/create-vite/template-svelte/package.json +++ b/packages/create-vite/template-svelte/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.0", - "svelte": "^4.2.15", + "svelte": "^4.2.16", "vite": "^5.2.11" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index adba9ab20a5736..d14fb08c040a81 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -15,6 +15,6 @@ "@vitejs/plugin-vue": "^5.0.4", "typescript": "^5.2.2", "vite": "^5.2.11", - "vue-tsc": "^2.0.16" + "vue-tsc": "^2.0.17" } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 3059e1cc24d0c3..b48850d0f8fe42 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -144,7 +144,7 @@ "rollup-plugin-dts": "^6.1.0", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-license": "^3.3.1", - "sass": "^1.77.0", + "sass": "^1.77.1", "sirv": "^2.0.4", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index 3137ece0e420bd..9956dd15838c4a 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.77.0", + "sass": "^1.77.1", "tailwindcss": "^3.4.3", "fast-glob": "^3.3.2" } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index 77b23776bfaa06..e30332570e7ef5 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.10", - "sass": "^1.77.0", + "sass": "^1.77.1", "stylus": "^0.63.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index 473ded9c96be81..5b9765bf368f28 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.0.1", - "sass": "^1.77.0", + "sass": "^1.77.1", "stylus": "^0.63.0", "sugarss": "^4.0.1" }, diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index ec2a4ebbdfb1f6..2bd1fe9eeaf876 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.77.0" + "sass": "^1.77.1" } } diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 4815cd559e5c3c..2bfc48d0eecc42 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.20240419.0", + "miniflare": "^3.20240419.1", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67e13cf197c9f8..c31841f440e35c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,8 +61,8 @@ importers: specifier: ^4.0.7 version: 4.0.7 '@types/node': - specifier: ^20.12.10 - version: 20.12.10 + specifier: ^20.12.11 + version: 20.12.11 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -97,8 +97,8 @@ importers: specifier: ^2.29.1 version: 2.29.1(@typescript-eslint/parser@7.8.0)(eslint@8.57.0) eslint-plugin-n: - specifier: ^17.5.0 - version: 17.5.0(eslint@8.57.0) + specifier: ^17.6.0 + version: 17.6.0(eslint@8.57.0) eslint-plugin-regexp: specifier: ^2.5.0 version: 2.5.0(eslint@8.57.0) @@ -127,14 +127,14 @@ importers: specifier: 3.2.5 version: 3.2.5 rimraf: - specifier: ^5.0.5 - version: 5.0.5 + specifier: ^5.0.7 + version: 5.0.7 rollup: specifier: ^4.13.0 version: 4.13.0 semver: - specifier: ^7.6.0 - version: 7.6.0 + specifier: ^7.6.2 + version: 7.6.2 simple-git-hooks: specifier: ^2.11.1 version: 2.11.1 @@ -142,8 +142,8 @@ importers: specifier: ^2.6.2 version: 2.6.2 tsx: - specifier: ^4.9.3 - version: 4.9.3 + specifier: ^4.10.1 + version: 4.10.1 typescript: specifier: ^5.2.2 version: 5.2.2 @@ -155,13 +155,13 @@ importers: version: link:packages/vite vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.12.10) + version: 1.6.0(@types/node@20.12.11) docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.5.0 - version: 1.5.0(typescript@5.2.2) + specifier: ^1.5.1 + version: 1.5.1(typescript@5.2.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -403,8 +403,8 @@ importers: specifier: ^3.3.1 version: 3.3.1(rollup@4.13.0) sass: - specifier: ^1.77.0 - version: 1.77.0 + specifier: ^1.77.1 + version: 1.77.1 sirv: specifier: ^2.0.4 version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) @@ -518,8 +518,8 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.77.0 - version: 1.77.0 + specifier: ^1.77.1 + version: 1.77.1 tailwindcss: specifier: ^3.4.3 version: 3.4.3(ts-node@10.9.2) @@ -580,8 +580,8 @@ importers: specifier: ^6.0.1 version: 6.0.1(postcss@8.4.38) sass: - specifier: ^1.77.0 - version: 1.77.0 + specifier: ^1.77.1 + version: 1.77.1 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -619,8 +619,8 @@ importers: specifier: ^0.30.10 version: 0.30.10 sass: - specifier: ^1.77.0 - version: 1.77.0 + specifier: ^1.77.1 + version: 1.77.1 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -817,8 +817,8 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.77.0 - version: 1.77.0 + specifier: ^1.77.1 + version: 1.77.1 playground/nested-deps: dependencies: @@ -1521,8 +1521,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240419.0 - version: 3.20240419.0 + specifier: ^3.20240419.1 + version: 3.20240419.1 playground/ssr-webworker/browser-exports: {} @@ -1545,7 +1545,7 @@ importers: devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.10)(typescript@5.2.2) + version: 10.9.2(@types/node@20.12.11)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: @@ -3009,7 +3009,7 @@ packages: dependencies: '@types/semver': 7.5.8 conventional-commits-parser: 6.0.0 - semver: 7.6.0 + semver: 7.6.2 dev: true /@cspotcode/source-map-support@0.8.1: @@ -4016,7 +4016,7 @@ packages: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.6.0 + semver: 7.6.2 tar: 6.1.11 transitivePeerDependencies: - encoding @@ -4372,8 +4372,8 @@ packages: resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} dev: true - /@shikijs/core@1.5.0: - resolution: {integrity: sha512-tdYjQu+jnvlPbJg4OjgCQ16zAfHlLk+RzA9o025aeaIyUww6W/Vd9TQ2t+gdZgK1fox29/L2yyqXLU6ErzYA0w==} + /@shikijs/core@1.5.1: + resolution: {integrity: sha512-xjV63pRUBvxA1LsxOUhRKLPh0uUjwBLzAKLdEuYSLIylo71sYuwDcttqNP01Ib1TZlLfO840CXHPlgUUsYFjzg==} dev: true /@shikijs/transformers@1.3.0: @@ -4382,25 +4382,25 @@ packages: shiki: 1.3.0 dev: true - /@shikijs/twoslash@1.5.0(typescript@5.2.2): - resolution: {integrity: sha512-Hc/BpFwx/8lm0ovI8erSjjufFxX18ajBxjVD41xlyZxAM9akB52Z31sDQKSx5f9sUov0RciYtNabXeG+Qbnm1g==} + /@shikijs/twoslash@1.5.1(typescript@5.2.2): + resolution: {integrity: sha512-O0cnGcpW1LkBLd85TQp7Kdb9qzhSGyYl9c21BCAmYWhQdtnxaSKBgbiP3S35ewP/s3SrR9gCzumgznp/YSyMNg==} dependencies: - '@shikijs/core': 1.5.0 + '@shikijs/core': 1.5.1 twoslash: 0.2.6(typescript@5.2.2) transitivePeerDependencies: - supports-color - typescript dev: true - /@shikijs/vitepress-twoslash@1.5.0(typescript@5.2.2): - resolution: {integrity: sha512-cWuZpGVucvJ8oKZyeKwN+bXgV/O2pPpZtUKLq/FfnPhUzjuz74Iiwgr3Ls37bjy2L1pQ4kHlJkdY22KnT3+rkw==} + /@shikijs/vitepress-twoslash@1.5.1(typescript@5.2.2): + resolution: {integrity: sha512-q+qDk6iiKWFM8NiMQ31fLE7edWZSk7/Q3aE4Ak59fvxd9Se/BQ0yhp318o2POs1bm7AHU6Fqo2OBPN/gtzPObg==} dependencies: - '@shikijs/twoslash': 1.5.0(typescript@5.2.2) + '@shikijs/twoslash': 1.5.1(typescript@5.2.2) floating-vue: 5.2.2(vue@3.4.27) mdast-util-from-markdown: 2.0.0 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.1.0 - shiki: 1.5.0 + shiki: 1.5.1 twoslash: 0.2.6(typescript@5.2.2) twoslash-vue: 0.2.6(typescript@5.2.2) vue: 3.4.27(typescript@5.2.2) @@ -4463,7 +4463,7 @@ packages: resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} dependencies: '@types/connect': 3.4.38 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/braces@3.0.1: @@ -4473,7 +4473,7 @@ packages: /@types/connect@3.4.38: resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/convert-source-map@2.0.3: @@ -4483,7 +4483,7 @@ packages: /@types/cross-spawn@6.0.6: resolution: {integrity: sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/debug@4.1.12: @@ -4510,13 +4510,13 @@ packages: /@types/etag@1.8.3: resolution: {integrity: sha512-QYHv9Yeh1ZYSMPQOoxY4XC4F1r+xRUiAriB303F4G6uBsT3KKX60DjiogvVv+2VISVDuJhcIzMdbjT+Bm938QQ==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/express-serve-static-core@4.17.43: resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -4535,7 +4535,7 @@ packages: resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/hast@3.0.4: @@ -4555,7 +4555,7 @@ packages: /@types/jsonfile@6.1.1: resolution: {integrity: sha512-GSgiRCVeapDN+3pqA35IkQwasaCh/0YFH5dEF6S88iDvEn901DjOeH3/QPY+XYP1DFzDZPvIvfeEgk+7br5png==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/less@3.0.6: @@ -4615,8 +4615,8 @@ packages: undici-types: 5.26.5 dev: true - /@types/node@20.12.10: - resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} + /@types/node@20.12.11: + resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} dependencies: undici-types: 5.26.5 @@ -4659,7 +4659,7 @@ packages: resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} dependencies: '@types/mime': 1.3.5 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/serve-static@1.15.5: @@ -4667,13 +4667,13 @@ packages: dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/stylus@0.48.42: resolution: {integrity: sha512-CPGlr5teL4sqdap+EOowMifLuNGeIoLwc0VQ7u/BPxo+ocqiNa5jeVt0H0IVBblEh6ZwX1sGpIQIFnSSr8NBQA==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@types/unist@3.0.2: @@ -4687,7 +4687,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 dev: true /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@8.57.0)(typescript@5.2.2): @@ -4712,7 +4712,7 @@ packages: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -4788,7 +4788,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.2.2) typescript: 5.2.2 transitivePeerDependencies: @@ -4808,7 +4808,7 @@ packages: '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.2.2) eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -4853,7 +4853,7 @@ packages: picocolors: 1.0.0 prompts: 2.4.2 publint: 0.2.2 - semver: 7.6.0 + semver: 7.6.2 dev: true /@vitest/expect@1.6.0: @@ -5867,7 +5867,7 @@ packages: conventional-commits-filter: 5.0.0 handlebars: 4.7.7 meow: 13.2.0 - semver: 7.6.0 + semver: 7.6.2 dev: true /conventional-changelog@6.0.0: @@ -6452,7 +6452,7 @@ packages: get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - '@typescript-eslint/parser' - eslint-import-resolver-typescript @@ -6460,8 +6460,8 @@ packages: - supports-color dev: true - /eslint-plugin-n@17.5.0(eslint@8.57.0): - resolution: {integrity: sha512-r7i+NY+RVXQi4Q7sKCG5H4464saJWddDk7QFQjtj+wU//sf15QCq3M8LwZU2yiE45yhVUT9DXW+8AbXRQKJLPQ==} + /eslint-plugin-n@17.6.0(eslint@8.57.0): + resolution: {integrity: sha512-Y73o88ROwbCtVCCmZjYlYcPYkOG7mIzxxVK1XFRSa2epbKWtAPsmYpAD0pqxg/ZwlcWxMDceQPKHYQi4VIHz7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -6474,7 +6474,7 @@ packages: globals: 15.1.0 ignore: 5.3.1 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.2 dev: true /eslint-plugin-regexp@2.5.0(eslint@8.57.0): @@ -7012,7 +7012,7 @@ packages: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 5.0.0 path-scurry: 1.10.1 dev: true @@ -7779,12 +7779,6 @@ packages: dependencies: yallist: 3.1.1 - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - /magic-string@0.27.0: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} @@ -8204,8 +8198,8 @@ packages: engines: {node: '>=12'} dev: true - /miniflare@3.20240419.0: - resolution: {integrity: sha512-fIev1PP4H+fQp5FtvzHqRY2v5s+jxh/a0xAhvM5fBNXvxWX7Zod1OatXfXwYbse3hqO3KeVMhb0osVtrW0NwJg==} + /miniflare@3.20240419.1: + resolution: {integrity: sha512-Q9n0W07uUD/u0c/b03E4iogeXOAMjZnE3P7B5Yi8sPaZAx6TYWwjurGBja+Pg2yILN2iMaliEobfVyAKss33cA==} engines: {node: '>=16.13'} hasBin: true dependencies: @@ -8457,7 +8451,7 @@ packages: dependencies: hosted-git-info: 7.0.1 is-core-module: 2.13.1 - semver: 7.6.0 + semver: 7.6.2 validate-npm-package-license: 3.0.4 dev: true @@ -8833,7 +8827,7 @@ packages: dependencies: lilconfig: 3.0.0 postcss: 8.4.38 - ts-node: 10.9.2(@types/node@20.12.10)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.12.11)(typescript@5.2.2) yaml: 2.3.4 /postcss-modules-extract-imports@3.0.0(postcss@8.4.38): @@ -9311,9 +9305,9 @@ packages: dependencies: glob: 7.2.0 - /rimraf@5.0.5: - resolution: {integrity: sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==} - engines: {node: '>=14'} + /rimraf@5.0.7: + resolution: {integrity: sha512-nV6YcJo5wbLW77m+8KjH8aB/7/rxQy9SZ0HY5shnwULfS+9nmTtVXAJET5NdZmCzA4fPI/Hm1wo/Po/4mopOdg==} + engines: {node: '>=14.18'} hasBin: true dependencies: glob: 10.3.10 @@ -9430,8 +9424,8 @@ packages: /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - /sass@1.77.0: - resolution: {integrity: sha512-eGj4HNfXqBWtSnvItNkn7B6icqH14i3CiCGbzMKs3BAPTq62pp9NBYsBgyN4cA+qssqo9r26lW4JSvlaUUWbgw==} + /sass@1.77.1: + resolution: {integrity: sha512-OMEyfirt9XEfyvocduUIOlUSkWOXS/LAt6oblR/ISXCTukyavjex+zQNm51pPCOiFKY1QpWvEH1EeCkgyV3I6w==} engines: {node: '>=14.0.0'} hasBin: true dependencies: @@ -9478,12 +9472,10 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -9549,10 +9541,10 @@ packages: '@shikijs/core': 1.3.0 dev: true - /shiki@1.5.0: - resolution: {integrity: sha512-AMax9zrUW8u8bnvNhnmAD9mHzk244mWCDBZm+zh4Ir3lzncF/sGUcVd5gpy0IlWvOKBUUJ8uu/BFpusGJ/PdVw==} + /shiki@1.5.1: + resolution: {integrity: sha512-vx4Ds3M3B9ZEmLeSXqBAB85osBWV8ErZfP69kuFQZozPgHc33m7spLTCUkcjwEjFm3gk3F9IdXMv8kX+v9xDHA==} dependencies: - '@shikijs/core': 1.5.0 + '@shikijs/core': 1.5.1 dev: true /side-channel@1.0.4: @@ -10003,7 +9995,7 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - /ts-node@10.9.2(@types/node@20.12.10)(typescript@5.2.2): + /ts-node@10.9.2(@types/node@20.12.11)(typescript@5.2.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -10022,7 +10014,7 @@ packages: '@tsconfig/node12': 1.0.9 '@tsconfig/node14': 1.0.1 '@tsconfig/node16': 1.0.2 - '@types/node': 20.12.10 + '@types/node': 20.12.11 acorn: 8.11.3 acorn-walk: 8.3.2(acorn@8.11.3) arg: 4.1.3 @@ -10050,8 +10042,8 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsx@4.9.3: - resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} + /tsx@4.10.1: + resolution: {integrity: sha512-G+CcyTOopwhuI81FU+KpzGN5UBhHgGEDlGt8mHAXKxv8pDGr6WI7hI7aRjTRol5WzFVsSNuzl3ekCZ0eLIJlEQ==} engines: {node: '>=18.0.0'} hasBin: true dependencies: @@ -10403,7 +10395,7 @@ packages: - universal-cookie dev: true - /vitest@1.6.0(@types/node@20.12.10): + /vitest@1.6.0(@types/node@20.12.11): resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -10428,7 +10420,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.11 '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 @@ -10651,6 +10643,7 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false /yaml@2.3.4: resolution: {integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==} From 3b161c94bd93152f4e0457535007e17e7391ef45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nazar=C3=A9=20da=20Piedade?= <31008635+nazarepiedady@users.noreply.github.com> Date: Mon, 13 May 2024 07:46:28 +0100 Subject: [PATCH 547/656] docs: update `announcing-vite5.md` and `announcing-vite5-1.md` (#16646) --- docs/blog/announcing-vite5-1.md | 8 ++++---- docs/blog/announcing-vite5.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/docs/blog/announcing-vite5-1.md b/docs/blog/announcing-vite5-1.md index b5f7c72a8dd6c7..35ee61c172870e 100644 --- a/docs/blog/announcing-vite5-1.md +++ b/docs/blog/announcing-vite5-1.md @@ -66,7 +66,7 @@ Import CSS files as URLs now works reliably and correctly. This was the last rem ### `build.assetsInlineLimit` now supports a callback -Users can now [provide a callback](/config/build-options.html#build-assetsinlinelimit) that returns a boolean to opt-in or opt-out of inlining for specific assets. If `undefined` is returned, the defalt logic applies. See ([#15366](https://github.com/vitejs/vite/issues/15366)). +Users can now [provide a callback](/config/build-options.html#build-assetsinlinelimit) that returns a boolean to opt-in or opt-out of inlining for specific assets. If `undefined` is returned, the default logic applies. See ([#15366](https://github.com/vitejs/vite/issues/15366)). ### Improved HMR for circular import @@ -82,7 +82,7 @@ The preview server now exposes a `close` method, which will properly teardown th ## Performance improvements -Vite keeps getting faster with each release, and Vite 5.1 is packed with performance improvements. We measured the loading time for 10K modules (25 level deep tree) using [vite-dev-server-perf](https://github.com/yyx990803/vite-dev-server-perf) for all minor versions from Vite 4.0. This is a good benchmark to meassure the effect of Vite's bundle-less approach. Each module is a small TypeScript file with a counter and imports to other files in the tree, so this mostly meassuring the time it takes to do the requests a separate modules. In Vite 4.0, loading 10K modules took 8 seconds on a M1 MAX. We had a breakthrough in [Vite 4.3 were we focused on performance](./announcing-vite4-3.md), and we were able to load them in 6.35 seconds. In Vite 5.1, we managed to do another performance leap. Vite is now serving the 10K modules in 5.35 seconds. +Vite keeps getting faster with each release, and Vite 5.1 is packed with performance improvements. We measured the loading time for 10K modules (25 level deep tree) using [vite-dev-server-perf](https://github.com/yyx990803/vite-dev-server-perf) for all minor versions from Vite 4.0. This is a good benchmark to measure the effect of Vite's bundle-less approach. Each module is a small TypeScript file with a counter and imports to other files in the tree, so this mostly measuring the time it takes to do the requests a separate modules. In Vite 4.0, loading 10K modules took 8 seconds on a M1 MAX. We had a breakthrough in [Vite 4.3 were we focused on performance](./announcing-vite4-3.md), and we were able to load them in 6.35 seconds. In Vite 5.1, we managed to do another performance leap. Vite is now serving the 10K modules in 5.35 seconds. ![Vite 10K Modules Loading time progression](/vite5-1-10K-modules-loading-time.png) @@ -113,7 +113,7 @@ The dev server had several incremental performance gains. A new middleware to sh ## Deprecations -We continue to reduce Vite's API surface where possible to make the project manintainable long term. +We continue to reduce Vite's API surface where possible to make the project maintainable long term. ### Deprecated `as` option in `import.meta.glob` @@ -129,4 +129,4 @@ We are grateful to the [900 contributors to Vite Core](https://github.com/vitejs ## Acknowledgments -Vite 5.1 is possible thanks to our community of contributors, maintainers in the ecosystem, and the [Vite Team](/team). A shoutout the individuals and companies sponsoring Vite development. [StackBlitz](https://stackblitz.com/), [Nuxt Labs](https://nuxtlabs.com/), and [Astro](https://astro.build) for hiring Vite team members. And also to the sponsors on [Vite's GitHub Sponsors](https://github.com/sponsors/vitejs), [Vite's Open Collective](https://opencollective.com/vite), and [Evan You's GitHub Sponsors](https://github.com/sponsors/yyx990803). +Vite 5.1 is possible thanks to our community of contributors, maintainers in the ecosystem, and the [Vite Team](/team). A shout out to the individuals and companies sponsoring Vite development. [StackBlitz](https://stackblitz.com/), [Nuxt Labs](https://nuxtlabs.com/), and [Astro](https://astro.build) for hiring Vite team members. And also to the sponsors on [Vite's GitHub Sponsors](https://github.com/sponsors/vitejs), [Vite's Open Collective](https://opencollective.com/vite), and [Evan You's GitHub Sponsors](https://github.com/sponsors/yyx990803). diff --git a/docs/blog/announcing-vite5.md b/docs/blog/announcing-vite5.md index 1ce435792d2c1b..dd4c1d46a275b0 100644 --- a/docs/blog/announcing-vite5.md +++ b/docs/blog/announcing-vite5.md @@ -33,7 +33,7 @@ _November 16, 2023_ Vite 4 [was released](./announcing-vite4.md) almost a year ago, and it served as a solid base for the ecosystem. npm downloads per week jumped from 2.5 million to 7.5 million, as projects keep building on a shared infrastructure. Frameworks continued to innovate, and on top of [Astro](https://astro.build/), [Nuxt](https://nuxt.com/), [SvelteKit](https://kit.svelte.dev/), [Solid Start](https://www.solidjs.com/blog/introducing-solidstart), [Qwik City](https://qwik.builder.io/qwikcity/overview/), between others, we saw new frameworks joining and making the ecosystem stronger. [RedwoodJS](https://redwoodjs.com/) and [Remix](https://remix.run/) switching to Vite paves the way for further adoption in the React ecosystem. [Vitest](https://vitest.dev) kept growing at an even faster pace than Vite. Its team has been hard at work and will soon [release Vitest 1.0](https://github.com/vitest-dev/vitest/issues/3596). The story of Vite when used with other tools such as [Storybook](https://storybook.js.org), [Nx](https://nx.dev), and [Playwright](https://playwright.dev) kept improving, and the same goes for environments, with Vite dev working both in [Deno](https://deno.com) and [Bun](https://bun.sh). -We had the second edition of [ViteConf](https://viteconf.org/23/replay) a month ago, hosted by [StackBlitz](https://stackblitz.com). Like last year, most of the projects in the ecosystem got together to share ideas and connect to keep expanding the commons. We're also seeing new pieces complement the meta-framework toolbelt like [Volar](https://volarjs.dev/) and [Nitro](https://nitro.unjs.io/). The Rollup team released [Rollup 4](https://rollupjs.org) that same day, a tradition Lukas started last year. +We had the second edition of [ViteConf](https://viteconf.org/23/replay) a month ago, hosted by [StackBlitz](https://stackblitz.com). Like last year, most of the projects in the ecosystem got together to share ideas and connect to keep expanding the commons. We're also seeing new pieces complement the meta-framework tool belt like [Volar](https://volarjs.dev/) and [Nitro](https://nitro.unjs.io/). The Rollup team released [Rollup 4](https://rollupjs.org) that same day, a tradition Lukas started last year. Six months ago, Vite 4.3 [was released](./announcing-vite4.md). This release significantly improved the dev server performance. However, there is still ample room for improvement. At ViteConf, [Evan You unveiled Vite's long-term plan to work on Rolldown](https://www.youtube.com/watch?v=hrdwQHoAp0M), a Rust-port of Rollup with compatible APIs. Once it is ready, we intend to use it in Vite Core to take on the tasks of both Rollup and esbuild. This will mean a boost in build performance (and later on in dev performance too as we move perf-sensitive parts of Vite itself to Rust), and a big reduction of inconsistencies between dev and build. Rolldown is currently in early stages and the team is preparing to open source the codebase before the end of the year. Stay tuned! @@ -105,6 +105,6 @@ A low level breakdown with the full list of changes to Vite core can be found at ## Acknowledgments -Vite 5 is the result of long hours of work by our community of contributors, downstream maintainers, plugins authors, and the [Vite Team](/team). A big shoutout to [Bjorn Lu](https://twitter.com/bluwyoo) for leading the release process for this major. +Vite 5 is the result of long hours of work by our community of contributors, downstream maintainers, plugins authors, and the [Vite Team](/team). A big shout out to [Bjorn Lu](https://twitter.com/bluwyoo) for leading the release process for this major. -We're also thankful to individuals and companies sponsoring Vite development. [StackBlitz](https://stackblitz.com/), [Nuxt Labs](https://nuxtlabs.com/), and [Astro](https://astro.build) continue to invest in Vite by hiring Vite team members. A shoutout to sponsors on [Vite's GitHub Sponsors](https://github.com/sponsors/vitejs), [Vite's Open Collective](https://opencollective.com/vite), and [Evan You's GitHub Sponsors](https://github.com/sponsors/yyx990803). A special mention to [Remix](https://remix.run/) for becoming a Gold sponsor and contributing back after switching to Vite. +We're also thankful to individuals and companies sponsoring Vite development. [StackBlitz](https://stackblitz.com/), [Nuxt Labs](https://nuxtlabs.com/), and [Astro](https://astro.build) continue to invest in Vite by hiring Vite team members. A shout out to sponsors on [Vite's GitHub Sponsors](https://github.com/sponsors/vitejs), [Vite's Open Collective](https://opencollective.com/vite), and [Evan You's GitHub Sponsors](https://github.com/sponsors/yyx990803). A special mention to [Remix](https://remix.run/) for becoming a Gold sponsor and contributing back after switching to Vite. From 6583ad25a1333b80bfeb6829e6034266ab9bfc91 Mon Sep 17 00:00:00 2001 From: MattPeng Date: Mon, 13 May 2024 14:55:24 +0800 Subject: [PATCH 548/656] fix(build): make SystemJSWrapRE match lazy (#16633) --- packages/vite/src/node/plugins/completeSystemWrap.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/completeSystemWrap.ts b/packages/vite/src/node/plugins/completeSystemWrap.ts index 700a4202c0a4e4..8244fe80c046a0 100644 --- a/packages/vite/src/node/plugins/completeSystemWrap.ts +++ b/packages/vite/src/node/plugins/completeSystemWrap.ts @@ -4,7 +4,7 @@ import type { Plugin } from '../plugin' * make sure systemjs register wrap to had complete parameters in system format */ export function completeSystemWrapPlugin(): Plugin { - const SystemJSWrapRE = /System.register\(.*(\(exports\)|\(\))/g + const SystemJSWrapRE = /System.register\(.*?(\(exports\)|\(\))/g return { name: 'vite:force-systemjs-wrap-complete', From 76d1642c3c9b0f5ec2c52a66dd0d0d565c3a2309 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 15:29:57 +0800 Subject: [PATCH 549/656] chore(deps): update dependency execa to v9 (#16662) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- package.json | 2 +- packages/create-vite/__tests__/cli.spec.ts | 8 +- playground/cli-module/__tests__/serve.ts | 1 + playground/cli/__tests__/serve.ts | 1 + playground/test-utils.ts | 6 +- pnpm-lock.yaml | 95 +++++++++++++++++++++- scripts/releaseUtils.ts | 10 +-- 7 files changed, 108 insertions(+), 15 deletions(-) diff --git a/package.json b/package.json index d7d9007fc3d1cb..63a09d15a1c6ac 100644 --- a/package.json +++ b/package.json @@ -67,7 +67,7 @@ "eslint-plugin-i": "^2.29.1", "eslint-plugin-n": "^17.6.0", "eslint-plugin-regexp": "^2.5.0", - "execa": "^8.0.1", + "execa": "^9.0.2", "feed": "^4.2.2", "fs-extra": "^11.2.0", "lint-staged": "^15.2.2", diff --git a/packages/create-vite/__tests__/cli.spec.ts b/packages/create-vite/__tests__/cli.spec.ts index e34d4e14f6e4cf..4f297032834fcf 100644 --- a/packages/create-vite/__tests__/cli.spec.ts +++ b/packages/create-vite/__tests__/cli.spec.ts @@ -1,5 +1,5 @@ import { join } from 'node:path' -import type { ExecaSyncReturnValue, SyncOptions } from 'execa' +import type { SyncOptions, SyncResult } from 'execa' import { execaCommandSync } from 'execa' import fs from 'fs-extra' import { afterEach, beforeAll, expect, test } from 'vitest' @@ -9,10 +9,10 @@ const CLI_PATH = join(__dirname, '..') const projectName = 'test-app' const genPath = join(__dirname, projectName) -const run = ( +const run = ( args: string[], - options: SyncOptions = {}, -): ExecaSyncReturnValue => { + options?: SO, +): SyncResult => { return execaCommandSync(`node ${CLI_PATH} ${args.join(' ')}`, options) } diff --git a/playground/cli-module/__tests__/serve.ts b/playground/cli-module/__tests__/serve.ts index 4a76a6f810b3a9..b19bdb62701a7d 100644 --- a/playground/cli-module/__tests__/serve.ts +++ b/playground/cli-module/__tests__/serve.ts @@ -70,6 +70,7 @@ export async function serve() { const serverProcess = execaCommand(serverCommand, { cwd: rootDir, stdio: 'pipe', + forceKillAfterDelay: 3000, }) collectStreams('server', serverProcess) diff --git a/playground/cli/__tests__/serve.ts b/playground/cli/__tests__/serve.ts index 7cf2eca021ef1d..5da61aec991109 100644 --- a/playground/cli/__tests__/serve.ts +++ b/playground/cli/__tests__/serve.ts @@ -73,6 +73,7 @@ export async function serve() { const serverProcess = execaCommand(serverCommand, { cwd: rootDir, stdio: 'pipe', + forceKillAfterDelay: 3000, }) collectStreams('server', serverProcess) diff --git a/playground/test-utils.ts b/playground/test-utils.ts index 2916c350d12f5f..cec2b1f2ef6d31 100644 --- a/playground/test-utils.ts +++ b/playground/test-utils.ts @@ -14,7 +14,7 @@ import { normalizePath } from 'vite' import { fromComment } from 'convert-source-map' import type { Assertion } from 'vitest' import { expect } from 'vitest' -import type { ExecaChildProcess } from 'execa' +import type { ResultPromise as ExecaResultPromise } from 'execa' import { isBuild, isWindows, page, testDir } from './vitestSetup' export * from './vitestSetup' @@ -380,7 +380,7 @@ export const formatSourcemapForSnapshot = (map: any): any => { // helper function to kill process, uses taskkill on windows to ensure child process is killed too export async function killProcess( - serverProcess: ExecaChildProcess, + serverProcess: ExecaResultPromise, ): Promise { if (isWindows) { try { @@ -390,7 +390,7 @@ export async function killProcess( console.error('failed to taskkill:', e) } } else { - serverProcess.kill('SIGTERM', { forceKillAfterTimeout: 2000 }) + serverProcess.kill('SIGTERM') } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c31841f440e35c..7d5d0fd89ede71 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -103,8 +103,8 @@ importers: specifier: ^2.5.0 version: 2.5.0(eslint@8.57.0) execa: - specifier: ^8.0.1 - version: 8.0.1 + specifier: ^9.0.2 + version: 9.0.2 feed: specifier: ^4.2.2 version: 4.2.2 @@ -4368,6 +4368,10 @@ packages: requiresBuild: true optional: true + /@sec-ant/readable-stream@0.4.1: + resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + dev: true + /@shikijs/core@1.3.0: resolution: {integrity: sha512-7fedsBfuILDTBmrYZNFI8B6ATTxhQAasUHllHmjvSZPnoq4bULWoTpHwmuQvZ8Aq03/tAa2IGo6RXqWtHdWaCA==} dev: true @@ -4414,6 +4418,11 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true + /@sindresorhus/merge-streams@4.0.0: + resolution: {integrity: sha512-tlqY9xq5ukxTUZBmoOp+m61cqwQD5pHJtFY3Mn8CA8ps6yghLH/Hw8UPdqg4OLmFW3IFlcXnQNmo/dh8HzXYIQ==} + engines: {node: '>=18'} + dev: true + /@tsconfig/node10@1.0.8: resolution: {integrity: sha512-6XFfSQmMgq0CFLY1MslA/CPUfhIL919M1rMsa5lP2P097N2Wd1sSX0tx1u4olM16fLNhtHZpRhedZJphNJqmZg==} @@ -6638,6 +6647,24 @@ packages: strip-final-newline: 3.0.0 dev: true + /execa@9.0.2: + resolution: {integrity: sha512-oO281GF7ksH/Ogv1xyDf1prvFta/6/XkGKxRUvA3IB2MU1rCJGlFs86HRZhdooow1ISkR0Np0rOxUCIJVw36Rg==} + engines: {node: '>=18'} + dependencies: + '@sindresorhus/merge-streams': 4.0.0 + cross-spawn: 7.0.3 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 7.0.0 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 5.3.0 + pretty-ms: 9.0.0 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + yoctocolors: 2.0.0 + dev: true + /exit-hook@2.2.1: resolution: {integrity: sha512-eNTPlAD67BmP31LDINZ3U7HSF8l57TxOY2PmBJ1shpCvpnxBF93mWCE8YHBnXs8qiUZJc9WDcWIeC3a2HIAMfw==} engines: {node: '>=6'} @@ -6729,6 +6756,13 @@ packages: web-streams-polyfill: 3.2.1 dev: true + /figures@6.1.0: + resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} + engines: {node: '>=18'} + dependencies: + is-unicode-supported: 2.0.0 + dev: true + /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -6949,6 +6983,14 @@ packages: engines: {node: '>=16'} dev: true + /get-stream@9.0.1: + resolution: {integrity: sha512-kVCxPF3vQM/N0B1PmoqVUqgHP+EeVjmZSQn+1oCRPxd2P21P2F19lIgbR3HBosbB1PUhOAoctJnfEn2GbN2eZA==} + engines: {node: '>=18'} + dependencies: + '@sec-ant/readable-stream': 0.4.1 + is-stream: 4.0.1 + dev: true + /get-them-args@1.3.2: resolution: {integrity: sha512-LRn8Jlk+DwZE4GTlDbT3Hikd1wSHgLMme/+7ddlqKd7ldwR6LjJgTVWzBnR01wnYGe4KgrXjg287RaI22UHmAw==} dev: true @@ -7208,6 +7250,11 @@ packages: engines: {node: '>=16.17.0'} dev: true + /human-signals@7.0.0: + resolution: {integrity: sha512-74kytxOUSvNbjrT9KisAbaTZ/eJwD/LrbM/kh5j0IhPuJzwuA19dWvniFGwBzN9rVjg+O/e+F310PjObDXS+9Q==} + engines: {node: '>=18.18.0'} + dev: true + /iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -7370,6 +7417,11 @@ packages: engines: {node: '>=8'} dev: true + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: true + /is-promise@2.2.2: resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} dev: true @@ -7399,6 +7451,16 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /is-stream@4.0.1: + resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} + engines: {node: '>=18'} + dev: true + + /is-unicode-supported@2.0.0: + resolution: {integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==} + engines: {node: '>=18'} + dev: true + /is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} dev: true @@ -8517,6 +8579,13 @@ packages: path-key: 4.0.0 dev: true + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + /npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} dependencies: @@ -8632,6 +8701,11 @@ packages: type-fest: 4.18.1 dev: true + /parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} + engines: {node: '>=18'} + dev: true + /parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} @@ -8961,6 +9035,13 @@ packages: react-is: 18.2.0 dev: true + /pretty-ms@9.0.0: + resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} + engines: {node: '>=18'} + dependencies: + parse-ms: 4.0.0 + dev: true + /printable-characters@1.0.42: resolution: {integrity: sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==} dev: true @@ -9777,6 +9858,11 @@ packages: engines: {node: '>=12'} dev: true + /strip-final-newline@4.0.0: + resolution: {integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw==} + engines: {node: '>=18'} + dev: true + /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -10663,6 +10749,11 @@ packages: engines: {node: '>=12.20'} dev: true + /yoctocolors@2.0.0: + resolution: {integrity: sha512-esbDnt0Z1zI1KgvOZU90hJbL6BkoUbrP9yy7ArNZ6TmxBxydMJTYMf9FZjmwwcA8ZgEQzriQ3hwZ0NYXhlFo8Q==} + engines: {node: '>=18'} + dev: true + /youch@3.2.3: resolution: {integrity: sha512-ZBcWz/uzZaQVdCvfV4uk616Bbpf2ee+F/AvuKDR5EwX/Y4v06xWdtMluqTD7+KlZdM93lLm9gMZYo0sKBS0pgw==} dependencies: diff --git a/scripts/releaseUtils.ts b/scripts/releaseUtils.ts index 1037b035a3c94d..233a60957b33dc 100644 --- a/scripts/releaseUtils.ts +++ b/scripts/releaseUtils.ts @@ -2,16 +2,16 @@ import { readdirSync, writeFileSync } from 'node:fs' import path from 'node:path' import semver from 'semver' import colors from 'picocolors' -import type { Options as ExecaOptions, ExecaReturnValue } from 'execa' +import type { Options as ExecaOptions, ResultPromise } from 'execa' import { execa } from 'execa' import fs from 'fs-extra' -export async function run( +export function run( bin: string, args: string[], - opts: ExecaOptions = {}, -): Promise { - return execa(bin, args, { stdio: 'inherit', ...opts }) + opts?: EO, +): ResultPromise { + return execa(bin, args, { stdio: 'inherit', ...opts }) as any } export async function getLatestTag(pkgName: string): Promise { From 65eb48f1c6a8ad1850c2fcff048b6d4f580e89ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BF=A0=20/=20green?= Date: Tue, 14 May 2024 01:19:18 +0900 Subject: [PATCH 550/656] test: fix flaky test fail (#16667) --- playground/hmr/__tests__/hmr.spec.ts | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index eb7b66d3c0d783..4da4405fdd3284 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -829,13 +829,17 @@ if (!isBuild) { 'parent:not-child', ) - addFile(childFile, originalChildFileCode) - editFile(parentFile, (code) => - code.replace( - "export const childValue = 'not-child'", - "export { value as childValue } from './child'", - ), - ) + await untilBrowserLogAfter(async () => { + const loadPromise = page.waitForEvent('load') + addFile(childFile, originalChildFileCode) + editFile(parentFile, (code) => + code.replace( + "export const childValue = 'not-child'", + "export { value as childValue } from './child'", + ), + ) + await loadPromise + }, [/connected/]) await untilUpdated( () => page.textContent('.file-delete-restore'), 'parent:child', From 2b61cc39a986c44d733aba8c23036d9d83667fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Arnaud=20Barr=C3=A9?= Date: Tue, 14 May 2024 16:01:36 +0200 Subject: [PATCH 551/656] fix(hmr): trigger page reload when calling invalidate on root module (#16636) --- packages/vite/src/node/server/hmr.ts | 3 ++- playground/hmr/__tests__/hmr.spec.ts | 13 +++++++++++-- playground/hmr/hmr.ts | 1 - playground/hmr/index.html | 4 +++- playground/hmr/invalidation/parent.js | 2 +- playground/hmr/invalidation/root.js | 16 ++++++++++++++++ 6 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 playground/hmr/invalidation/root.js diff --git a/packages/vite/src/node/server/hmr.ts b/packages/vite/src/node/server/hmr.ts index f6777838788d7f..363b53e952510e 100644 --- a/packages/vite/src/node/server/hmr.ts +++ b/packages/vite/src/node/server/hmr.ts @@ -228,7 +228,8 @@ export function updateModules( const updates: Update[] = [] const invalidatedModules = new Set() const traversedModules = new Set() - let needFullReload: HasDeadEnd = false + // Modules could be empty if a root module is invalidated via import.meta.hot.invalidate() + let needFullReload: HasDeadEnd = modules.length === 0 for (const mod of modules) { const boundaries: PropagationBoundary[] = [] diff --git a/playground/hmr/__tests__/hmr.spec.ts b/playground/hmr/__tests__/hmr.spec.ts index 4da4405fdd3284..d4281ec1bbe5ae 100644 --- a/playground/hmr/__tests__/hmr.spec.ts +++ b/playground/hmr/__tests__/hmr.spec.ts @@ -154,7 +154,7 @@ if (!isBuild) { }) test('invalidate', async () => { - const el = await page.$('.invalidation') + const el = await page.$('.invalidation-parent') await untilBrowserLogAfter( () => editFile('invalidation/child.js', (code) => @@ -182,7 +182,7 @@ if (!isBuild) { page2 = await browser.newPage() await page2.goto(viteTestUrl) - const el = await page.$('.invalidation') + const el = await page.$('.invalidation-parent') await untilBrowserLogAfter( () => editFile('invalidation/child.js', (code) => @@ -208,6 +208,15 @@ if (!isBuild) { } }) + test('invalidate on root triggers page reload', async () => { + editFile('invalidation/root.js', (code) => code.replace('Init', 'Updated')) + await page.waitForEvent('load') + await untilUpdated( + async () => (await page.$('.invalidation-root')).textContent(), + 'Updated', + ) + }) + test('soft invalidate', async () => { const el = await page.$('.soft-invalidation') expect(await el.textContent()).toBe( diff --git a/playground/hmr/hmr.ts b/playground/hmr/hmr.ts index 5e572f83b703aa..1f764da0861d6f 100644 --- a/playground/hmr/hmr.ts +++ b/playground/hmr/hmr.ts @@ -1,7 +1,6 @@ import { virtual } from 'virtual:file' import { foo as depFoo, nestedFoo } from './hmrDep' import './importing-updated' -import './invalidation/parent' import './file-delete-restore' import './optional-chaining/parent' import './intermediate-file-delete' diff --git a/playground/hmr/index.html b/playground/hmr/index.html index 221a3bf39e1705..d5adaab6bd5629 100644 --- a/playground/hmr/index.html +++ b/playground/hmr/index.html @@ -7,6 +7,7 @@ + Handsontable_logo_color \ No newline at end of file From a073ac4493e54a2204b5b816fbc7d600df3b34ce Mon Sep 17 00:00:00 2001 From: AmirHossein Sakhrawi Date: Thu, 13 Jun 2024 06:12:52 +0330 Subject: [PATCH 615/656] chore: pkg.pr.new publish by command (#17452) Co-authored-by: patak <583075+patak-dev@users.noreply.github.com> --- .github/workflows/publish-commit.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-commit.yml b/.github/workflows/publish-commit.yml index 80660c03f3fad1..edb0b8ac528187 100644 --- a/.github/workflows/publish-commit.yml +++ b/.github/workflows/publish-commit.yml @@ -9,12 +9,12 @@ on: branches: - main - v6/environment-api - pull_request_review: - types: [submitted] + issue_comment: + types: [created] jobs: build: - if: github.event_name == 'push' || github.event.review.state == 'APPROVED' + if: github.repository == 'vitejs/vite' && (github.event_name == 'push' || github.event.issue.pull_request && startsWith(github.event.comment.body, '/pkg-pr-new')) runs-on: ubuntu-latest steps: From f16fae582b218c8dce634d618a17cd653f784ae9 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Thu, 13 Jun 2024 17:10:18 +0800 Subject: [PATCH 616/656] test: disable isolate for unit test (#17448) --- .../fixtures/watcher/config-deps/foo.js | 0 .../fixtures/watcher/custom-env/.env | 0 .../fixtures/watcher/custom-public/foo.txt | 0 .../watcher/nested-root/vite.config.js | 7 ++ .../__tests__/fixtures/watcher/package.json | 4 + .../src/node/server/__tests__/watcher.spec.ts | 85 ++++++------------- .../src/node/ssr/runtime/__tests__/utils.ts | 4 +- vitest.config.ts | 1 + 8 files changed, 41 insertions(+), 60 deletions(-) create mode 100644 packages/vite/src/node/server/__tests__/fixtures/watcher/config-deps/foo.js create mode 100644 packages/vite/src/node/server/__tests__/fixtures/watcher/custom-env/.env create mode 100644 packages/vite/src/node/server/__tests__/fixtures/watcher/custom-public/foo.txt create mode 100644 packages/vite/src/node/server/__tests__/fixtures/watcher/nested-root/vite.config.js create mode 100644 packages/vite/src/node/server/__tests__/fixtures/watcher/package.json diff --git a/packages/vite/src/node/server/__tests__/fixtures/watcher/config-deps/foo.js b/packages/vite/src/node/server/__tests__/fixtures/watcher/config-deps/foo.js new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/packages/vite/src/node/server/__tests__/fixtures/watcher/custom-env/.env b/packages/vite/src/node/server/__tests__/fixtures/watcher/custom-env/.env new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/packages/vite/src/node/server/__tests__/fixtures/watcher/custom-public/foo.txt b/packages/vite/src/node/server/__tests__/fixtures/watcher/custom-public/foo.txt new file mode 100644 index 00000000000000..e69de29bb2d1d6 diff --git a/packages/vite/src/node/server/__tests__/fixtures/watcher/nested-root/vite.config.js b/packages/vite/src/node/server/__tests__/fixtures/watcher/nested-root/vite.config.js new file mode 100644 index 00000000000000..e4a957d8539ba4 --- /dev/null +++ b/packages/vite/src/node/server/__tests__/fixtures/watcher/nested-root/vite.config.js @@ -0,0 +1,7 @@ +import { defineConfig } from 'vite' +import '../config-deps/foo.js' + +export default defineConfig({ + envDir: '../custom-env', + publicDir: '../custom-public', +}) diff --git a/packages/vite/src/node/server/__tests__/fixtures/watcher/package.json b/packages/vite/src/node/server/__tests__/fixtures/watcher/package.json new file mode 100644 index 00000000000000..e986b24bbae58b --- /dev/null +++ b/packages/vite/src/node/server/__tests__/fixtures/watcher/package.json @@ -0,0 +1,4 @@ +{ + "private": true, + "type": "module" +} diff --git a/packages/vite/src/node/server/__tests__/watcher.spec.ts b/packages/vite/src/node/server/__tests__/watcher.spec.ts index df0e8c0641d0d7..3c4a009f6f178a 100644 --- a/packages/vite/src/node/server/__tests__/watcher.spec.ts +++ b/packages/vite/src/node/server/__tests__/watcher.spec.ts @@ -1,49 +1,22 @@ import { resolve } from 'node:path' -import { - type MockInstance, - afterEach, - beforeEach, - describe, - expect, - it, - vi, -} from 'vitest' -import chokidar from 'chokidar' -import { createServer } from '../index' +import { fileURLToPath } from 'node:url' +import { afterEach, describe, expect, it, vi } from 'vitest' +import { type ViteDevServer, createServer } from '../index' const stubGetWatchedCode = /getWatched\(\) \{.+?return \{\};.+?\}/s -let watchSpy: MockInstance< - Parameters, - ReturnType -> - -vi.mock('../../config', async () => { - const config: typeof import('../../config') = - await vi.importActual('../../config') - const resolveConfig = config.resolveConfig - vi.spyOn(config, 'resolveConfig').mockImplementation(async (...args) => { - const resolved: Awaited> = - await resolveConfig.call(config, ...args) - resolved.configFileDependencies.push( - resolve('fake/config/dependency.js').replace(/\\/g, '/'), - ) - return resolved - }) - return config -}) - describe('watcher configuration', () => { - beforeEach(() => { - watchSpy = vi.spyOn(chokidar, 'watch') - }) + let server: ViteDevServer | undefined - afterEach(() => { - watchSpy.mockRestore() + afterEach(async () => { + if (server) { + await server.close() + server = undefined + } }) it('when watcher is disabled, return noop watcher', async () => { - const server = await createServer({ + server = await createServer({ server: { watch: null, }, @@ -52,7 +25,7 @@ describe('watcher configuration', () => { }) it('when watcher is not disabled, return chokidar watcher', async () => { - const server = await createServer({ + server = await createServer({ server: { watch: {}, }, @@ -61,25 +34,23 @@ describe('watcher configuration', () => { }) it('should watch the root directory, config file dependencies, dotenv files, and the public directory', async () => { - await createServer({ - server: { - watch: {}, - }, - publicDir: '__test_public__', - }) - expect(watchSpy).toHaveBeenLastCalledWith( - expect.arrayContaining( - [ - process.cwd(), - resolve('fake/config/dependency.js'), - resolve('.env'), - resolve('.env.local'), - resolve('.env.development'), - resolve('.env.development.local'), - resolve('__test_public__'), - ].map((file) => file.replace(/\\/g, '/')), - ), - expect.anything(), + const root = fileURLToPath( + new URL('./fixtures/watcher/nested-root', import.meta.url), ) + server = await createServer({ root }) + await new Promise((resolve) => server!.watcher.once('ready', resolve)) + // Perform retries here as chokidar may still not be completely watching all directories + // after the `ready` event + await vi.waitFor(() => { + const watchedDirs = Object.keys(server!.watcher.getWatched()) + expect(watchedDirs).toEqual( + expect.arrayContaining([ + root, + resolve(root, '../config-deps'), + resolve(root, '../custom-env'), + resolve(root, '../custom-public'), + ]), + ) + }) }) }) diff --git a/packages/vite/src/node/ssr/runtime/__tests__/utils.ts b/packages/vite/src/node/ssr/runtime/__tests__/utils.ts index 7e14bb986e828a..5d8c06d4bc3a46 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/utils.ts +++ b/packages/vite/src/node/ssr/runtime/__tests__/utils.ts @@ -38,9 +38,7 @@ export async function createViteRuntimeTester( server: { middlewareMode: true, watch: null, - hmr: { - port: 9609, - }, + ws: false, }, ssr: { external: ['@vitejs/cjs-external', '@vitejs/esm-external'], diff --git a/vitest.config.ts b/vitest.config.ts index 2802969bc155c2..4167b96a90a280 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -14,6 +14,7 @@ export default defineConfig({ './playground-temp/**/*.*', ], testTimeout: 20000, + isolate: false, }, esbuild: { target: 'node18', From 0a76652c335e7c0bd8d223186b5533c0e10cac90 Mon Sep 17 00:00:00 2001 From: gtmnayan <50981692+gtm-nayan@users.noreply.github.com> Date: Thu, 13 Jun 2024 15:21:20 +0545 Subject: [PATCH 617/656] fix(ssrTransform): handle arbitrary module namespace identifiers (#17446) --- .../node/ssr/__tests__/ssrTransform.spec.ts | 22 ++++++++++ packages/vite/src/node/ssr/ssrTransform.ts | 41 +++++++++++++++---- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts index 9d1e5403c67845..1c268835117deb 100644 --- a/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts +++ b/packages/vite/src/node/ssr/__tests__/ssrTransform.spec.ts @@ -27,6 +27,17 @@ test('named import', async () => { `) }) +test('named import: arbitrary module namespace specifier', async () => { + expect( + await ssrTransformSimpleCode( + `import { "some thing" as ref } from 'vue';function foo() { return ref(0) }`, + ), + ).toMatchInlineSnapshot(` + "const __vite_ssr_import_0__ = await __vite_ssr_import__("vue", {"importedNames":["some thing"]}); + function foo() { return __vite_ssr_import_0__["some thing"](0) }" + `) +}) + test('namespace import', async () => { expect( await ssrTransformSimpleCode( @@ -120,6 +131,17 @@ test('export * as from', async () => { `) }) +test('export as arbitrary module namespace identifier', async () => { + expect( + await ssrTransformSimpleCode( + `const something = "Something";export { something as "arbitrary string" };`, + ), + ).toMatchInlineSnapshot(` + "const something = "Something"; + Object.defineProperty(__vite_ssr_exports__, "arbitrary string", { enumerable: true, configurable: true, get(){ return something }});" + `) +}) + test('export default', async () => { expect( await ssrTransformSimpleCode(`export default {}`), diff --git a/packages/vite/src/node/ssr/ssrTransform.ts b/packages/vite/src/node/ssr/ssrTransform.ts index 61849d0e3ca4f2..bd99493c1b86a3 100644 --- a/packages/vite/src/node/ssr/ssrTransform.ts +++ b/packages/vite/src/node/ssr/ssrTransform.ts @@ -139,7 +139,11 @@ async function ssrTransformScript( const importId = defineImport(hoistIndex, node.source.value as string, { importedNames: node.specifiers .map((s) => { - if (s.type === 'ImportSpecifier') return s.imported.name + 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 else if (s.type === 'ImportDefaultSpecifier') return 'default' }) .filter(isDefined), @@ -147,10 +151,20 @@ async function ssrTransformScript( s.remove(node.start, node.end) for (const spec of node.specifiers) { if (spec.type === 'ImportSpecifier') { - idToImportMap.set( - spec.local.name, - `${importId}.${spec.imported.name}`, - ) + if (spec.imported.type === 'Identifier') { + idToImportMap.set( + spec.local.name, + `${importId}.${spec.imported.name}`, + ) + } 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) + }]`, + ) + } } else if (spec.type === 'ImportDefaultSpecifier') { idToImportMap.set(spec.local.name, `${importId}.default`) } else { @@ -194,9 +208,15 @@ async function ssrTransformScript( }, ) 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, - spec.exported.name, + exportedAs, `${importId}.${spec.local.name}`, ) } @@ -205,7 +225,14 @@ async function ssrTransformScript( for (const spec of node.specifiers) { const local = spec.local.name const binding = idToImportMap.get(local) - defineExport(node.end, spec.exported.name, binding || 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 + + defineExport(node.end, exportedAs, binding || local) } } } From cf3f40cd383509fdb1294568fb38bacfac419ea1 Mon Sep 17 00:00:00 2001 From: Phil Bates Date: Thu, 13 Jun 2024 13:46:57 +0100 Subject: [PATCH 618/656] feat(create-vite): use "solution" tsconfig so that vite.config.ts is type checked (#15913) Co-authored-by: sapphi-red <49056869+sapphi-red@users.noreply.github.com> --- .../template-preact-ts/package.json | 2 +- .../template-preact-ts/tsconfig.app.json | 31 ++++++++++++++++ .../template-preact-ts/tsconfig.json | 35 +++++-------------- .../template-preact-ts/tsconfig.node.json | 4 ++- .../create-vite/template-qwik-ts/package.json | 2 +- .../template-qwik-ts/tsconfig.app.json | 27 ++++++++++++++ .../template-qwik-ts/tsconfig.json | 33 +++++------------ .../template-qwik-ts/tsconfig.node.json | 4 ++- .../template-react-ts/package.json | 2 +- .../template-react-ts/tsconfig.app.json | 26 ++++++++++++++ .../template-react-ts/tsconfig.json | 32 +++++------------ .../template-react-ts/tsconfig.node.json | 4 ++- .../template-solid-ts/package.json | 2 +- .../template-solid-ts/tsconfig.app.json | 27 ++++++++++++++ .../template-solid-ts/tsconfig.json | 33 +++++------------ .../template-solid-ts/tsconfig.node.json | 4 ++- .../template-svelte-ts/package.json | 2 +- .../template-svelte-ts/tsconfig.node.json | 4 ++- .../create-vite/template-vue-ts/package.json | 2 +- .../template-vue-ts/tsconfig.app.json | 26 ++++++++++++++ .../create-vite/template-vue-ts/tsconfig.json | 32 +++++------------ .../template-vue-ts/tsconfig.node.json | 4 ++- 22 files changed, 205 insertions(+), 133 deletions(-) create mode 100644 packages/create-vite/template-preact-ts/tsconfig.app.json create mode 100644 packages/create-vite/template-qwik-ts/tsconfig.app.json create mode 100644 packages/create-vite/template-react-ts/tsconfig.app.json create mode 100644 packages/create-vite/template-solid-ts/tsconfig.app.json create mode 100644 packages/create-vite/template-vue-ts/tsconfig.app.json diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index a1f7a0d6c11519..c75940c20afeb9 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsc -b && vite build", "preview": "vite preview" }, "dependencies": { diff --git a/packages/create-vite/template-preact-ts/tsconfig.app.json b/packages/create-vite/template-preact-ts/tsconfig.app.json new file mode 100644 index 00000000000000..d4070ad767e716 --- /dev/null +++ b/packages/create-vite/template-preact-ts/tsconfig.app.json @@ -0,0 +1,31 @@ +{ + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + "paths": { + "react": ["./node_modules/preact/compat/"], + "react-dom": ["./node_modules/preact/compat/"] + }, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "jsxImportSource": "preact", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/packages/create-vite/template-preact-ts/tsconfig.json b/packages/create-vite/template-preact-ts/tsconfig.json index d13245791d3674..ea9d0cd8255683 100644 --- a/packages/create-vite/template-preact-ts/tsconfig.json +++ b/packages/create-vite/template-preact-ts/tsconfig.json @@ -1,30 +1,11 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - "paths": { - "react": ["./node_modules/preact/compat/"], - "react-dom": ["./node_modules/preact/compat/"] + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" }, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - "jsxImportSource": "preact", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + { + "path": "./tsconfig.node.json" + } + ] } diff --git a/packages/create-vite/template-preact-ts/tsconfig.node.json b/packages/create-vite/template-preact-ts/tsconfig.node.json index 97ede7ee6f2d37..3afdd6e38438be 100644 --- a/packages/create-vite/template-preact-ts/tsconfig.node.json +++ b/packages/create-vite/template-preact-ts/tsconfig.node.json @@ -1,11 +1,13 @@ { "compilerOptions": { "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", "allowSyntheticDefaultImports": true, - "strict": true + "strict": true, + "noEmit": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 3151e75586ab4d..04154ad578db0c 100644 --- a/packages/create-vite/template-qwik-ts/package.json +++ b/packages/create-vite/template-qwik-ts/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsc -b && vite build", "preview": "serve dist" }, "devDependencies": { diff --git a/packages/create-vite/template-qwik-ts/tsconfig.app.json b/packages/create-vite/template-qwik-ts/tsconfig.app.json new file mode 100644 index 00000000000000..0eebf12f108396 --- /dev/null +++ b/packages/create-vite/template-qwik-ts/tsconfig.app.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + "jsxImportSource": "@builder.io/qwik", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/packages/create-vite/template-qwik-ts/tsconfig.json b/packages/create-vite/template-qwik-ts/tsconfig.json index 9a262f041fc748..ea9d0cd8255683 100644 --- a/packages/create-vite/template-qwik-ts/tsconfig.json +++ b/packages/create-vite/template-qwik-ts/tsconfig.json @@ -1,26 +1,11 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - "jsxImportSource": "@builder.io/qwik", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ] } diff --git a/packages/create-vite/template-qwik-ts/tsconfig.node.json b/packages/create-vite/template-qwik-ts/tsconfig.node.json index 97ede7ee6f2d37..3afdd6e38438be 100644 --- a/packages/create-vite/template-qwik-ts/tsconfig.node.json +++ b/packages/create-vite/template-qwik-ts/tsconfig.node.json @@ -1,11 +1,13 @@ { "compilerOptions": { "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", "allowSyntheticDefaultImports": true, - "strict": true + "strict": true, + "noEmit": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 6e15ae84b5ea67..410fb665e6c337 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsc -b && vite build", "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", "preview": "vite preview" }, diff --git a/packages/create-vite/template-react-ts/tsconfig.app.json b/packages/create-vite/template-react-ts/tsconfig.app.json new file mode 100644 index 00000000000000..97469b6cdf832d --- /dev/null +++ b/packages/create-vite/template-react-ts/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "module": "ESNext", + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "react-jsx", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/packages/create-vite/template-react-ts/tsconfig.json b/packages/create-vite/template-react-ts/tsconfig.json index a7fc6fbf23de2a..ea9d0cd8255683 100644 --- a/packages/create-vite/template-react-ts/tsconfig.json +++ b/packages/create-vite/template-react-ts/tsconfig.json @@ -1,25 +1,11 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "react-jsx", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ] } diff --git a/packages/create-vite/template-react-ts/tsconfig.node.json b/packages/create-vite/template-react-ts/tsconfig.node.json index 97ede7ee6f2d37..3afdd6e38438be 100644 --- a/packages/create-vite/template-react-ts/tsconfig.node.json +++ b/packages/create-vite/template-react-ts/tsconfig.node.json @@ -1,11 +1,13 @@ { "compilerOptions": { "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", "allowSyntheticDefaultImports": true, - "strict": true + "strict": true, + "noEmit": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index c80543d2061158..9bb0984357d18e 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "tsc && vite build", + "build": "tsc -b && vite build", "preview": "vite preview" }, "dependencies": { diff --git a/packages/create-vite/template-solid-ts/tsconfig.app.json b/packages/create-vite/template-solid-ts/tsconfig.app.json new file mode 100644 index 00000000000000..2302908f785d18 --- /dev/null +++ b/packages/create-vite/template-solid-ts/tsconfig.app.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/packages/create-vite/template-solid-ts/tsconfig.json b/packages/create-vite/template-solid-ts/tsconfig.json index 3999958409cd1d..ea9d0cd8255683 100644 --- a/packages/create-vite/template-solid-ts/tsconfig.json +++ b/packages/create-vite/template-solid-ts/tsconfig.json @@ -1,26 +1,11 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "preserve", - "jsxImportSource": "solid-js", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ] } diff --git a/packages/create-vite/template-solid-ts/tsconfig.node.json b/packages/create-vite/template-solid-ts/tsconfig.node.json index 97ede7ee6f2d37..3afdd6e38438be 100644 --- a/packages/create-vite/template-solid-ts/tsconfig.node.json +++ b/packages/create-vite/template-solid-ts/tsconfig.node.json @@ -1,11 +1,13 @@ { "compilerOptions": { "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", "allowSyntheticDefaultImports": true, - "strict": true + "strict": true, + "noEmit": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-svelte-ts/package.json b/packages/create-vite/template-svelte-ts/package.json index 3eec40e3e23108..b3f32119f22b31 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -7,7 +7,7 @@ "dev": "vite", "build": "vite build", "preview": "vite preview", - "check": "svelte-check --tsconfig ./tsconfig.json" + "check": "svelte-check --tsconfig ./tsconfig.json && tsc -p tsconfig.node.json" }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "^3.1.1", diff --git a/packages/create-vite/template-svelte-ts/tsconfig.node.json b/packages/create-vite/template-svelte-ts/tsconfig.node.json index d02c37dfe5fd60..6c2d8703f35ab1 100644 --- a/packages/create-vite/template-svelte-ts/tsconfig.node.json +++ b/packages/create-vite/template-svelte-ts/tsconfig.node.json @@ -1,10 +1,12 @@ { "compilerOptions": { "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", - "strict": true + "strict": true, + "noEmit": true }, "include": ["vite.config.ts"] } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 9aa558222085b3..326079ba3000e4 100644 --- a/packages/create-vite/template-vue-ts/package.json +++ b/packages/create-vite/template-vue-ts/package.json @@ -5,7 +5,7 @@ "type": "module", "scripts": { "dev": "vite", - "build": "vue-tsc && vite build", + "build": "vue-tsc -b && vite build", "preview": "vite preview" }, "dependencies": { diff --git a/packages/create-vite/template-vue-ts/tsconfig.app.json b/packages/create-vite/template-vue-ts/tsconfig.app.json new file mode 100644 index 00000000000000..7d77f5f710a5d0 --- /dev/null +++ b/packages/create-vite/template-vue-ts/tsconfig.app.json @@ -0,0 +1,26 @@ +{ + "compilerOptions": { + "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "ES2020", + "useDefineForClassFields": true, + "module": "ESNext", + "lib": ["ES2020", "DOM", "DOM.Iterable"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "resolveJsonModule": true, + "isolatedModules": true, + "noEmit": true, + "jsx": "preserve", + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"] +} diff --git a/packages/create-vite/template-vue-ts/tsconfig.json b/packages/create-vite/template-vue-ts/tsconfig.json index 9e03e60496f0ca..ea9d0cd8255683 100644 --- a/packages/create-vite/template-vue-ts/tsconfig.json +++ b/packages/create-vite/template-vue-ts/tsconfig.json @@ -1,25 +1,11 @@ { - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "preserve", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"], - "references": [{ "path": "./tsconfig.node.json" }] + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.node.json" + } + ] } diff --git a/packages/create-vite/template-vue-ts/tsconfig.node.json b/packages/create-vite/template-vue-ts/tsconfig.node.json index 97ede7ee6f2d37..3afdd6e38438be 100644 --- a/packages/create-vite/template-vue-ts/tsconfig.node.json +++ b/packages/create-vite/template-vue-ts/tsconfig.node.json @@ -1,11 +1,13 @@ { "compilerOptions": { "composite": true, + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", "skipLibCheck": true, "module": "ESNext", "moduleResolution": "bundler", "allowSyntheticDefaultImports": true, - "strict": true + "strict": true, + "noEmit": true }, "include": ["vite.config.ts"] } From 29a260cb16025408defc2e8186d1fbf17ee099ac Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 13 Jun 2024 20:49:59 +0800 Subject: [PATCH 619/656] release: v5.3.0 --- packages/vite/CHANGELOG.md | 9 +++++++++ packages/vite/package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 8b68943510f5f9..03ebd1cf9055de 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,12 @@ +## 5.3.0 (2024-06-13) + +* fix: typo in client log (#17363) ([68aa9f8](https://github.com/vitejs/vite/commit/68aa9f8)), closes [#17363](https://github.com/vitejs/vite/issues/17363) +* fix(ssrTransform): handle arbitrary module namespace identifiers (#17446) ([0a76652](https://github.com/vitejs/vite/commit/0a76652)), closes [#17446](https://github.com/vitejs/vite/issues/17446) +* test: disable isolate for unit test (#17448) ([f16fae5](https://github.com/vitejs/vite/commit/f16fae5)), closes [#17448](https://github.com/vitejs/vite/issues/17448) +* feat: asset type add bmp (#17439) ([ec287f8](https://github.com/vitejs/vite/commit/ec287f8)), closes [#17439](https://github.com/vitejs/vite/issues/17439) + + + ## 5.3.0-beta.2 (2024-06-10) * fix: gracefully shutdown preview server on `SIGTERM` (fix #12990) (#17333) ([2207a68](https://github.com/vitejs/vite/commit/2207a68)), closes [#12990](https://github.com/vitejs/vite/issues/12990) [#17333](https://github.com/vitejs/vite/issues/17333) diff --git a/packages/vite/package.json b/packages/vite/package.json index f97410e2787ac3..721bac5f11b957 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.3.0-beta.2", + "version": "5.3.0", "type": "module", "license": "MIT", "author": "Evan You", From 3e2707122033a5be074d88dbeb244526dee85bb9 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 14 Jun 2024 14:43:14 +0800 Subject: [PATCH 620/656] fix(build): handle preload treeshaking for commas (#17472) --- .../src/node/plugins/importAnalysisBuild.ts | 27 +++++++++---------- .../__tests__/dynamic-import.spec.ts | 6 +++++ playground/dynamic-import/nested/index.js | 26 +++++++++++++++--- .../nested/treeshaken/syntax.js | 6 +++++ .../nested/treeshaken/treeshaken.js | 3 +++ 5 files changed, 50 insertions(+), 18 deletions(-) create mode 100644 playground/dynamic-import/nested/treeshaken/syntax.js diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 3386b1a5a4948b..fcf92bebd8b10f 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -42,7 +42,7 @@ const preloadMarkerRE = new RegExp(preloadMarker, 'g') const dynamicImportPrefixRE = /import\s*\(/ const dynamicImportTreeshakenRE = - /(\b(const|let|var)\s+(\{[^}.]+\})\s*=\s*await\s+import\([^)]+\))|(\(\s*await\s+import\([^)]+\)\s*\)(\??\.[^;[\s]+)+)|\bimport\([^)]+\)(\s*\.then\([^{]*?\(\s*\{([^}.]+)\})/g + /((?:\bconst\s+|\blet\s+|\bvar\s+|,\s*)(\{[^}.]+\})\s*=\s*await\s+import\([^)]+\))|(\(\s*await\s+import\([^)]+\)\s*\)(\??\.[\w$]+))|\bimport\([^)]+\)(\s*\.then\([^{]*?\(\s*\{([^}.]+)\})/g function toRelativePath(filename: string, importer: string) { const relPath = path.posix.relative(path.posix.dirname(importer), filename) @@ -252,48 +252,47 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { /* handle `const {foo} = await import('foo')` * * match[1]: `const {foo} = await import('foo')` - * match[2]: `const` - * match[3]: `{foo}` + * match[2]: `{foo}` * import end: `const {foo} = await import('foo')_` * ^ */ if (match[1]) { dynamicImports[dynamicImportTreeshakenRE.lastIndex] = { - declaration: `${match[2]} ${match[3]}`, - names: match[3]?.trim(), + declaration: `const ${match[2]}`, + names: match[2]?.trim(), } continue } /* handle `(await import('foo')).foo` * - * match[4]: `(await import('foo')).foo` - * match[5]: `.foo` + * match[3]: `(await import('foo')).foo` + * match[4]: `.foo` * import end: `(await import('foo'))` * ^ */ - if (match[4]) { - let names = match[5].match(/\.([^.?]+)/)?.[1] || '' + if (match[3]) { + let names = match[4].match(/\.([^.?]+)/)?.[1] || '' // avoid `default` keyword error if (names === 'default') { names = 'default: __vite_default__' } dynamicImports[ - dynamicImportTreeshakenRE.lastIndex - match[5]?.length - 1 + dynamicImportTreeshakenRE.lastIndex - match[4]?.length - 1 ] = { declaration: `const {${names}}`, names: `{ ${names} }` } continue } /* handle `import('foo').then(({foo})=>{})` * - * match[6]: `.then(({foo}` - * match[7]: `foo` + * match[5]: `.then(({foo}` + * match[6]: `foo` * import end: `import('foo').` * ^ */ - const names = match[7]?.trim() + const names = match[6]?.trim() dynamicImports[ - dynamicImportTreeshakenRE.lastIndex - match[6]?.length + dynamicImportTreeshakenRE.lastIndex - match[5]?.length ] = { declaration: `const {${names}}`, names: `{ ${names} }` } } } diff --git a/playground/dynamic-import/__tests__/dynamic-import.spec.ts b/playground/dynamic-import/__tests__/dynamic-import.spec.ts index 217211eb85d286..b94b712de37c3e 100644 --- a/playground/dynamic-import/__tests__/dynamic-import.spec.ts +++ b/playground/dynamic-import/__tests__/dynamic-import.spec.ts @@ -193,6 +193,12 @@ test('dynamic import treeshaken log', async () => { expect(log).not.toContain('treeshaken removed') }) +test('dynamic import syntax parsing', async () => { + const log = browserLogs.join('\n') + expect(log).toContain('treeshaken syntax foo') + expect(log).toContain('treeshaken syntax default') +}) + test.runIf(isBuild)('dynamic import treeshaken file', async () => { expect(findAssetFile(/treeshaken.+\.js$/)).not.toContain('treeshaken removed') }) diff --git a/playground/dynamic-import/nested/index.js b/playground/dynamic-import/nested/index.js index 175dd3969d6d7f..8357cbc7afca42 100644 --- a/playground/dynamic-import/nested/index.js +++ b/playground/dynamic-import/nested/index.js @@ -138,6 +138,7 @@ import(`../nested/nested/${base}.js`).then((mod) => { ;(async function () { const { foo } = await import('./treeshaken/treeshaken.js') const { bar, default: tree } = await import('./treeshaken/treeshaken.js') + const default2 = (await import('./treeshaken/treeshaken.js')).default const baz1 = (await import('./treeshaken/treeshaken.js')).baz1 const baz2 = (await import('./treeshaken/treeshaken.js')).baz2.log const baz3 = (await import('./treeshaken/treeshaken.js')).baz3?.log @@ -145,18 +146,35 @@ import(`../nested/nested/${base}.js`).then((mod) => { ({ baz4 }) => baz4, ) const baz5 = await import('./treeshaken/treeshaken.js').then(function ({ - baz5, - }) { - return baz5 - }) + baz5, + }) { + return baz5 + }), + { baz6 } = await import('./treeshaken/treeshaken.js') foo() bar() tree() + ;(await import('./treeshaken/treeshaken.js')).default() + default2() baz1() baz2() baz3() baz4() baz5() + baz6() +})() +// Test syntax parsing only +;(async function () { + const default1 = await import('./treeshaken/syntax.js').then( + (mod) => mod.default, + ) + const default2 = (await import('./treeshaken/syntax.js')).default, + other = () => {} + const foo = await import('./treeshaken/syntax.js').then((mod) => mod.foo) + default1() + default2() + other() + foo() })() import(`../nested/static.js`).then((mod) => { diff --git a/playground/dynamic-import/nested/treeshaken/syntax.js b/playground/dynamic-import/nested/treeshaken/syntax.js new file mode 100644 index 00000000000000..7ee55ddefc403d --- /dev/null +++ b/playground/dynamic-import/nested/treeshaken/syntax.js @@ -0,0 +1,6 @@ +export const foo = () => { + console.log('treeshaken syntax foo') +} +export default () => { + console.log('treeshaken syntax default') +} diff --git a/playground/dynamic-import/nested/treeshaken/treeshaken.js b/playground/dynamic-import/nested/treeshaken/treeshaken.js index f56824fc996240..3fdc9ae7a7808f 100644 --- a/playground/dynamic-import/nested/treeshaken/treeshaken.js +++ b/playground/dynamic-import/nested/treeshaken/treeshaken.js @@ -23,6 +23,9 @@ export const baz4 = () => { export const baz5 = () => { console.log('treeshaken baz5') } +export const baz6 = () => { + console.log('treeshaken baz6') +} export const removed = () => { console.log('treeshaken removed') } From af194e2f25bb6bd836a75b358e8071a9225639a1 Mon Sep 17 00:00:00 2001 From: Howard Chiam Date: Fri, 14 Jun 2024 00:46:48 -0600 Subject: [PATCH 621/656] docs(guide): explicitly mention how to install vite (#16583) (#17404) Co-authored-by: bluwy --- docs/guide/index.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/docs/guide/index.md b/docs/guide/index.md index f76d0237918472..57eb89eb0053fd 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -105,6 +105,44 @@ npm install npm run dev ``` +## Manual Installation + +In your project, you can install the `vite` CLI using: + +::: code-group + +```bash [NPM] +$ npm install -D vite +``` + +```bash [Yarn] +$ yarn add -D vite +``` + +```bash [PNPM] +$ pnpm add -D vite +``` + +```bash [Bun] +$ bun add -D vite +``` + +::: + +And create an `index.html` file like this: + +```html +

    Hello Vite!

    +``` + +Then run the `vite` CLI in your terminal: + +```bash +vite +``` + +The `index.html` will be served on `http://localhost:5173`. + ## `index.html` and Project Root One thing you may have noticed is that in a Vite project, `index.html` is front-and-central instead of being tucked away inside `public`. This is intentional: during development Vite is a server, and `index.html` is the entry point to your application. From 1f09344b57b253c0435290de1d6e147c8c9b50d5 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Fri, 14 Jun 2024 09:41:27 +0200 Subject: [PATCH 622/656] chore: consolidate changelog for 5.3 (#17476) --- packages/vite/CHANGELOG.md | 68 ++++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 29 deletions(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 03ebd1cf9055de..355832e8fe6e64 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,50 +1,60 @@ ## 5.3.0 (2024-06-13) -* fix: typo in client log (#17363) ([68aa9f8](https://github.com/vitejs/vite/commit/68aa9f8)), closes [#17363](https://github.com/vitejs/vite/issues/17363) -* fix(ssrTransform): handle arbitrary module namespace identifiers (#17446) ([0a76652](https://github.com/vitejs/vite/commit/0a76652)), closes [#17446](https://github.com/vitejs/vite/issues/17446) -* test: disable isolate for unit test (#17448) ([f16fae5](https://github.com/vitejs/vite/commit/f16fae5)), closes [#17448](https://github.com/vitejs/vite/issues/17448) +### Features + * feat: asset type add bmp (#17439) ([ec287f8](https://github.com/vitejs/vite/commit/ec287f8)), closes [#17439](https://github.com/vitejs/vite/issues/17439) +* feat(typescript): update tsconfck to add support for `${configDir}` replacement in ts 5.5 (#17350) ([4835e2b](https://github.com/vitejs/vite/commit/4835e2b)), closes [#17350](https://github.com/vitejs/vite/issues/17350) +* refactor(build): remove quotes from preload marker (#16562) ([9853190](https://github.com/vitejs/vite/commit/9853190)), closes [#16562](https://github.com/vitejs/vite/issues/16562) +* feat: add 'system' library format (#11256) ([4102ca9](https://github.com/vitejs/vite/commit/4102ca9)), closes [#11256](https://github.com/vitejs/vite/issues/11256) +* feat: add an option to not start a websocket server (#16219) ([14b5ced](https://github.com/vitejs/vite/commit/14b5ced)), closes [#16219](https://github.com/vitejs/vite/issues/16219) +* feat: add headTagInsertCheck warning (#16555) ([9f02a9f](https://github.com/vitejs/vite/commit/9f02a9f)), closes [#16555](https://github.com/vitejs/vite/issues/16555) +* feat(asset): support `/*@vite-ignore*/` for `new URL(, import.meta.url)` (#16590) ([8880bc5](https://github.com/vitejs/vite/commit/8880bc5)), closes [#16590](https://github.com/vitejs/vite/issues/16590) +* chore(deps): update esbuild (#17290) ([5f13bf8](https://github.com/vitejs/vite/commit/5f13bf8)), closes [#17290](https://github.com/vitejs/vite/issues/17290) +### Performance +* refactor: plugin container (#17288) ([4aa4a80](https://github.com/vitejs/vite/commit/4aa4a80)), closes [#17288](https://github.com/vitejs/vite/issues/17288) +* refactor: remove acorn (#16238) ([454e2d1](https://github.com/vitejs/vite/commit/454e2d1)), closes [#16238](https://github.com/vitejs/vite/issues/16238) -## 5.3.0-beta.2 (2024-06-10) +### Fixes +* fix: typo in client log (#17363) ([68aa9f8](https://github.com/vitejs/vite/commit/68aa9f8)), closes [#17363](https://github.com/vitejs/vite/issues/17363) +* fix(ssrTransform): handle arbitrary module namespace identifiers (#17446) ([0a76652](https://github.com/vitejs/vite/commit/0a76652)), closes [#17446](https://github.com/vitejs/vite/issues/17446) * fix: gracefully shutdown preview server on `SIGTERM` (fix #12990) (#17333) ([2207a68](https://github.com/vitejs/vite/commit/2207a68)), closes [#12990](https://github.com/vitejs/vite/issues/12990) [#17333](https://github.com/vitejs/vite/issues/17333) * fix(css): ensure order of extracted CSS (#16588) ([a52ed1d](https://github.com/vitejs/vite/commit/a52ed1d)), closes [#16588](https://github.com/vitejs/vite/issues/16588) * fix(deps): update all non-major dependencies (#17430) ([4453d35](https://github.com/vitejs/vite/commit/4453d35)), closes [#17430](https://github.com/vitejs/vite/issues/17430) -* build: use esbuild to speedup building vite package (#17299) ([6db2515](https://github.com/vitejs/vite/commit/6db2515)), closes [#17299](https://github.com/vitejs/vite/issues/17299) -* chore: add error recovery option to LightningCSSOptions (#17420) ([e04193f](https://github.com/vitejs/vite/commit/e04193f)), closes [#17420](https://github.com/vitejs/vite/issues/17420) -* chore(deps): update dependency @rollup/plugin-commonjs to v26 (#17431) ([507b3de](https://github.com/vitejs/vite/commit/507b3de)), closes [#17431](https://github.com/vitejs/vite/issues/17431) - - - -## 5.3.0-beta.1 (2024-06-07) - * fix(build): allow dynamic import treeshaking when injecting preload (#14221) ([f43f71f](https://github.com/vitejs/vite/commit/f43f71f)), closes [#14221](https://github.com/vitejs/vite/issues/14221) * fix(css): handle lightningcss minification in Deno (#17372) ([b3f5bd1](https://github.com/vitejs/vite/commit/b3f5bd1)), closes [#17372](https://github.com/vitejs/vite/issues/17372) * fix(css): handle url replacing when preprocessing with lightningcss (#17364) ([6fbb5e0](https://github.com/vitejs/vite/commit/6fbb5e0)), closes [#17364](https://github.com/vitejs/vite/issues/17364) * fix(ssr): remove pure CSS dynamic import (#17371) ([67ff94b](https://github.com/vitejs/vite/commit/67ff94b)), closes [#17371](https://github.com/vitejs/vite/issues/17371) * fix(ssr): resolve interlocking circular dependency issues (#15395) ([687c38b](https://github.com/vitejs/vite/commit/687c38b)), closes [#15395](https://github.com/vitejs/vite/issues/15395) +* fix: adjust import analysis behavior to match Node (#16738) ([f599ab4](https://github.com/vitejs/vite/commit/f599ab4)), closes [#16738](https://github.com/vitejs/vite/issues/16738) +* fix: prevent unhandledRejection if `--open` fails (#16726) ([1f60647](https://github.com/vitejs/vite/commit/1f60647)), closes [#16726](https://github.com/vitejs/vite/issues/16726) +* fix(optimize-deps): don't externalize JS files imported with asset extensions (#16242) ([4161843](https://github.com/vitejs/vite/commit/4161843)), closes [#16242](https://github.com/vitejs/vite/issues/16242) +* fix(proxy): rewrite the origin header to match the target for ws proxy (#16558) ([7b0a65e](https://github.com/vitejs/vite/commit/7b0a65e)), closes [#16558](https://github.com/vitejs/vite/issues/16558) + +### Chore + +* test: disable isolate for unit test (#17448) ([f16fae5](https://github.com/vitejs/vite/commit/f16fae5)), closes [#17448](https://github.com/vitejs/vite/issues/17448) +* build: use esbuild to speedup building vite package (#17299) ([6db2515](https://github.com/vitejs/vite/commit/6db2515)), closes [#17299](https://github.com/vitejs/vite/issues/17299) +* chore: add error recovery option to LightningCSSOptions (#17420) ([e04193f](https://github.com/vitejs/vite/commit/e04193f)), closes [#17420](https://github.com/vitejs/vite/issues/17420) +* chore(deps): update dependency @rollup/plugin-commonjs to v26 (#17431) ([507b3de](https://github.com/vitejs/vite/commit/507b3de)), closes [#17431](https://github.com/vitejs/vite/issues/17431) * chore: add region comment (#17370) ([a8c7083](https://github.com/vitejs/vite/commit/a8c7083)), closes [#17370](https://github.com/vitejs/vite/issues/17370) * chore(deps): update all non-major dependencies (#17373) ([f2d52f1](https://github.com/vitejs/vite/commit/f2d52f1)), closes [#17373](https://github.com/vitejs/vite/issues/17373) -* feat(typescript): update tsconfck to add support for `${configDir}` replacement in ts 5.5 (#17350) ([4835e2b](https://github.com/vitejs/vite/commit/4835e2b)), closes [#17350](https://github.com/vitejs/vite/issues/17350) -## 5.3.0-beta.0 (2024-05-30) +### Previous Changelogs + +#### [5.3.0-beta.2](https://github.com/vitejs/vite/compare/v5.3.0-beta.1...v5.3.0-beta.2) (2024-06-10) +See [5.3.0-beta.2 changelog](https://github.com/vitejs/vite/blob/v5.3.0-beta.2/packages/vite/CHANGELOG.md) + +#### [5.3.0-beta.1](https://github.com/vitejs/vite/compare/v5.3.0-beta.0...v5.3.0-beta.1) (2024-06-07) +See [5.3.0-beta.1 changelog](https://github.com/vitejs/vite/blob/v5.3.0-beta.1/packages/vite/CHANGELOG.md) + +#### [5.3.0-beta.0](https://github.com/vitejs/vite/compare/v5.2.12....v5.3.0-beta.0) (2024-05-30) +See [5.3.0-beta.0 changelog](https://github.com/vitejs/vite/blob/v5.3.0-beta.0/packages/vite/CHANGELOG.md) -* fix: adjust import analysis behavior to match Node (#16738) ([f599ab4](https://github.com/vitejs/vite/commit/f599ab4)), closes [#16738](https://github.com/vitejs/vite/issues/16738) -* fix: prevent unhandledRejection if `--open` fails (#16726) ([1f60647](https://github.com/vitejs/vite/commit/1f60647)), closes [#16726](https://github.com/vitejs/vite/issues/16726) -* fix(optimize-deps): don't externalize JS files imported with asset extensions (#16242) ([4161843](https://github.com/vitejs/vite/commit/4161843)), closes [#16242](https://github.com/vitejs/vite/issues/16242) -* fix(proxy): rewrite the origin header to match the target for ws proxy (#16558) ([7b0a65e](https://github.com/vitejs/vite/commit/7b0a65e)), closes [#16558](https://github.com/vitejs/vite/issues/16558) -* refactor: plugin container (#17288) ([4aa4a80](https://github.com/vitejs/vite/commit/4aa4a80)), closes [#17288](https://github.com/vitejs/vite/issues/17288) -* refactor: remove acorn (#16238) ([454e2d1](https://github.com/vitejs/vite/commit/454e2d1)), closes [#16238](https://github.com/vitejs/vite/issues/16238) -* refactor(build): remove quotes from preload marker (#16562) ([9853190](https://github.com/vitejs/vite/commit/9853190)), closes [#16562](https://github.com/vitejs/vite/issues/16562) -* feat: add 'system' library format (#11256) ([4102ca9](https://github.com/vitejs/vite/commit/4102ca9)), closes [#11256](https://github.com/vitejs/vite/issues/11256) -* feat: add an option to not start a websocket server (#16219) ([14b5ced](https://github.com/vitejs/vite/commit/14b5ced)), closes [#16219](https://github.com/vitejs/vite/issues/16219) -* feat: add headTagInsertCheck warning (#16555) ([9f02a9f](https://github.com/vitejs/vite/commit/9f02a9f)), closes [#16555](https://github.com/vitejs/vite/issues/16555) -* feat(asset): support `/*@vite-ignore*/` for `new URL(, import.meta.url)` (#16590) ([8880bc5](https://github.com/vitejs/vite/commit/8880bc5)), closes [#16590](https://github.com/vitejs/vite/issues/16590) -* chore(deps): update esbuild (#17290) ([5f13bf8](https://github.com/vitejs/vite/commit/5f13bf8)), closes [#17290](https://github.com/vitejs/vite/issues/17290) @@ -1827,7 +1837,7 @@ Vite is now using [Rollup 3](https://github.com/vitejs/vite/issues/9870), which The modern browser build now targets `safari14` by default for wider ES2020 compatibility (https://github.com/vitejs/vite/issues/9063). This means that modern builds can now use [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) and that the [nullish coallessing operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing) isn't transpiled anymore. If you need to support older browsers, you can add [`@vitejs/plugin-legacy`](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy) as usual. -#### Importing CSS as a string +#### Importing CSS as a string In Vite 3, importing the default export of a `.css` file could introduce a double loading of CSS. @@ -2021,7 +2031,7 @@ See [4.0.0-alpha.0 changelog](https://github.com/vitejs/vite/blob/v4.0.0-alpha.0 * fix: escape msg in render restricted error html, backport (#12889) (#12892) ([b48ac2a](https://github.com/vitejs/vite/commit/b48ac2a)), closes [#12889](https://github.com/vitejs/vite/issues/12889) [#12892](https://github.com/vitejs/vite/issues/12892) - + ## 3.2.5 (2022-12-05) * chore: cherry pick more v4 bug fixes to v3 (#11189) ([eba9b42](https://github.com/vitejs/vite/commit/eba9b42)), closes [#11189](https://github.com/vitejs/vite/issues/11189) [#10949](https://github.com/vitejs/vite/issues/10949) [#11056](https://github.com/vitejs/vite/issues/11056) [#8663](https://github.com/vitejs/vite/issues/8663) [#10958](https://github.com/vitejs/vite/issues/10958) [#11120](https://github.com/vitejs/vite/issues/11120) [#11122](https://github.com/vitejs/vite/issues/11122) [#11123](https://github.com/vitejs/vite/issues/11123) [#11132](https://github.com/vitejs/vite/issues/11132) @@ -2104,7 +2114,7 @@ Laravel and other backends integrations will now get entries for every asset fil #### Customizable ErrorOverlay You can now customize the ErrorOverlay by using [css parts](https://developer.mozilla.org/en-US/docs/Web/CSS/::part). Check out the PR for more details: [#10234](https://github.com/vitejs/vite/issues/10234). - + ### Features * feat(build): experimental copyPublicDir option (#10550) ([4f4a39f](https://github.com/vitejs/vite/commit/4f4a39f)), closes [#10550](https://github.com/vitejs/vite/issues/10550) From d355568e8d2dbc30b94b7d7680943f7db713ddc4 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 14 Jun 2024 16:57:06 +0800 Subject: [PATCH 623/656] fix(build): handle preload treeshaking for braces (#17479) --- packages/vite/src/node/plugins/importAnalysisBuild.ts | 4 ++-- playground/dynamic-import/nested/index.js | 5 +++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index fcf92bebd8b10f..71f9b535e9061e 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -42,7 +42,7 @@ const preloadMarkerRE = new RegExp(preloadMarker, 'g') const dynamicImportPrefixRE = /import\s*\(/ const dynamicImportTreeshakenRE = - /((?:\bconst\s+|\blet\s+|\bvar\s+|,\s*)(\{[^}.]+\})\s*=\s*await\s+import\([^)]+\))|(\(\s*await\s+import\([^)]+\)\s*\)(\??\.[\w$]+))|\bimport\([^)]+\)(\s*\.then\([^{]*?\(\s*\{([^}.]+)\})/g + /((?:\bconst\s+|\blet\s+|\bvar\s+|,\s*)(\{[^}.]+\})\s*=\s*await\s+import\([^)]+\))|(\(\s*await\s+import\([^)]+\)\s*\)(\??\.[\w$]+))|\bimport\([^)]+\)(\s*\.then\(\s*(?:function\s*)?\(\s*\{([^}.]+)\}\))/g function toRelativePath(filename: string, importer: string) { const relPath = path.posix.relative(path.posix.dirname(importer), filename) @@ -285,7 +285,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { /* handle `import('foo').then(({foo})=>{})` * - * match[5]: `.then(({foo}` + * match[5]: `.then(({foo})` * match[6]: `foo` * import end: `import('foo').` * ^ diff --git a/playground/dynamic-import/nested/index.js b/playground/dynamic-import/nested/index.js index 8357cbc7afca42..478f98666c83b6 100644 --- a/playground/dynamic-import/nested/index.js +++ b/playground/dynamic-import/nested/index.js @@ -171,10 +171,15 @@ import(`../nested/nested/${base}.js`).then((mod) => { const default2 = (await import('./treeshaken/syntax.js')).default, other = () => {} const foo = await import('./treeshaken/syntax.js').then((mod) => mod.foo) + const foo2 = await import('./treeshaken/syntax.js').then( + ({ foo = {} }) => foo, + ) + await import('./treeshaken/syntax.js').then((mod) => mod.foo({ foo })) default1() default2() other() foo() + foo2() })() import(`../nested/static.js`).then((mod) => { From 6ced135c6fc9367f8d4f8207666e208f90547af5 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 14 Jun 2024 17:11:22 +0800 Subject: [PATCH 624/656] fix(build): preload treeshaking ignore equal (#17480) --- packages/vite/src/node/plugins/importAnalysisBuild.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 71f9b535e9061e..3a99b310cd810a 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -42,7 +42,7 @@ const preloadMarkerRE = new RegExp(preloadMarker, 'g') const dynamicImportPrefixRE = /import\s*\(/ const dynamicImportTreeshakenRE = - /((?:\bconst\s+|\blet\s+|\bvar\s+|,\s*)(\{[^}.]+\})\s*=\s*await\s+import\([^)]+\))|(\(\s*await\s+import\([^)]+\)\s*\)(\??\.[\w$]+))|\bimport\([^)]+\)(\s*\.then\(\s*(?:function\s*)?\(\s*\{([^}.]+)\}\))/g + /((?:\bconst\s+|\blet\s+|\bvar\s+|,\s*)(\{[^}.=]+\})\s*=\s*await\s+import\([^)]+\))|(\(\s*await\s+import\([^)]+\)\s*\)(\??\.[\w$]+))|\bimport\([^)]+\)(\s*\.then\(\s*(?:function\s*)?\(\s*\{([^}.=]+)\}\))/g function toRelativePath(filename: string, importer: string) { const relPath = path.posix.relative(path.posix.dirname(importer), filename) From c608e6ac740509c2e68a6928d84676878a998dd0 Mon Sep 17 00:00:00 2001 From: bluwy Date: Fri, 14 Jun 2024 17:17:56 +0800 Subject: [PATCH 625/656] release: v5.3.1 --- packages/vite/CHANGELOG.md | 9 +++++++++ packages/vite/package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 355832e8fe6e64..872ff14d33d9ff 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,12 @@ +## 5.3.1 (2024-06-14) + +* fix(build): handle preload treeshaking for braces (#17479) ([d355568](https://github.com/vitejs/vite/commit/d355568)), closes [#17479](https://github.com/vitejs/vite/issues/17479) +* fix(build): handle preload treeshaking for commas (#17472) ([3e27071](https://github.com/vitejs/vite/commit/3e27071)), closes [#17472](https://github.com/vitejs/vite/issues/17472) +* fix(build): preload treeshaking ignore equal (#17480) ([6ced135](https://github.com/vitejs/vite/commit/6ced135)), closes [#17480](https://github.com/vitejs/vite/issues/17480) +* chore: consolidate changelog for 5.3 (#17476) ([1f09344](https://github.com/vitejs/vite/commit/1f09344)), closes [#17476](https://github.com/vitejs/vite/issues/17476) + + + ## 5.3.0 (2024-06-13) ### Features diff --git a/packages/vite/package.json b/packages/vite/package.json index 721bac5f11b957..c650c9e224dbbf 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.3.0", + "version": "5.3.1", "type": "module", "license": "MIT", "author": "Evan You", From b4b4acfb23654ea109630fcf90a974877355e9c4 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Fri, 14 Jun 2024 21:58:35 +0800 Subject: [PATCH 626/656] chore: check permission for pkg-pr-new comment (#17461) --- .github/workflows/publish-commit.yml | 40 +++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-commit.yml b/.github/workflows/publish-commit.yml index edb0b8ac528187..1f5d94cafada39 100644 --- a/.github/workflows/publish-commit.yml +++ b/.github/workflows/publish-commit.yml @@ -18,8 +18,46 @@ jobs: runs-on: ubuntu-latest steps: + - if: github.event.issue.pull_request + uses: actions/github-script@v7 + with: + script: | + const user = context.payload.sender.login + console.log(`Validate user: ${user}`) + + let hasTriagePermission = false + try { + const { data } = await github.rest.repos.getCollaboratorPermissionLevel({ + owner: context.repo.owner, + repo: context.repo.repo, + username: user, + }); + hasTriagePermission = data.user.permissions.triage + } catch (e) { + console.warn(e) + } + + if (hasTriagePermission) { + console.log('Allowed') + await github.rest.reactions.createForIssueComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: context.payload.comment.id, + content: '+1', + }) + } else { + console.log('Not allowed') + await github.rest.reactions.createForIssueComment({ + owner: context.repo.owner, + repo: context.repo.repo, + comment_id: context.payload.comment.id, + content: '-1', + }) + throw new Error('not allowed') + } + - name: Checkout code - uses: actions/checkout@v3 + uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4.0.0 From 1d9bfc006bcfdc9159154fe453adeab9294afd54 Mon Sep 17 00:00:00 2001 From: Edvard <75655486+edvardsanta@users.noreply.github.com> Date: Mon, 17 Jun 2024 04:23:43 -0300 Subject: [PATCH 627/656] feat(create-vite): add help usage (#16390) Co-authored-by: bluwy --- packages/create-vite/__tests__/cli.spec.ts | 12 ++++++++ packages/create-vite/src/index.ts | 35 ++++++++++++++++++++-- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/packages/create-vite/__tests__/cli.spec.ts b/packages/create-vite/__tests__/cli.spec.ts index 4f297032834fcf..8f03bf7d2df0c0 100644 --- a/packages/create-vite/__tests__/cli.spec.ts +++ b/packages/create-vite/__tests__/cli.spec.ts @@ -103,3 +103,15 @@ test('accepts command line override for --overwrite', () => { const { stdout } = run(['.', '--overwrite', 'ignore'], { cwd: genPath }) expect(stdout).not.toContain(`Current directory is not empty.`) }) + +test('return help usage how to use create-vite', () => { + const { stdout } = run(['--help'], { cwd: __dirname }) + const message = 'Usage: create-vite [OPTION]... [DIRECTORY]' + expect(stdout).toContain(message) +}) + +test('return help usage how to use create-vite with -h alias', () => { + const { stdout } = run(['--h'], { cwd: __dirname }) + const message = 'Usage: create-vite [OPTION]... [DIRECTORY]' + expect(stdout).toContain(message) +}) diff --git a/packages/create-vite/src/index.ts b/packages/create-vite/src/index.ts index ea22e52c2384a7..ce52b4f63f10c7 100755 --- a/packages/create-vite/src/index.ts +++ b/packages/create-vite/src/index.ts @@ -20,11 +20,36 @@ import { // Avoids autoconversion to number of the project name by defining that the args // non associated with an option ( _ ) needs to be parsed as a string. See #4606 const argv = minimist<{ - t?: string template?: string -}>(process.argv.slice(2), { string: ['_'] }) + help?: boolean +}>(process.argv.slice(2), { + default: { help: false }, + alias: { h: 'help', t: 'template' }, + string: ['_'], +}) const cwd = process.cwd() +// prettier-ignore +const helpMessage = `\ +Usage: create-vite [OPTION]... [DIRECTORY] + +Create a new Vite project in JavaScript or TypeScript. +With no arguments, start the CLI in interactive mode. + +Options: + -t, --template NAME use a specific template + +Available templates: +${yellow ('vanilla-ts vanilla' )} +${green ('vue-ts vue' )} +${cyan ('react-ts react' )} +${cyan ('react-swc-ts react-swc')} +${magenta ('preact-ts preact' )} +${lightRed ('lit-ts lit' )} +${red ('svelte-ts svelte' )} +${blue ('solid-ts solid' )} +${lightBlue('qwik-ts qwik' )}` + type ColorFunc = (str: string | number) => string type Framework = { name: string @@ -251,6 +276,12 @@ async function init() { const argTargetDir = formatTargetDir(argv._[0]) const argTemplate = argv.template || argv.t + const help = argv.help + if (help) { + console.log(helpMessage) + return + } + let targetDir = argTargetDir || defaultTargetDir const getProjectName = () => targetDir === '.' ? path.basename(path.resolve()) : targetDir From 4219b862486ff50a5805cc5d9b49efb7d46dd0c8 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Mon, 17 Jun 2024 16:39:08 +0800 Subject: [PATCH 628/656] chore: test windows with node 20 (#17462) --- .github/workflows/ci.yml | 2 +- pnpm-lock.yaml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1e5c36774d7c09..55b91bb6bdd48a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -45,7 +45,7 @@ jobs: - os: macos-latest node_version: 20 - os: windows-latest - node_version: 20.13.1 # 20.14.0 keeps causing a native `node::SetCppgcReference+18123` error in Vitest + node_version: 20 fail-fast: false name: "Build&Test: node-${{ matrix.node_version }}, ${{ matrix.os }}" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ced9c226ccb5da..afd7f038b3d4c0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -436,6 +436,8 @@ importers: packages/vite/src/node/server/__tests__/fixtures/pnpm/nested: {} + packages/vite/src/node/server/__tests__/fixtures/watcher: {} + packages/vite/src/node/server/__tests__/fixtures/yarn: {} packages/vite/src/node/server/__tests__/fixtures/yarn/nested: {} From 8eecc62a9041440baf3b828a36a2f2a4e43c191a Mon Sep 17 00:00:00 2001 From: Matteo Gobbo Date: Mon, 17 Jun 2024 15:42:53 +0200 Subject: [PATCH 629/656] docs(env-and-mode): fix typescript lib links (fix #17488) (#17497) --- docs/guide/env-and-mode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/env-and-mode.md b/docs/guide/env-and-mode.md index ef8ceb882d4c72..7c0c58190c9db6 100644 --- a/docs/guide/env-and-mode.md +++ b/docs/guide/env-and-mode.md @@ -94,7 +94,7 @@ interface ImportMeta { } ``` -If your code relies on types from browser environments such as [DOM](https://github.com/microsoft/TypeScript/blob/main/lib/lib.dom.d.ts) and [WebWorker](https://github.com/microsoft/TypeScript/blob/main/lib/lib.webworker.d.ts), you can update the [lib](https://www.typescriptlang.org/tsconfig#lib) field in `tsconfig.json`. +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 { From ec16a5efc04d8ab50301d184c20e7bd0c8d8f6a2 Mon Sep 17 00:00:00 2001 From: sjtucoder Date: Mon, 17 Jun 2024 22:43:45 +0900 Subject: [PATCH 630/656] chore: fix some comments (#17495) --- docs/config/dep-optimization-options.md | 2 +- packages/vite/src/node/optimizer/index.ts | 4 ++-- packages/vite/src/node/server/index.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/config/dep-optimization-options.md b/docs/config/dep-optimization-options.md index be248e65d7a8bf..43152b738e483d 100644 --- a/docs/config/dep-optimization-options.md +++ b/docs/config/dep-optimization-options.md @@ -82,7 +82,7 @@ Set to `true` to force dependency pre-bundling, ignoring previously cached optim - **Type:** `boolean` - **Default:** `true` -When enabled, it will hold the first optimized deps results until all static imports are crawled on cold start. This avoids the need for full-page reloads when new dependencies are discovered and they trigger the generation of new common chunks. If all dependencies are found by the scanner plus the explicitely defined ones in `include`, it is better to disable this option to let the browser process more requests in parallel. +When enabled, it will hold the first optimized deps results until all static imports are crawled on cold start. This avoids the need for full-page reloads when new dependencies are discovered and they trigger the generation of new common chunks. If all dependencies are found by the scanner plus the explicitly defined ones in `include`, it is better to disable this option to let the browser process more requests in parallel. ## optimizeDeps.disabled diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index 5902aa96e9eb4f..e62d78fdf1b956 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -138,7 +138,7 @@ export interface DepOptimizationConfig { * When enabled, it will hold the first optimized deps results until all static * imports are crawled on cold start. This avoids the need for full-page reloads * when new dependencies are discovered and they trigger the generation of new - * common chunks. If all dependencies are found by the scanner plus the explicitely + * common chunks. If all dependencies are found by the scanner plus the explicitly * defined ones in `include`, it is better to disable this option to let the * browser process more requests in parallel. * @default true @@ -523,7 +523,7 @@ export function runOptimizeDeps( ) } // Ignore clean up requests after this point so the temp folder isn't deleted before - // we finish commiting the new deps cache files to the deps folder + // we finish committing the new deps cache files to the deps folder committed = true // Write metadata file, then commit the processing folder to the global deps cache diff --git a/packages/vite/src/node/server/index.ts b/packages/vite/src/node/server/index.ts index 9b24de6ede4e2f..de4f75ad42d246 100644 --- a/packages/vite/src/node/server/index.ts +++ b/packages/vite/src/node/server/index.ts @@ -1124,7 +1124,7 @@ async function restartServer(server: ViteDevServer) { } // Reinit the server by creating a new instance using the same inlineConfig - // This will triger a reload of the config file and re-create the plugins and + // This will trigger a reload of the config file and re-create the plugins and // middlewares. We then assign all properties of the new server to the existing // server instance and set the user instance to be used in the new server. // This allows us to keep the same server instance for the user. From bf123f2c6242424a3648cf9234281fd9ff44e3d5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 14:44:29 +0800 Subject: [PATCH 631/656] fix(deps): update all non-major dependencies (#17494) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: bluwy --- docs/package.json | 4 +- package.json | 26 +- .../create-vite/template-lit-ts/package.json | 2 +- .../create-vite/template-lit/package.json | 2 +- .../template-preact-ts/package.json | 2 +- .../create-vite/template-preact/package.json | 2 +- .../create-vite/template-qwik-ts/package.json | 4 +- .../create-vite/template-qwik/package.json | 4 +- .../template-react-ts/package.json | 6 +- .../create-vite/template-react/package.json | 2 +- .../template-solid-ts/package.json | 2 +- .../create-vite/template-solid/package.json | 2 +- .../template-svelte-ts/package.json | 4 +- .../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 | 4 +- .../create-vite/template-vue/package.json | 4 +- packages/plugin-legacy/package.json | 2 +- packages/vite/package.json | 6 +- ...{acorn@8.11.3.patch => acorn@8.12.0.patch} | 4 +- playground/alias/package.json | 4 +- playground/backend-integration/package.json | 2 +- playground/css-sourcemap/package.json | 2 +- playground/css/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/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/ssr-webworker/package.json | 2 +- playground/tailwind/package.json | 2 +- pnpm-lock.yaml | 781 +++++++++--------- 37 files changed, 456 insertions(+), 445 deletions(-) rename patches/{acorn@8.11.3.patch => acorn@8.12.0.patch} (55%) diff --git a/docs/package.json b/docs/package.json index d48a43f477f4eb..9aa49e9eeed314 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,10 +8,10 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.6.3", + "@shikijs/vitepress-twoslash": "^1.7.0", "@types/express": "^4.17.21", "feed": "^4.2.2", "vitepress": "1.2.3", - "vue": "^3.4.27" + "vue": "^3.4.29" } } diff --git a/package.json b/package.json index 24426c2bb8e178..12206370a6baa6 100644 --- a/package.json +++ b/package.json @@ -40,9 +40,9 @@ "ci-docs": "run-s build docs-build" }, "devDependencies": { - "@eslint/js": "^9.4.0", + "@eslint/js": "^9.5.0", "@types/babel__core": "^7.20.5", - "@types/babel__preset-env": "^7.9.6", + "@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", @@ -51,34 +51,34 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.7", - "@types/node": "^20.14.2", + "@types/node": "^20.14.4", "@types/picomatch": "^2.3.3", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^7.12.0", - "@typescript-eslint/parser": "^7.12.0", + "@typescript-eslint/eslint-plugin": "^7.13.1", + "@typescript-eslint/parser": "^7.13.1", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^5.0.0", "eslint": "^8.57.0", "eslint-plugin-i": "^2.29.1", - "eslint-plugin-n": "^17.8.1", + "eslint-plugin-n": "^17.9.0", "eslint-plugin-regexp": "^2.6.0", "execa": "^9.2.0", "fs-extra": "^11.2.0", - "globals": "^15.4.0", - "lint-staged": "^15.2.5", + "globals": "^15.6.0", + "lint-staged": "^15.2.7", "npm-run-all2": "^6.2.0", "picocolors": "^1.0.1", "playwright-chromium": "^1.44.1", - "prettier": "3.3.1", + "prettier": "3.3.2", "rimraf": "^5.0.7", "rollup": "^4.13.0", "rollup-plugin-esbuild": "^6.1.1", "simple-git-hooks": "^2.11.1", "tslib": "^2.6.3", - "tsx": "^4.15.1", + "tsx": "^4.15.6", "typescript": "^5.2.2", - "typescript-eslint": "^7.12.0", + "typescript-eslint": "^7.13.1", "vite": "workspace:*", "vitest": "^1.6.0" }, @@ -99,13 +99,13 @@ "eslint --cache --fix" ] }, - "packageManager": "pnpm@9.3.0", + "packageManager": "pnpm@9.4.0", "pnpm": { "overrides": { "vite": "workspace:*" }, "patchedDependencies": { - "acorn@8.11.3": "patches/acorn@8.11.3.patch", + "acorn@8.12.0": "patches/acorn@8.12.0.patch", "chokidar@3.6.0": "patches/chokidar@3.6.0.patch", "http-proxy@1.18.1": "patches/http-proxy@1.18.1.patch", "sirv@2.0.4": "patches/sirv@2.0.4.patch" diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 372d55b1ccb43f..6fffe1825502d2 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.2.2", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index 7fea25bcfc7961..a04042b2a822a4 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.4" }, "devDependencies": { - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index c75940c20afeb9..63ab324aaa8d4d 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -14,6 +14,6 @@ "devDependencies": { "@preact/preset-vite": "^2.8.2", "typescript": "^5.2.2", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 2c7a7b9d42d587..1c2f5118260616 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -13,6 +13,6 @@ }, "devDependencies": { "@preact/preset-vite": "^2.8.2", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index 04154ad578db0c..a7ae4c3254c7ea 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.2.2", - "vite": "^5.2.13" + "vite": "^5.3.1" }, "dependencies": { - "@builder.io/qwik": "^1.5.6" + "@builder.io/qwik": "^1.5.7" } } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 180dd0e77f978e..172397006b7f45 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.2.13" + "vite": "^5.3.1" }, "dependencies": { - "@builder.io/qwik": "^1.5.6" + "@builder.io/qwik": "^1.5.7" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 410fb665e6c337..9463c88eff00cb 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -16,13 +16,13 @@ "devDependencies": { "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.12.0", - "@typescript-eslint/parser": "^7.12.0", + "@typescript-eslint/eslint-plugin": "^7.13.1", + "@typescript-eslint/parser": "^7.13.1", "@vitejs/plugin-react": "^4.3.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "typescript": "^5.2.2", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 500bcaea5a2ca1..138cb218e58416 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -21,6 +21,6 @@ "eslint-plugin-react": "^7.34.2", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 9bb0984357d18e..85f39865743379 100644 --- a/packages/create-vite/template-solid-ts/package.json +++ b/packages/create-vite/template-solid-ts/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.2.13", + "vite": "^5.3.1", "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 13c66b8bd779f2..f37f94f79ba9e4 100644 --- a/packages/create-vite/template-solid/package.json +++ b/packages/create-vite/template-solid/package.json @@ -12,7 +12,7 @@ "solid-js": "^1.8.17" }, "devDependencies": { - "vite": "^5.2.13", + "vite": "^5.3.1", "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 b3f32119f22b31..b09db0a15ffb73 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -13,9 +13,9 @@ "@sveltejs/vite-plugin-svelte": "^3.1.1", "@tsconfig/svelte": "^5.0.4", "svelte": "^4.2.18", - "svelte-check": "^3.8.0", + "svelte-check": "^3.8.1", "tslib": "^2.6.3", "typescript": "^5.2.2", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index cb1a4046c4800d..86110dfe892362 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.1", "svelte": "^4.2.18", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index 54d25ea02dad1e..a40bda9b2074d8 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.2.2", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index b4f3a59dbc7277..56775c6a95a118 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.2.13" + "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 326079ba3000e4..5b24fa42124fdd 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.4.27" + "vue": "^3.4.29" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.5", "typescript": "^5.2.2", - "vite": "^5.2.13", + "vite": "^5.3.1", "vue-tsc": "^2.0.21" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 53405706582d2b..f50d35fd1da157 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.4.27" + "vue": "^3.4.29" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.5", - "vite": "^5.2.13" + "vite": "^5.3.1" } } diff --git a/packages/plugin-legacy/package.json b/packages/plugin-legacy/package.json index d29edf4a35402b..822566dbda836a 100644 --- a/packages/plugin-legacy/package.json +++ b/packages/plugin-legacy/package.json @@ -55,7 +55,7 @@ "vite": "^5.0.0" }, "devDependencies": { - "acorn": "^8.11.3", + "acorn": "^8.12.0", "picocolors": "^1.0.1", "unbuild": "^2.0.0", "vite": "workspace:*" diff --git a/packages/vite/package.json b/packages/vite/package.json index c650c9e224dbbf..00e1097b3de619 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -122,7 +122,7 @@ "etag": "^1.8.1", "fast-glob": "^3.3.2", "http-proxy": "^1.18.1", - "launch-editor-middleware": "^2.6.1", + "launch-editor-middleware": "^2.7.0", "lightningcss": "^1.25.1", "magic-string": "^0.30.10", "micromatch": "^4.0.7", @@ -141,7 +141,7 @@ "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", "rollup-plugin-license": "^3.4.0", - "sass": "^1.77.4", + "sass": "^1.77.6", "sirv": "^2.0.4", "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", @@ -150,7 +150,7 @@ "tslib": "^2.6.3", "types": "link:./types", "ufo": "^1.5.3", - "ws": "^8.17.0" + "ws": "^8.17.1" }, "peerDependencies": { "@types/node": "^18.0.0 || >=20.0.0", diff --git a/patches/acorn@8.11.3.patch b/patches/acorn@8.12.0.patch similarity index 55% rename from patches/acorn@8.11.3.patch rename to patches/acorn@8.12.0.patch index af0b6b8724d08b..e3598146f5c606 100644 --- a/patches/acorn@8.11.3.patch +++ b/patches/acorn@8.12.0.patch @@ -1,11 +1,11 @@ diff --git a/package.json b/package.json -index 1b8dc76afc3cf5890cc3693c2975577fd3117dd6..9ac3a4d813fda1be476bd896a8f6168b3a459e41 100644 +index be2eba04821e9d14be0e7cfd0d4727744715df62..681b9caba21b7403eadaf267708ac0018ed00908 100644 --- a/package.json +++ b/package.json @@ -46,5 +46,6 @@ }, "bin": { - "acorn": "./bin/acorn" + "acorn": "bin/acorn" - } + }, + "sideEffects": false diff --git a/playground/alias/package.json b/playground/alias/package.json index 692d2a3af3ea44..ed4a4ee350cd5d 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.4.27", - "@vue/shared": "^3.4.27" + "vue": "^3.4.29", + "@vue/shared": "^3.4.29" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/backend-integration/package.json b/playground/backend-integration/package.json index b05c7f3e70e838..08273e234f76fc 100644 --- a/playground/backend-integration/package.json +++ b/playground/backend-integration/package.json @@ -10,7 +10,7 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.77.4", + "sass": "^1.77.6", "tailwindcss": "^3.4.4", "fast-glob": "^3.3.2" } diff --git a/playground/css-sourcemap/package.json b/playground/css-sourcemap/package.json index a3a6e665b5028b..9762af32c1e214 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.10", - "sass": "^1.77.4", + "sass": "^1.77.6", "stylus": "^0.63.0", "sugarss": "^4.0.1" } diff --git a/playground/css/package.json b/playground/css/package.json index 68a01937c0c948..e2ada87b2f8b75 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.0.1", - "sass": "^1.77.4", + "sass": "^1.77.6", "stylus": "^0.63.0", "sugarss": "^4.0.1" }, diff --git a/playground/extensions/package.json b/playground/extensions/package.json index 68cb75360d3840..702bad5621f998 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.27" + "vue": "^3.4.29" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index bae6b993a48c61..51f8d80ed97dad 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.4.27" + "vue": "^3.4.29" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index 7c56ad60573d2e..5083c336c600d0 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.4.27" + "vue": "^3.4.29" } } diff --git a/playground/external/package.json b/playground/external/package.json index 934e0dc6ca0202..86ad125ec8f8bd 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.4.27", + "vue": "^3.4.29", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index 71967fe0f001e3..9e54e33ad6537b 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.19.2", - "vue": "^3.4.27" + "vue": "^3.4.29" } } diff --git a/playground/multiple-entrypoints/package.json b/playground/multiple-entrypoints/package.json index e7e66624695a17..01466d46bdb535 100644 --- a/playground/multiple-entrypoints/package.json +++ b/playground/multiple-entrypoints/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "devDependencies": { - "sass": "^1.77.4" + "sass": "^1.77.6" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index 60d1d499ac3268..fa387348830a00 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.27" + "vue": "^3.4.29" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index 3585183680f02c..3b920f0a26e44b 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.4.27", + "vue": "^3.4.29", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 3e66f57a800bed..c9536b3562d05d 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.3", - "vue": "^3.4.27", + "vue": "^3.4.29", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 3528038685ea21..a0423c96e012ac 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.20240605.0", + "miniflare": "^3.20240610.0", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index 3b68b3be43bb43..c3ce48a2a56a9a 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,7 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.19", "tailwindcss": "^3.4.4", - "vue": "^3.4.27", + "vue": "^3.4.29", "vue-router": "^4.3.3" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index afd7f038b3d4c0..e53a23ec16f4a5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,9 +8,9 @@ overrides: vite: workspace:* patchedDependencies: - acorn@8.11.3: - hash: updblechagntmruccl446lr76a - path: patches/acorn@8.11.3.patch + acorn@8.12.0: + hash: hnu5w2kycvtk742sttg466maj4 + path: patches/acorn@8.12.0.patch chokidar@3.6.0: hash: bckcfsslxcffppz65mxcq6naau path: patches/chokidar@3.6.0.patch @@ -26,14 +26,14 @@ importers: .: devDependencies: '@eslint/js': - specifier: ^9.4.0 - version: 9.4.0 + specifier: ^9.5.0 + version: 9.5.0 '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 '@types/babel__preset-env': - specifier: ^7.9.6 - version: 7.9.6 + specifier: ^7.9.7 + version: 7.9.7 '@types/convert-source-map': specifier: ^2.0.3 version: 2.0.3 @@ -59,8 +59,8 @@ importers: specifier: ^4.0.7 version: 4.0.7 '@types/node': - specifier: ^20.14.2 - version: 20.14.2 + specifier: ^20.14.4 + version: 20.14.4 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -71,11 +71,11 @@ importers: specifier: ^8.5.10 version: 8.5.10 '@typescript-eslint/eslint-plugin': - specifier: ^7.12.0 - version: 7.12.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.13.1 + version: 7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) '@typescript-eslint/parser': - specifier: ^7.12.0 - version: 7.12.0(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.13.1 + version: 7.13.1(eslint@8.57.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -87,10 +87,10 @@ importers: version: 8.57.0 eslint-plugin-i: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0) eslint-plugin-n: - specifier: ^17.8.1 - version: 17.8.1(eslint@8.57.0) + specifier: ^17.9.0 + version: 17.9.0(eslint@8.57.0) eslint-plugin-regexp: specifier: ^2.6.0 version: 2.6.0(eslint@8.57.0) @@ -101,11 +101,11 @@ importers: specifier: ^11.2.0 version: 11.2.0 globals: - specifier: ^15.4.0 - version: 15.4.0 + specifier: ^15.6.0 + version: 15.6.0 lint-staged: - specifier: ^15.2.5 - version: 15.2.5 + specifier: ^15.2.7 + version: 15.2.7 npm-run-all2: specifier: ^6.2.0 version: 6.2.0 @@ -116,8 +116,8 @@ importers: specifier: ^1.44.1 version: 1.44.1 prettier: - specifier: 3.3.1 - version: 3.3.1 + specifier: 3.3.2 + version: 3.3.2 rimraf: specifier: ^5.0.7 version: 5.0.7 @@ -134,26 +134,26 @@ importers: specifier: ^2.6.3 version: 2.6.3 tsx: - specifier: ^4.15.1 - version: 4.15.1 + specifier: ^4.15.6 + version: 4.15.6 typescript: specifier: ^5.2.2 version: 5.2.2 typescript-eslint: - specifier: ^7.12.0 - version: 7.12.0(eslint@8.57.0)(typescript@5.2.2) + specifier: ^7.13.1 + version: 7.13.1(eslint@8.57.0)(typescript@5.2.2) vite: specifier: workspace:* version: link:packages/vite vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.2) + version: 1.6.0(@types/node@20.14.4) docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.6.3 - version: 1.6.3(typescript@5.2.2) + specifier: ^1.7.0 + version: 1.7.0(typescript@5.2.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -164,8 +164,8 @@ importers: specifier: 1.2.3 version: 1.2.3(@algolia/client-search@4.20.0)(axios@1.7.2)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) packages/create-vite: devDependencies: @@ -189,7 +189,7 @@ importers: version: 2.4.2 unbuild: specifier: ^2.0.0 - version: 2.0.0(sass@1.77.4)(typescript@5.2.2) + version: 2.0.0(sass@1.77.6)(typescript@5.2.2) packages/plugin-legacy: dependencies: @@ -219,14 +219,14 @@ importers: version: 6.15.1 devDependencies: acorn: - specifier: ^8.11.3 - version: 8.11.3(patch_hash=updblechagntmruccl446lr76a) + specifier: ^8.12.0 + version: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) picocolors: specifier: ^1.0.1 version: 1.0.1 unbuild: specifier: ^2.0.0 - version: 2.0.0(sass@1.77.4)(typescript@5.2.2) + version: 2.0.0(sass@1.77.6)(typescript@5.2.2) vite: specifier: workspace:* version: link:../vite @@ -335,8 +335,8 @@ importers: specifier: ^1.18.1 version: 1.18.1(patch_hash=qqiqxx62zlcu62nljjmhlvexni)(debug@4.3.5) launch-editor-middleware: - specifier: ^2.6.1 - version: 2.6.1 + specifier: ^2.7.0 + version: 2.7.0 lightningcss: specifier: ^1.25.1 version: 1.25.1 @@ -375,7 +375,7 @@ importers: version: 16.1.0(postcss@8.4.38) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2)) + version: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) postcss-modules: specifier: ^6.0.0 version: 6.0.0(postcss@8.4.38) @@ -392,8 +392,8 @@ importers: specifier: ^3.4.0 version: 3.4.0(rollup@4.13.0) sass: - specifier: ^1.77.4 - version: 1.77.4 + specifier: ^1.77.6 + version: 1.77.6 sirv: specifier: ^2.0.4 version: 2.0.4(patch_hash=amdes53ifqfntejkflpaq5ifce) @@ -419,8 +419,8 @@ importers: specifier: ^1.5.3 version: 1.5.3 ws: - specifier: ^8.17.0 - version: 8.17.0 + specifier: ^8.17.1 + version: 8.17.1 packages/vite/src/node/__tests__/packages/module: {} @@ -484,14 +484,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.4.27 - version: 3.4.27 + specifier: ^3.4.29 + version: 3.4.29 aliased-module: specifier: file:./dir/module version: '@vitejs/test-aliased-module@file:playground/alias/dir/module' vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -509,11 +509,11 @@ importers: specifier: ^3.3.2 version: 3.3.2 sass: - specifier: ^1.77.4 - version: 1.77.4 + specifier: ^1.77.6 + version: 1.77.6 tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) playground/build-old: {} @@ -571,8 +571,8 @@ importers: specifier: ^6.0.1 version: 6.0.1(postcss@8.4.38) sass: - specifier: ^1.77.4 - version: 1.77.4 + specifier: ^1.77.6 + version: 1.77.6 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -612,8 +612,8 @@ importers: specifier: ^0.30.10 version: 0.30.10 sass: - specifier: ^1.77.4 - version: 1.77.4 + specifier: ^1.77.6 + version: 1.77.6 stylus: specifier: ^0.63.0 version: 0.63.0 @@ -676,8 +676,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) playground/external: dependencies: @@ -698,8 +698,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) vue32: specifier: npm:vue@~3.2.0 version: vue@3.2.0 @@ -713,8 +713,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) playground/external/dep-that-requires: dependencies: @@ -725,8 +725,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) playground/fs-serve: {} @@ -774,8 +774,8 @@ importers: specifier: ^4.19.2 version: 4.19.2 vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) playground/json/json-module: {} @@ -813,8 +813,8 @@ importers: playground/multiple-entrypoints: devDependencies: sass: - specifier: ^1.77.4 - version: 1.77.4 + specifier: ^1.77.6 + version: 1.77.6 playground/nested-deps: dependencies: @@ -876,8 +876,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) playground/optimize-deps: dependencies: @@ -990,11 +990,11 @@ importers: specifier: ^0.11.3 version: 0.11.3 vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.27(typescript@5.2.2)) + version: 4.1.0(vue@3.4.29(typescript@5.2.2)) playground/optimize-deps-no-discovery: dependencies: @@ -1002,11 +1002,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.27(typescript@5.2.2)) + version: 4.1.0(vue@3.4.29(typescript@5.2.2)) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1522,8 +1522,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240605.0 - version: 3.20240605.0 + specifier: ^3.20240610.0 + version: 3.20240610.0 playground/ssr-webworker/browser-exports: {} @@ -1536,23 +1536,23 @@ importers: version: 10.4.19(postcss@8.4.38) tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) vue: - specifier: ^3.4.27 - version: 3.4.27(typescript@5.2.2) + specifier: ^3.4.29 + version: 3.4.29(typescript@5.2.2) vue-router: specifier: ^4.3.3 - version: 4.3.3(vue@3.4.27(typescript@5.2.2)) + version: 4.3.3(vue@3.4.29(typescript@5.2.2)) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.2)(typescript@5.2.2) + version: 10.9.2(@types/node@20.14.4)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) playground/transform-plugin: {} @@ -2259,32 +2259,32 @@ packages: resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} - '@cloudflare/workerd-darwin-64@1.20240605.0': - resolution: {integrity: sha512-6V4Uze6jEM1mPBdPO6AevPwAOG2s+auEG1vPzZilwbrpn3BbYklEpQqcAZj05uUXaM6rnffnXerW8X8Fc8l4qQ==} + '@cloudflare/workerd-darwin-64@1.20240610.1': + resolution: {integrity: sha512-YanZ1iXgMGaUWlleB5cswSE6qbzyjQ8O7ENWZcPAcZZ6BfuL7q3CWi0t9iM1cv2qx92rRztsRTyjcfq099++XQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20240605.0': - resolution: {integrity: sha512-ZNxjVSeMYUhTfVlrMsVjpN5eHA2kq3+S7ZMsGu5l44ZqFrDygsFDoc9C4anJVUEIHGFUB9LMu4ZTdS5S80hvPQ==} + '@cloudflare/workerd-darwin-arm64@1.20240610.1': + resolution: {integrity: sha512-bRe/y/LKjIgp3L2EHjc+CvoCzfHhf4aFTtOBkv2zW+VToNJ4KlXridndf7LvR9urfsFRRo9r4TXCssuKaU+ypQ==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20240605.0': - resolution: {integrity: sha512-zqOWDrYEudW5JCcU8lxCFQ96UHJJHrM+uvGaRS4u5nJaEgMr2z7u9I2286+l1R3JWvJdqj9ehGuHQvZkaTADxw==} + '@cloudflare/workerd-linux-64@1.20240610.1': + resolution: {integrity: sha512-2zDcadR7+Gs9SjcMXmwsMji2Xs+yASGNA2cEHDuFc4NMUup+eL1mkzxc/QzvFjyBck98e92rBjMZt2dVscpGKg==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20240605.0': - resolution: {integrity: sha512-qFTVNem7bMsU9P1dXUi+kb8EdU5aag1I9RQq6ZLS/zfiJ0a/UasihwQG8lrzT7k9x80VnpyCekNmd625qsVZjQ==} + '@cloudflare/workerd-linux-arm64@1.20240610.1': + resolution: {integrity: sha512-7y41rPi5xmIYJN8CY+t3RHnjLL0xx/WYmaTd/j552k1qSr02eTE2o/TGyWZmGUC+lWnwdPQJla0mXbvdqgRdQg==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20240605.0': - resolution: {integrity: sha512-s0U7d52ALQtb0enbHJ/AXmy+pyBQVoTIaAdAApy/PWrMiAnb8iJhf7A35pRTYfty5SUf7EX9BAPcKmeh+t3N5g==} + '@cloudflare/workerd-windows-64@1.20240610.1': + resolution: {integrity: sha512-B0LyT3DB6rXHWNptnntYHPaoJIy0rXnGfeDBM3nEVV8JIsQrx8MEFn2F2jYioH1FkUVavsaqKO/zUosY3tZXVA==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -2758,8 +2758,8 @@ packages: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@eslint/js@9.4.0': - resolution: {integrity: sha512-fdI7VJjP3Rvc70lC4xkFXHB0fiPeojiL1PxVG6t1ZvXQrarj893PweuBTujxDUFk0Fxj4R7PIIAZ/aiiyZPZcg==} + '@eslint/js@9.5.0': + resolution: {integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@fastify/busboy@2.1.0': @@ -3028,14 +3028,17 @@ packages: '@shikijs/core@1.6.3': resolution: {integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==} + '@shikijs/core@1.7.0': + resolution: {integrity: sha512-O6j27b7dGmJbR3mjwh/aHH8Ld+GQvA0OQsNO43wKWnqbAae3AYXrhFyScHGX8hXZD6vX2ngjzDFkZY5srtIJbQ==} + '@shikijs/transformers@1.6.3': resolution: {integrity: sha512-ptBuP/IIeqCzK3zZO/knFICZWs58uZWzbv7ND+bKOewe5NcCjZfSiMyzFwOyl23ewPJ1APjRBwLi6Asrodmmxw==} - '@shikijs/twoslash@1.6.3': - resolution: {integrity: sha512-GGCq9BBCzwIFSSwI7bss1y6Yd3jrHaoN4g4OF+85cKg0mP6a8GK5u3YwqxDoFjkEzt0Aj3FKIEpX7ICYNQJluw==} + '@shikijs/twoslash@1.7.0': + resolution: {integrity: sha512-UztoY1kFhRR8b/eZGfCkM70L8WQB7zZsj5xTRZUaLx6bwMZdDdlJmJu2lPAkPZ5h7wHVDJB6Lq3k8fN9Sxakgw==} - '@shikijs/vitepress-twoslash@1.6.3': - resolution: {integrity: sha512-9j0rhqlp+gNjb6fNc+tZx02jD4wtzxMIZSp/PNcPhKxdRUJRSE8LF9iVeN06e2Rd13cBa+F1ZEJjjxvgPDM0ww==} + '@shikijs/vitepress-twoslash@1.7.0': + resolution: {integrity: sha512-oFkqJ9+ObFUBA3oSkYm0z33S3tp5HMgJYXOEmXf9u5e6NNScp0J0OpRvWRtX33ebDEGUMj1hNEP7X9+auHW0Bw==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -3062,8 +3065,8 @@ packages: '@types/babel__generator@7.6.4': resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} - '@types/babel__preset-env@7.9.6': - resolution: {integrity: sha512-PaOA2V4J3CZZopQaTGT1e8WEWCqHWc1k12zLlci4T9eR2lQIlA/GbnVbloFDqYVFr1BNiCXnotH32Up8WdgTxQ==} + '@types/babel__preset-env@7.9.7': + resolution: {integrity: sha512-m63P4DQR9d0/g8GwRsmyizGqfCGWI6LVnuNg4OV8YhNM+VMBAepJ4394Z/rJA0pBYV+AXgFfHP4RiIlk9mYVVQ==} '@types/babel__template@7.4.1': resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} @@ -3158,8 +3161,8 @@ packages: '@types/node@20.10.0': resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} - '@types/node@20.14.2': - resolution: {integrity: sha512-xyu6WAMVwv6AKFLB+e/7ySZVr/0zLCzOa7rSpq6jNwpqOrUbcACDWC+53d4n2QHOnDou0fbIsg8wZu/sxrnI4Q==} + '@types/node@20.14.4': + resolution: {integrity: sha512-1ChboN+57suCT2t/f8lwtPY/k3qTpuD/qnqQuYoBg6OQOcPyaw7PiZVdGpaZYAvhDDtqrt0oAaM8+oSu1xsUGw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3203,8 +3206,8 @@ packages: '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - '@typescript-eslint/eslint-plugin@7.12.0': - resolution: {integrity: sha512-7F91fcbuDf/d3S8o21+r3ZncGIke/+eWk0EpO21LXhDfLahriZF9CGj4fbAetEjlaBdjdSm9a6VeXbpbT6Z40Q==} + '@typescript-eslint/eslint-plugin@7.13.1': + resolution: {integrity: sha512-kZqi+WZQaZfPKnsflLJQCz6Ze9FFSMfXrrIOcyargekQxG37ES7DJNpJUE9Q/X5n3yTIP/WPutVNzgknQ7biLg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -3214,8 +3217,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.12.0': - resolution: {integrity: sha512-dm/J2UDY3oV3TKius2OUZIFHsomQmpHtsV0FTh1WO8EKgHLQ1QCADUqscPgTpU+ih1e21FQSRjXckHn3txn6kQ==} + '@typescript-eslint/parser@7.13.1': + resolution: {integrity: sha512-1ELDPlnLvDQ5ybTSrMhRTFDfOQEOXNM+eP+3HT/Yq7ruWpciQw+Avi73pdEbA4SooCawEWo3dtYbF68gN7Ed1A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3224,12 +3227,12 @@ packages: typescript: optional: true - '@typescript-eslint/scope-manager@7.12.0': - resolution: {integrity: sha512-itF1pTnN6F3unPak+kutH9raIkL3lhH1YRPGgt7QQOh43DQKVJXmWkpb+vpc/TiDHs6RSd9CTbDsc/Y+Ygq7kg==} + '@typescript-eslint/scope-manager@7.13.1': + resolution: {integrity: sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.12.0': - resolution: {integrity: sha512-lib96tyRtMhLxwauDWUp/uW3FMhLA6D0rJ8T7HmH7x23Gk1Gwwu8UZ94NMXBvOELn6flSPiBrCKlehkiXyaqwA==} + '@typescript-eslint/type-utils@7.13.1': + resolution: {integrity: sha512-aWDbLu1s9bmgPGXSzNCxELu+0+HQOapV/y+60gPXafR8e2g1Bifxzevaa+4L2ytCWm+CHqpELq4CSoN9ELiwCg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3238,12 +3241,12 @@ packages: typescript: optional: true - '@typescript-eslint/types@7.12.0': - resolution: {integrity: sha512-o+0Te6eWp2ppKY3mLCU+YA9pVJxhUJE15FV7kxuD9jgwIAa+w/ycGJBMrYDTpVGUM/tgpa9SeMOugSabWFq7bg==} + '@typescript-eslint/types@7.13.1': + resolution: {integrity: sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/typescript-estree@7.12.0': - resolution: {integrity: sha512-5bwqLsWBULv1h6pn7cMW5dXX/Y2amRqLaKqsASVwbBHMZSnHqE/HN4vT4fE0aFsiwxYvr98kqOWh1a8ZKXalCQ==} + '@typescript-eslint/typescript-estree@7.13.1': + resolution: {integrity: sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -3251,14 +3254,14 @@ packages: typescript: optional: true - '@typescript-eslint/utils@7.12.0': - resolution: {integrity: sha512-Y6hhwxwDx41HNpjuYswYp6gDbkiZ8Hin9Bf5aJQn1bpTs3afYY4GX+MPYxma8jtoIV2GRwTM/UJm/2uGCVv+DQ==} + '@typescript-eslint/utils@7.13.1': + resolution: {integrity: sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/visitor-keys@7.12.0': - resolution: {integrity: sha512-uZk7DevrQLL3vSnfFl5bj4sL75qC9D6EdjemIdbtkuUmIheWpuiiylSY01JxJE7+zGrOWDZrp1WxOuDntvKrHQ==} + '@typescript-eslint/visitor-keys@7.13.1': + resolution: {integrity: sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==} engines: {node: ^18.18.0 || >=20.0.0} '@typescript/vfs@1.5.0': @@ -3527,35 +3530,35 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@volar/language-core@1.11.1': - resolution: {integrity: sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==} + '@volar/language-core@2.3.0': + resolution: {integrity: sha512-pvhL24WUh3VDnv7Yw5N1sjhPtdx7q9g+Wl3tggmnkMcyK8GcCNElF2zHiKznryn0DiUGk+eez/p2qQhz+puuHw==} - '@volar/source-map@1.11.1': - resolution: {integrity: sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==} + '@volar/source-map@2.3.0': + resolution: {integrity: sha512-G/228aZjAOGhDjhlyZ++nDbKrS9uk+5DMaEstjvzglaAw7nqtDyhnQAsYzUg6BMP9BtwZ59RIw5HGePrutn00Q==} '@vue/compiler-core@3.2.0': resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} - '@vue/compiler-core@3.4.21': - resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} - '@vue/compiler-core@3.4.27': resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} + '@vue/compiler-core@3.4.29': + resolution: {integrity: sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==} + '@vue/compiler-dom@3.2.0': resolution: {integrity: sha512-CqfATmX04+58LNBTTUPRBLyYGLP0bxtL+8b7B8pEvXja7fpmxiYcKBQsdaXfyqoRJsaTzA7eVXQt/t0dYhu/SQ==} - '@vue/compiler-dom@3.4.21': - resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} - '@vue/compiler-dom@3.4.27': resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} - '@vue/compiler-sfc@3.4.27': - resolution: {integrity: sha512-nDwntUEADssW8e0rrmE0+OrONwmRlegDA1pD6QhVeXxjIytV03yDqTey9SBDiALsvAd5U4ZrEKbMyVXhX6mCGA==} + '@vue/compiler-dom@3.4.29': + resolution: {integrity: sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==} + + '@vue/compiler-sfc@3.4.29': + resolution: {integrity: sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==} - '@vue/compiler-ssr@3.4.27': - resolution: {integrity: sha512-CVRzSJIltzMG5FcidsW0jKNQnNRYC8bT21VegyMMtHmhW3UOI7knmUehzswXLrExDLE6lQCZdrhD4ogI7c+vuw==} + '@vue/compiler-ssr@3.4.29': + resolution: {integrity: sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==} '@vue/devtools-api@6.6.1': resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} @@ -3571,8 +3574,8 @@ packages: '@vue/devtools-shared@7.2.1': resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==} - '@vue/language-core@1.8.27': - resolution: {integrity: sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==} + '@vue/language-core@2.0.21': + resolution: {integrity: sha512-vjs6KwnCK++kIXT+eI63BGpJHfHNVJcUCr3RnvJsccT3vbJnZV5IhHR2puEkoOkIbDdp0Gqi1wEnv3hEd3WsxQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3582,35 +3585,35 @@ packages: '@vue/reactivity@3.2.0': resolution: {integrity: sha512-39L3UJe8+jYeCTM/QrDglDM05O11UrmyhazUOHOOj7+a9pPVu95HGInh5CkKQf98mx2gq6t3PPN8bCN5wK8Wwg==} - '@vue/reactivity@3.4.27': - resolution: {integrity: sha512-kK0g4NknW6JX2yySLpsm2jlunZJl2/RJGZ0H9ddHdfBVHcNzxmQ0sS0b09ipmBoQpY8JM2KmUw+a6sO8Zo+zIA==} + '@vue/reactivity@3.4.29': + resolution: {integrity: sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==} '@vue/runtime-core@3.2.0': resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} - '@vue/runtime-core@3.4.27': - resolution: {integrity: sha512-7aYA9GEbOOdviqVvcuweTLe5Za4qBZkUY7SvET6vE8kyypxVgaT1ixHLg4urtOlrApdgcdgHoTZCUuTGap/5WA==} + '@vue/runtime-core@3.4.29': + resolution: {integrity: sha512-s8fmX3YVR/Rk5ig0ic0NuzTNjK2M7iLuVSZyMmCzN/+Mjuqqif1JasCtEtmtoJWF32pAtUjyuT2ljNKNLeOmnQ==} '@vue/runtime-dom@3.2.0': resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} - '@vue/runtime-dom@3.4.27': - resolution: {integrity: sha512-ScOmP70/3NPM+TW9hvVAz6VWWtZJqkbdf7w6ySsws+EsqtHvkhxaWLecrTorFxsawelM5Ys9FnDEMt6BPBDS0Q==} + '@vue/runtime-dom@3.4.29': + resolution: {integrity: sha512-gI10atCrtOLf/2MPPMM+dpz3NGulo9ZZR9d1dWo4fYvm+xkfvRrw1ZmJ7mkWtiJVXSsdmPbcK1p5dZzOCKDN0g==} - '@vue/server-renderer@3.4.27': - resolution: {integrity: sha512-dlAMEuvmeA3rJsOMJ2J1kXU7o7pOxgsNHVr9K8hB3ImIkSuBrIdy0vF66h8gf8Tuinf1TK3mPAz2+2sqyf3KzA==} + '@vue/server-renderer@3.4.29': + resolution: {integrity: sha512-HMLCmPI2j/k8PVkSBysrA2RxcxC5DgBiCdj7n7H2QtR8bQQPqKAe8qoaxLcInzouBmzwJ+J0x20ygN/B5mYBng==} peerDependencies: - vue: 3.4.27 + vue: 3.4.29 '@vue/shared@3.2.0': resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} - '@vue/shared@3.4.21': - resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} - '@vue/shared@3.4.27': resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} + '@vue/shared@3.4.29': + resolution: {integrity: sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==} + '@vueuse/core@10.10.0': resolution: {integrity: sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==} @@ -3682,8 +3685,8 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + acorn@8.12.0: + resolution: {integrity: sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==} engines: {node: '>=0.4.0'} hasBin: true @@ -4397,8 +4400,8 @@ packages: peerDependencies: eslint: ^7.2.0 || ^8 - eslint-plugin-n@17.8.1: - resolution: {integrity: sha512-KdG0h0voZms8UhndNu8DeWx1eM4sY+A4iXtsNo6kOfJLYHNeTGPacGalJ9GcvrbmOL3r/7QOMwVZDSw+1SqsrA==} + eslint-plugin-n@17.9.0: + resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: '>=8.23.0' @@ -4701,8 +4704,8 @@ packages: resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} engines: {node: '>=8'} - globals@15.4.0: - resolution: {integrity: sha512-unnwvMZpv0eDUyjNyh9DH/yxUaRYrEjW/qK4QcdrHg3oO11igUQrCSgODHEqxlKg8v2CD2Sd7UkqqEBoz5U7TQ==} + globals@15.6.0: + resolution: {integrity: sha512-UzcJi88Hw//CurUIRa9Jxb0vgOCcuD/MNjwmXp633cyaRKkCWACkoqHCtfZv43b1kqXGg/fpOa8bwgacCeXsVg==} engines: {node: '>=18'} globby@11.1.0: @@ -5015,11 +5018,11 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - launch-editor-middleware@2.6.1: - resolution: {integrity: sha512-Fg/xYhf7ARmRp40n18wIfJyuAMEjXo67Yull7uF7d0OJ3qA4EYJISt1XfPPn69IIJ5jKgQwzcg6DqHYo95LL/g==} + launch-editor-middleware@2.7.0: + resolution: {integrity: sha512-rG+rNALg2G2uObvKqff38SqqETFYMUDwv0nvi2wYp8LcImFmWB+lSc5EI7gz82H4300CmC9Kgfaguhwf7sNXSQ==} - launch-editor@2.6.1: - resolution: {integrity: sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==} + launch-editor@2.7.0: + resolution: {integrity: sha512-KAc66u6LxWL8MifQ94oG3YGKYWDwz/Gi0T15lN//GaQoZe08vQGFJxrXkPAeu50UXgvJPPaRKVGuP1TRUm/aHQ==} less@4.2.0: resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} @@ -5103,8 +5106,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - lint-staged@15.2.5: - resolution: {integrity: sha512-j+DfX7W9YUvdzEZl3Rk47FhDF6xwDBV5wwsCPw6BwWZVPYJemusQmvb9bRsW23Sqsaa+vRloAWogbK4BUuU2zA==} + lint-staged@15.2.7: + resolution: {integrity: sha512-+FdVbbCZ+yoh7E/RosSdqKJyUM2OEjTciH0TFNkawKgvFp1zbGlEC39RADg+xKBG1R4mhoH2j85myBQZ5wR+lw==} engines: {node: '>=18.12.0'} hasBin: true @@ -5226,8 +5229,8 @@ packages: mdast-util-phrasing@4.1.0: resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==} - mdast-util-to-hast@13.1.0: - resolution: {integrity: sha512-/e2l/6+OdGp/FB+ctrJ9Avz71AN/GRH3oi/3KAx/kMnoUsD6q0woXlDT8lLEeViVKE7oZxE7RXzvO3T8kF2/sA==} + mdast-util-to-hast@13.2.0: + resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==} mdast-util-to-markdown@2.1.0: resolution: {integrity: sha512-SR2VnIEdVNCJbP6y7kVTJgPLifdr8WEU440fQec7qHoHOUz/oJ2jmNRqdDQ3rbiStOXb2mCDGTuwsK5OPUgYlQ==} @@ -5349,8 +5352,8 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - miniflare@3.20240605.0: - resolution: {integrity: sha512-wE59RULU5zo6eYhL8j3wYdoOQ5istlkMruEr5pYvykL0LJecjKlFc8/cu4WJ5JdkdhutE1320Awi7WEICcolEw==} + miniflare@3.20240610.0: + resolution: {integrity: sha512-J6aXmkII5gcq+kC4TurxKiR4rC++apPST/K8P/YjqoQQgrJ+NRPacBhf6iVh8R3ujnXYXaq+Ae+gm+LM0XHK/w==} engines: {node: '>=16.13'} hasBin: true @@ -5442,8 +5445,8 @@ packages: ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - muggle-string@0.3.1: - resolution: {integrity: sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==} + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} mustache@4.2.0: resolution: {integrity: sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ==} @@ -5806,8 +5809,8 @@ packages: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} - prettier@3.3.1: - resolution: {integrity: sha512-7CAwy5dRsxs8PHXT3twixW9/OEll8MLE0VRPCJyl7CkS6VHGPSlsVaWTiASPTyGyYRyApxlaWTzwUxVNrhcwDg==} + prettier@3.3.2: + resolution: {integrity: sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA==} engines: {node: '>=14'} hasBin: true @@ -6066,8 +6069,8 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass@1.77.4: - resolution: {integrity: sha512-vcF3Ckow6g939GMA4PeU7b2K/9FALXk2KF9J87txdHzXbUF9XRQRwSxcAs/fGaTnJeBFd7UoV22j3lzMLdM0Pw==} + sass@1.77.6: + resolution: {integrity: sha512-ByXE1oLD79GVq9Ht1PeHWCPMPB8XHpBuz1r85oByKHjZY6qV6rWnQovQzXJXuQ/XyE1Oj3iPk3lo28uzaRA2/Q==} engines: {node: '>=14.0.0'} hasBin: true @@ -6131,6 +6134,9 @@ packages: shiki@1.6.3: resolution: {integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==} + shiki@1.7.0: + resolution: {integrity: sha512-H5pMn4JA7ayx8H0qOz1k2qANq6mZVCMl1gKLK6kWIrv1s2Ial4EmD4s4jE8QB5Dw03d/oCQUxc24sotuyR5byA==} + side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -6428,21 +6434,21 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsx@4.15.1: - resolution: {integrity: sha512-k/6h17jA1KfUR7SpcteOa880zGmF56s8gMIcSqUR5avyNFi9nlCEKpMiHLrzrqyARGr52A/JablmGey1DEWbCA==} + tsx@4.15.6: + resolution: {integrity: sha512-is0VQQlfNZRHEuSSTKA6m4xw74IU4AizmuB6lAYLRt9XtuyeQnyJYexhNZOPCB59SqC4JzmSzPnHGBXxf3k0hA==} engines: {node: '>=18.0.0'} hasBin: true - twoslash-protocol@0.2.7: - resolution: {integrity: sha512-iRPdeHx5kpg/abMS2IOyMioY2C2zJaCDJLZQhd7IyJ/S5ZVKOXQgddz4xZyFTeSWKbAC+XsgYbc+lpljgFc3Mw==} + twoslash-protocol@0.2.8: + resolution: {integrity: sha512-8l439jrFEJiQmQ6ugFtYXgHpQDp3nBYVF6RR88doLarFGWhjfq0sgntgQYc2aDmJb87Jzhh4EicV8k9DrqpIZg==} - twoslash-vue@0.2.7: - resolution: {integrity: sha512-Y8+Pjinl+okTjFLYkfjqtwqB80Pyy5cYn+IFdHHP1GjVEjnGcxAr/cWRnpCs2ycqddXuXtkAcXuam4qsN23jIQ==} + twoslash-vue@0.2.8: + resolution: {integrity: sha512-46I4TA0FNquQ++AKc2mKS8EV7ElQEP34dGi7T9mQm7y1/r5HH16zmq+Er9LUtomasFLue+Jb87B+qElbF2yYMw==} peerDependencies: typescript: '*' - twoslash@0.2.7: - resolution: {integrity: sha512-kd1ZEmQhTFjTc1SKTDFYTINVbnnykaPIjFtGYemHKawuogCcmTnuonzCtMplAoTOeAjmsjzFezZgoolLph87cw==} + twoslash@0.2.8: + resolution: {integrity: sha512-mQiUB4SvBF58FJkEEtXvVhTO1h0oDpTZuEAyaC8xwf4P6392ydSFhsMiUBbJEOvaelN9DLesViopn3E9O2GKOA==} peerDependencies: typescript: '*' @@ -6476,8 +6482,8 @@ packages: type@2.7.2: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - typescript-eslint@7.12.0: - resolution: {integrity: sha512-D6HKNbQcnNu3BaN4HkQCR16tgG8Q2AMUWPgvhrJksOXu+d6ys07yC06ONiV2kcsEfWC22voB6C3PvK2MqlBZ7w==} + typescript-eslint@7.13.1: + resolution: {integrity: sha512-pvLEuRs8iS9s3Cnp/Wt//hpK8nKc8hVa3cLljHqzaJJQYP8oys8GUyIFqtlev+2lT/fqMPcyQko+HJ6iYK3nFA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -6670,8 +6676,8 @@ packages: vue@3.2.0: resolution: {integrity: sha512-eMo5yCdkWRmBfqp/acBI/Y1Omgk0NyGqPViaU66eOpKarXNtkdImzDA57+E76jnWVr6MEp/rg1n0vnxaVvALMQ==} - vue@3.4.27: - resolution: {integrity: sha512-8s/56uK6r01r1icG/aEOHqyMVxd1bkYcSe9j8HcKtr/xTOFWvnzIVTehNW+5Yt89f+DLBe4A569pnZLS5HzAMA==} + vue@3.4.29: + resolution: {integrity: sha512-8QUYfRcYzNlYuzKPfge1UWC6nF9ym0lx7mpGVPJYNhddxEf3DD0+kU07NTL0sXuiT2HuJuKr/iEO8WvXvT0RSQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6713,8 +6719,8 @@ packages: wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - workerd@1.20240605.0: - resolution: {integrity: sha512-2yhzgaprAOFm7H988xlRFmU4rOLXhSsq24wh6ayucMB3ORfe/nYJ2ysFn1mzjB+UxEJVt5PhixgHkZLv1S8UPQ==} + workerd@1.20240610.1: + resolution: {integrity: sha512-Rtut5GrsODQMh6YU43b9WZ980Wd05Ov1/ds88pT/SoetmXFBvkBzdRfiHiATv+azmGX8KveE0i/Eqzk/yI01ug==} engines: {node: '>=16'} hasBin: true @@ -6733,8 +6739,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.17.0: - resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + ws@8.17.1: + resolution: {integrity: sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -7697,19 +7703,19 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@cloudflare/workerd-darwin-64@1.20240605.0': + '@cloudflare/workerd-darwin-64@1.20240610.1': optional: true - '@cloudflare/workerd-darwin-arm64@1.20240605.0': + '@cloudflare/workerd-darwin-arm64@1.20240610.1': optional: true - '@cloudflare/workerd-linux-64@1.20240605.0': + '@cloudflare/workerd-linux-64@1.20240610.1': optional: true - '@cloudflare/workerd-linux-arm64@1.20240605.0': + '@cloudflare/workerd-linux-arm64@1.20240610.1': optional: true - '@cloudflare/workerd-windows-64@1.20240605.0': + '@cloudflare/workerd-windows-64@1.20240610.1': optional: true '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)': @@ -7978,7 +7984,7 @@ snapshots: '@eslint/js@8.57.0': {} - '@eslint/js@9.4.0': {} + '@eslint/js@9.5.0': {} '@fastify/busboy@2.1.0': {} @@ -8232,29 +8238,31 @@ snapshots: '@shikijs/core@1.6.3': {} + '@shikijs/core@1.7.0': {} + '@shikijs/transformers@1.6.3': dependencies: shiki: 1.6.3 - '@shikijs/twoslash@1.6.3(typescript@5.2.2)': + '@shikijs/twoslash@1.7.0(typescript@5.2.2)': dependencies: - '@shikijs/core': 1.6.3 - twoslash: 0.2.7(typescript@5.2.2) + '@shikijs/core': 1.7.0 + twoslash: 0.2.8(typescript@5.2.2) transitivePeerDependencies: - supports-color - typescript - '@shikijs/vitepress-twoslash@1.6.3(typescript@5.2.2)': + '@shikijs/vitepress-twoslash@1.7.0(typescript@5.2.2)': dependencies: - '@shikijs/twoslash': 1.6.3(typescript@5.2.2) - floating-vue: 5.2.2(vue@3.4.27(typescript@5.2.2)) + '@shikijs/twoslash': 1.7.0(typescript@5.2.2) + floating-vue: 5.2.2(vue@3.4.29(typescript@5.2.2)) mdast-util-from-markdown: 2.0.1 mdast-util-gfm: 3.0.0 - mdast-util-to-hast: 13.1.0 - shiki: 1.6.3 - twoslash: 0.2.7(typescript@5.2.2) - twoslash-vue: 0.2.7(typescript@5.2.2) - vue: 3.4.27(typescript@5.2.2) + mdast-util-to-hast: 13.2.0 + shiki: 1.7.0 + twoslash: 0.2.8(typescript@5.2.2) + twoslash-vue: 0.2.8(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -8284,7 +8292,7 @@ snapshots: dependencies: '@babel/types': 7.24.0 - '@types/babel__preset-env@7.9.6': {} + '@types/babel__preset-env@7.9.7': {} '@types/babel__template@7.4.1': dependencies: @@ -8298,19 +8306,19 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/braces@3.0.1': {} '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/convert-source-map@2.0.3': {} '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/debug@4.1.12': dependencies: @@ -8326,11 +8334,11 @@ snapshots: '@types/etag@1.8.3': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/express-serve-static-core@4.17.43': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8345,7 +8353,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/hast@3.0.4': dependencies: @@ -8355,7 +8363,7 @@ snapshots: '@types/jsonfile@6.1.1': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/less@3.0.6': {} @@ -8390,7 +8398,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@20.14.2': + '@types/node@20.14.4': dependencies: undici-types: 5.26.5 @@ -8416,17 +8424,17 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/stylus@0.48.42': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 '@types/unist@3.0.2': {} @@ -8434,16 +8442,16 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 - '@typescript-eslint/eslint-plugin@7.12.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 7.12.0 - '@typescript-eslint/type-utils': 7.12.0(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.12.0(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.13.1 + '@typescript-eslint/type-utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.13.1 eslint: 8.57.0 graphemer: 1.4.0 ignore: 5.3.1 @@ -8454,12 +8462,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2)': dependencies: - '@typescript-eslint/scope-manager': 7.12.0 - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/scope-manager': 7.13.1 + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.13.1 debug: 4.3.5 eslint: 8.57.0 optionalDependencies: @@ -8467,15 +8475,15 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@7.12.0': + '@typescript-eslint/scope-manager@7.13.1': dependencies: - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/visitor-keys': 7.13.1 - '@typescript-eslint/type-utils@7.12.0(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/type-utils@7.13.1(eslint@8.57.0)(typescript@5.2.2)': dependencies: - '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.2.2) - '@typescript-eslint/utils': 7.12.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) debug: 4.3.5 eslint: 8.57.0 ts-api-utils: 1.3.0(typescript@5.2.2) @@ -8484,12 +8492,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@7.12.0': {} + '@typescript-eslint/types@7.13.1': {} - '@typescript-eslint/typescript-estree@7.12.0(typescript@5.2.2)': + '@typescript-eslint/typescript-estree@7.13.1(typescript@5.2.2)': dependencies: - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/visitor-keys': 7.12.0 + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/visitor-keys': 7.13.1 debug: 4.3.5 globby: 11.1.0 is-glob: 4.0.3 @@ -8501,20 +8509,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.12.0(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/utils@7.13.1(eslint@8.57.0)(typescript@5.2.2)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@typescript-eslint/scope-manager': 7.12.0 - '@typescript-eslint/types': 7.12.0 - '@typescript-eslint/typescript-estree': 7.12.0(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.13.1 + '@typescript-eslint/types': 7.13.1 + '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/visitor-keys@7.12.0': + '@typescript-eslint/visitor-keys@7.13.1': dependencies: - '@typescript-eslint/types': 7.12.0 + '@typescript-eslint/types': 7.13.1 eslint-visitor-keys: 3.4.3 '@typescript/vfs@1.5.0': @@ -8527,10 +8535,10 @@ snapshots: '@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@file:playground/optimize-deps/longfilename': {} - '@vitejs/plugin-vue@5.0.5(vite@packages+vite)(vue@3.4.27(typescript@5.2.2))': + '@vitejs/plugin-vue@5.0.5(vite@packages+vite)(vue@3.4.29(typescript@5.2.2))': dependencies: vite: link:packages/vite - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) '@vitejs/release-scripts@1.3.1': dependencies: @@ -8613,7 +8621,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) transitivePeerDependencies: - typescript @@ -8621,7 +8629,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) transitivePeerDependencies: - typescript @@ -8750,13 +8758,13 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@volar/language-core@1.11.1': + '@volar/language-core@2.3.0': dependencies: - '@volar/source-map': 1.11.1 + '@volar/source-map': 2.3.0 - '@volar/source-map@1.11.1': + '@volar/source-map@2.3.0': dependencies: - muggle-string: 0.3.1 + muggle-string: 0.4.1 '@vue/compiler-core@3.2.0': dependencies: @@ -8766,18 +8774,18 @@ snapshots: estree-walker: 2.0.2 source-map: 0.6.1 - '@vue/compiler-core@3.4.21': + '@vue/compiler-core@3.4.27': dependencies: '@babel/parser': 7.24.7 - '@vue/shared': 3.4.21 + '@vue/shared': 3.4.27 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-core@3.4.27': + '@vue/compiler-core@3.4.29': dependencies: '@babel/parser': 7.24.7 - '@vue/shared': 3.4.27 + '@vue/shared': 3.4.29 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 @@ -8787,63 +8795,61 @@ snapshots: '@vue/compiler-core': 3.2.0 '@vue/shared': 3.2.0 - '@vue/compiler-dom@3.4.21': - dependencies: - '@vue/compiler-core': 3.4.21 - '@vue/shared': 3.4.21 - '@vue/compiler-dom@3.4.27': dependencies: '@vue/compiler-core': 3.4.27 '@vue/shared': 3.4.27 - '@vue/compiler-sfc@3.4.27': + '@vue/compiler-dom@3.4.29': + dependencies: + '@vue/compiler-core': 3.4.29 + '@vue/shared': 3.4.29 + + '@vue/compiler-sfc@3.4.29': dependencies: '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.27 - '@vue/compiler-dom': 3.4.27 - '@vue/compiler-ssr': 3.4.27 - '@vue/shared': 3.4.27 + '@vue/compiler-core': 3.4.29 + '@vue/compiler-dom': 3.4.29 + '@vue/compiler-ssr': 3.4.29 + '@vue/shared': 3.4.29 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.27': + '@vue/compiler-ssr@3.4.29': dependencies: - '@vue/compiler-dom': 3.4.27 - '@vue/shared': 3.4.27 + '@vue/compiler-dom': 3.4.29 + '@vue/shared': 3.4.29 '@vue/devtools-api@6.6.1': {} - '@vue/devtools-api@7.2.1(vue@3.4.27(typescript@5.2.2))': + '@vue/devtools-api@7.2.1(vue@3.4.29(typescript@5.2.2))': dependencies: - '@vue/devtools-kit': 7.2.1(vue@3.4.27(typescript@5.2.2)) + '@vue/devtools-kit': 7.2.1(vue@3.4.29(typescript@5.2.2)) transitivePeerDependencies: - vue - '@vue/devtools-kit@7.2.1(vue@3.4.27(typescript@5.2.2))': + '@vue/devtools-kit@7.2.1(vue@3.4.29(typescript@5.2.2))': dependencies: '@vue/devtools-shared': 7.2.1 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) '@vue/devtools-shared@7.2.1': dependencies: rfdc: 1.3.1 - '@vue/language-core@1.8.27(typescript@5.2.2)': + '@vue/language-core@2.0.21(typescript@5.2.2)': dependencies: - '@volar/language-core': 1.11.1 - '@volar/source-map': 1.11.1 - '@vue/compiler-dom': 3.4.21 - '@vue/shared': 3.4.27 + '@volar/language-core': 2.3.0 + '@vue/compiler-dom': 3.4.27 + '@vue/shared': 3.4.29 computeds: 0.0.1 - minimatch: 9.0.3 - muggle-string: 0.3.1 + minimatch: 9.0.4 path-browserify: 1.0.1 vue-template-compiler: 2.7.16 optionalDependencies: @@ -8853,19 +8859,19 @@ snapshots: dependencies: '@vue/shared': 3.2.0 - '@vue/reactivity@3.4.27': + '@vue/reactivity@3.4.29': dependencies: - '@vue/shared': 3.4.27 + '@vue/shared': 3.4.29 '@vue/runtime-core@3.2.0': dependencies: '@vue/reactivity': 3.2.0 '@vue/shared': 3.2.0 - '@vue/runtime-core@3.4.27': + '@vue/runtime-core@3.4.29': dependencies: - '@vue/reactivity': 3.4.27 - '@vue/shared': 3.4.27 + '@vue/reactivity': 3.4.29 + '@vue/shared': 3.4.29 '@vue/runtime-dom@3.2.0': dependencies: @@ -8873,39 +8879,40 @@ snapshots: '@vue/shared': 3.2.0 csstype: 2.6.21 - '@vue/runtime-dom@3.4.27': + '@vue/runtime-dom@3.4.29': dependencies: - '@vue/runtime-core': 3.4.27 - '@vue/shared': 3.4.27 + '@vue/reactivity': 3.4.29 + '@vue/runtime-core': 3.4.29 + '@vue/shared': 3.4.29 csstype: 3.1.3 - '@vue/server-renderer@3.4.27(vue@3.4.27(typescript@5.2.2))': + '@vue/server-renderer@3.4.29(vue@3.4.29(typescript@5.2.2))': dependencies: - '@vue/compiler-ssr': 3.4.27 - '@vue/shared': 3.4.27 - vue: 3.4.27(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.29 + '@vue/shared': 3.4.29 + vue: 3.4.29(typescript@5.2.2) '@vue/shared@3.2.0': {} - '@vue/shared@3.4.21': {} - '@vue/shared@3.4.27': {} - '@vueuse/core@10.10.0(vue@3.4.27(typescript@5.2.2))': + '@vue/shared@3.4.29': {} + + '@vueuse/core@10.10.0(vue@3.4.29(typescript@5.2.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.10.0 - '@vueuse/shared': 10.10.0(vue@3.4.27(typescript@5.2.2)) - vue-demi: 0.14.7(vue@3.4.27(typescript@5.2.2)) + '@vueuse/shared': 10.10.0(vue@3.4.29(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.29(typescript@5.2.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.27(typescript@5.2.2))': + '@vueuse/integrations@10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.29(typescript@5.2.2))': dependencies: - '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.2.2)) - '@vueuse/shared': 10.10.0(vue@3.4.27(typescript@5.2.2)) - vue-demi: 0.14.7(vue@3.4.27(typescript@5.2.2)) + '@vueuse/core': 10.10.0(vue@3.4.29(typescript@5.2.2)) + '@vueuse/shared': 10.10.0(vue@3.4.29(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.29(typescript@5.2.2)) optionalDependencies: axios: 1.7.2 focus-trap: 7.5.4 @@ -8915,9 +8922,9 @@ snapshots: '@vueuse/metadata@10.10.0': {} - '@vueuse/shared@10.10.0(vue@3.4.27(typescript@5.2.2))': + '@vueuse/shared@10.10.0(vue@3.4.29(typescript@5.2.2))': dependencies: - vue-demi: 0.14.7(vue@3.4.27(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.29(typescript@5.2.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -8929,15 +8936,15 @@ snapshots: mime-types: 2.1.35 negotiator: 0.6.3 - acorn-jsx@5.3.2(acorn@8.11.3(patch_hash=updblechagntmruccl446lr76a)): + acorn-jsx@5.3.2(acorn@8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4)): dependencies: - acorn: 8.11.3(patch_hash=updblechagntmruccl446lr76a) + acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) acorn-walk@8.3.2: {} acorn@7.4.1: {} - acorn@8.11.3(patch_hash=updblechagntmruccl446lr76a): {} + acorn@8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4): {} add-stream@1.0.0: {} @@ -9657,11 +9664,11 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): + eslint-module-utils@2.8.0(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: @@ -9670,17 +9677,17 @@ snapshots: eslint-plugin-es-x@7.5.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.1 eslint: 8.57.0 eslint-compat-utils: 0.1.2(eslint@8.57.0) - eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0): + eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0): dependencies: debug: 4.3.5 doctrine: 3.0.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) + eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) get-tsconfig: 4.7.2 is-glob: 4.0.3 minimatch: 3.1.2 @@ -9691,16 +9698,16 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-n@17.8.1(eslint@8.57.0): + eslint-plugin-n@17.9.0(eslint@8.57.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) enhanced-resolve: 5.17.0 eslint: 8.57.0 eslint-plugin-es-x: 7.5.0(eslint@8.57.0) - get-tsconfig: 4.7.2 - globals: 15.4.0 - ignore: 5.2.4 - minimatch: 9.0.3 + get-tsconfig: 4.7.5 + globals: 15.6.0 + ignore: 5.3.1 + minimatch: 9.0.4 semver: 7.6.0 eslint-plugin-regexp@2.6.0(eslint@8.57.0): @@ -9773,8 +9780,8 @@ snapshots: espree@9.6.1: dependencies: - acorn: 8.11.3(patch_hash=updblechagntmruccl446lr76a) - acorn-jsx: 5.3.2(acorn@8.11.3(patch_hash=updblechagntmruccl446lr76a)) + acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) + acorn-jsx: 5.3.2(acorn@8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4)) eslint-visitor-keys: 3.4.3 esquery@1.5.0: @@ -9956,11 +9963,11 @@ snapshots: flatted@3.2.5: {} - floating-vue@5.2.2(vue@3.4.27(typescript@5.2.2)): + floating-vue@5.2.2(vue@3.4.29(typescript@5.2.2)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.27(typescript@5.2.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.27(typescript@5.2.2)) + vue: 3.4.29(typescript@5.2.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.29(typescript@5.2.2)) focus-trap@7.5.4: dependencies: @@ -10133,14 +10140,14 @@ snapshots: dependencies: type-fest: 0.20.2 - globals@15.4.0: {} + globals@15.6.0: {} globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.2.4 + ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 @@ -10404,11 +10411,11 @@ snapshots: kolorist@1.8.0: {} - launch-editor-middleware@2.6.1: + launch-editor-middleware@2.7.0: dependencies: - launch-editor: 2.6.1 + launch-editor: 2.7.0 - launch-editor@2.6.1: + launch-editor@2.7.0: dependencies: picocolors: 1.0.1 shell-quote: 1.8.1 @@ -10481,7 +10488,7 @@ snapshots: lines-and-columns@1.2.4: {} - lint-staged@15.2.5: + lint-staged@15.2.7: dependencies: chalk: 5.3.0 commander: 12.1.0 @@ -10672,7 +10679,7 @@ snapshots: '@types/mdast': 4.0.3 unist-util-is: 6.0.0 - mdast-util-to-hast@13.1.0: + mdast-util-to-hast@13.2.0: dependencies: '@types/hast': 3.0.4 '@types/mdast': 4.0.3 @@ -10863,18 +10870,18 @@ snapshots: mimic-fn@4.0.0: {} - miniflare@3.20240605.0: + miniflare@3.20240610.0: dependencies: '@cspotcode/source-map-support': 0.8.1 - acorn: 8.11.3(patch_hash=updblechagntmruccl446lr76a) + acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) acorn-walk: 8.3.2 capnp-ts: 0.7.0 exit-hook: 2.2.1 glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.3 - workerd: 1.20240605.0 - ws: 8.17.0 + workerd: 1.20240610.1 + ws: 8.17.1 youch: 3.2.3 zod: 3.22.4 transitivePeerDependencies: @@ -10921,7 +10928,7 @@ snapshots: mkdirp@3.0.1: {} - mkdist@1.3.0(sass@1.77.4)(typescript@5.2.2): + mkdist@1.3.0(sass@1.77.6)(typescript@5.2.2): dependencies: citty: 0.1.4 defu: 6.1.2 @@ -10933,19 +10940,19 @@ snapshots: mri: 1.2.0 pathe: 1.1.2 optionalDependencies: - sass: 1.77.4 + sass: 1.77.6 typescript: 5.2.2 mlly@1.4.2: dependencies: - acorn: 8.11.3(patch_hash=updblechagntmruccl446lr76a) + acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) pathe: 1.1.2 pkg-types: 1.0.3 ufo: 1.5.3 mlly@1.7.1: dependencies: - acorn: 8.11.3(patch_hash=updblechagntmruccl446lr76a) + acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) pathe: 1.1.2 pkg-types: 1.1.1 ufo: 1.5.3 @@ -10962,7 +10969,7 @@ snapshots: ms@2.1.3: {} - muggle-string@0.3.1: {} + muggle-string@0.4.1: {} mustache@4.2.0: {} @@ -11228,13 +11235,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.38 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2)): + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)): dependencies: lilconfig: 3.0.0 yaml: 2.3.4 optionalDependencies: postcss: 8.4.38 - ts-node: 10.9.2(@types/node@20.14.2)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.14.4)(typescript@5.2.2) postcss-modules-extract-imports@3.0.0(postcss@8.4.38): dependencies: @@ -11291,7 +11298,7 @@ snapshots: prelude-ls@1.2.1: {} - prettier@3.3.1: {} + prettier@3.3.2: {} pretty-bytes@6.1.1: {} @@ -11609,7 +11616,7 @@ snapshots: safer-buffer@2.1.2: {} - sass@1.77.4: + sass@1.77.6: dependencies: chokidar: 3.6.0(patch_hash=bckcfsslxcffppz65mxcq6naau) immutable: 4.0.0 @@ -11685,6 +11692,10 @@ snapshots: dependencies: '@shikijs/core': 1.6.3 + shiki@1.7.0: + dependencies: + '@shikijs/core': 1.7.0 + side-channel@1.0.4: dependencies: call-bind: 1.0.2 @@ -11865,7 +11876,7 @@ snapshots: tabbable@6.2.0: {} - tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2)): + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -11884,7 +11895,7 @@ snapshots: postcss: 8.4.38 postcss-import: 15.1.0(postcss@8.4.38) postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2)) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) postcss-nested: 6.0.1(postcss@8.4.38) postcss-selector-parser: 6.0.11 resolve: 1.22.4 @@ -11912,7 +11923,7 @@ snapshots: terser@5.31.1: dependencies: '@jridgewell/source-map': 0.3.3 - acorn: 8.11.3(patch_hash=updblechagntmruccl446lr76a) + acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) commander: 2.20.3 source-map-support: 0.5.21 @@ -11956,15 +11967,15 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.14.2)(typescript@5.2.2): + ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2): 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.14.2 - acorn: 8.11.3(patch_hash=updblechagntmruccl446lr76a) + '@types/node': 20.14.4 + acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) acorn-walk: 8.3.2 arg: 4.1.3 create-require: 1.1.1 @@ -11980,28 +11991,28 @@ snapshots: tslib@2.6.3: {} - tsx@4.15.1: + tsx@4.15.6: dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 - twoslash-protocol@0.2.7: {} + twoslash-protocol@0.2.8: {} - twoslash-vue@0.2.7(typescript@5.2.2): + twoslash-vue@0.2.8(typescript@5.2.2): dependencies: - '@vue/language-core': 1.8.27(typescript@5.2.2) - twoslash: 0.2.7(typescript@5.2.2) - twoslash-protocol: 0.2.7 + '@vue/language-core': 2.0.21(typescript@5.2.2) + twoslash: 0.2.8(typescript@5.2.2) + twoslash-protocol: 0.2.8 typescript: 5.2.2 transitivePeerDependencies: - supports-color - twoslash@0.2.7(typescript@5.2.2): + twoslash@0.2.8(typescript@5.2.2): dependencies: '@typescript/vfs': 1.5.0 - twoslash-protocol: 0.2.7 + twoslash-protocol: 0.2.8 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -12027,11 +12038,11 @@ snapshots: type@2.7.2: {} - typescript-eslint@7.12.0(eslint@8.57.0)(typescript@5.2.2): + typescript-eslint@7.13.1(eslint@8.57.0)(typescript@5.2.2): dependencies: - '@typescript-eslint/eslint-plugin': 7.12.0(@typescript-eslint/parser@7.12.0(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/parser': 7.12.0(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.12.0(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) eslint: 8.57.0 optionalDependencies: typescript: 5.2.2 @@ -12045,7 +12056,7 @@ snapshots: uglify-js@3.17.4: optional: true - unbuild@2.0.0(sass@1.77.4)(typescript@5.2.2): + unbuild@2.0.0(sass@1.77.6)(typescript@5.2.2): dependencies: '@rollup/plugin-alias': 5.0.0(rollup@3.29.4) '@rollup/plugin-commonjs': 25.0.4(rollup@3.29.4) @@ -12062,7 +12073,7 @@ snapshots: hookable: 5.5.3 jiti: 1.20.0 magic-string: 0.30.4 - mkdist: 1.3.0(sass@1.77.4)(typescript@5.2.2) + mkdist: 1.3.0(sass@1.77.6)(typescript@5.2.2) mlly: 1.4.2 pathe: 1.1.2 pkg-types: 1.0.3 @@ -12191,17 +12202,17 @@ snapshots: '@shikijs/core': 1.6.3 '@shikijs/transformers': 1.6.3 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@packages+vite)(vue@3.4.27(typescript@5.2.2)) - '@vue/devtools-api': 7.2.1(vue@3.4.27(typescript@5.2.2)) + '@vitejs/plugin-vue': 5.0.5(vite@packages+vite)(vue@3.4.29(typescript@5.2.2)) + '@vue/devtools-api': 7.2.1(vue@3.4.29(typescript@5.2.2)) '@vue/shared': 3.4.27 - '@vueuse/core': 10.10.0(vue@3.4.27(typescript@5.2.2)) - '@vueuse/integrations': 10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.27(typescript@5.2.2)) + '@vueuse/core': 10.10.0(vue@3.4.29(typescript@5.2.2)) + '@vueuse/integrations': 10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.29(typescript@5.2.2)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 shiki: 1.6.3 vite: link:packages/vite - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) optionalDependencies: postcss: 8.4.38 transitivePeerDependencies: @@ -12224,7 +12235,7 @@ snapshots: - typescript - universal-cookie - vitest@1.6.0(@types/node@20.14.2): + vitest@1.6.0(@types/node@20.14.4): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -12247,24 +12258,24 @@ snapshots: vite-node: 1.6.0 why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.2 + '@types/node': 20.14.4 transitivePeerDependencies: - supports-color void-elements@3.1.0: {} - vue-demi@0.14.7(vue@3.4.27(typescript@5.2.2)): + vue-demi@0.14.7(vue@3.4.29(typescript@5.2.2)): dependencies: - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) - vue-resize@2.0.0-alpha.1(vue@3.4.27(typescript@5.2.2)): + vue-resize@2.0.0-alpha.1(vue@3.4.29(typescript@5.2.2)): dependencies: - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) - vue-router@4.3.3(vue@3.4.27(typescript@5.2.2)): + vue-router@4.3.3(vue@3.4.29(typescript@5.2.2)): dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) vue-template-compiler@2.7.16: dependencies: @@ -12277,20 +12288,20 @@ snapshots: '@vue/runtime-dom': 3.2.0 '@vue/shared': 3.2.0 - vue@3.4.27(typescript@5.2.2): + vue@3.4.29(typescript@5.2.2): dependencies: - '@vue/compiler-dom': 3.4.27 - '@vue/compiler-sfc': 3.4.27 - '@vue/runtime-dom': 3.4.27 - '@vue/server-renderer': 3.4.27(vue@3.4.27(typescript@5.2.2)) - '@vue/shared': 3.4.27 + '@vue/compiler-dom': 3.4.29 + '@vue/compiler-sfc': 3.4.29 + '@vue/runtime-dom': 3.4.29 + '@vue/server-renderer': 3.4.29(vue@3.4.29(typescript@5.2.2)) + '@vue/shared': 3.4.29 optionalDependencies: typescript: 5.2.2 - vuex@4.1.0(vue@3.4.27(typescript@5.2.2)): + vuex@4.1.0(vue@3.4.29(typescript@5.2.2)): dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.27(typescript@5.2.2) + vue: 3.4.29(typescript@5.2.2) web-streams-polyfill@3.2.1: {} @@ -12323,13 +12334,13 @@ snapshots: wordwrap@1.0.0: {} - workerd@1.20240605.0: + workerd@1.20240610.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240605.0 - '@cloudflare/workerd-darwin-arm64': 1.20240605.0 - '@cloudflare/workerd-linux-64': 1.20240605.0 - '@cloudflare/workerd-linux-arm64': 1.20240605.0 - '@cloudflare/workerd-windows-64': 1.20240605.0 + '@cloudflare/workerd-darwin-64': 1.20240610.1 + '@cloudflare/workerd-darwin-arm64': 1.20240610.1 + '@cloudflare/workerd-linux-64': 1.20240610.1 + '@cloudflare/workerd-linux-arm64': 1.20240610.1 + '@cloudflare/workerd-windows-64': 1.20240610.1 wrap-ansi@7.0.0: dependencies: @@ -12351,7 +12362,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.17.0: {} + ws@8.17.1: {} xml-js@1.6.11: dependencies: From 5fe0af75d4a823a78d41ebb8bff8de8d529ff16e Mon Sep 17 00:00:00 2001 From: zhiwei liu Date: Tue, 18 Jun 2024 14:45:44 +0800 Subject: [PATCH 632/656] docs(announcing-vite3): fix solidjs link (#17502) --- docs/blog/announcing-vite3.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/blog/announcing-vite3.md b/docs/blog/announcing-vite3.md index a5fe24edec32d4..4f25309ca72f04 100644 --- a/docs/blog/announcing-vite3.md +++ b/docs/blog/announcing-vite3.md @@ -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/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://vitejs.dev/team) and other contributors. ![Vite 3 Announcement Cover Image](/og-image-announcing-vite3.png) From 6c106622812480d2bb134f8ed8efa84e2eb942c4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 18 Jun 2024 09:04:59 +0200 Subject: [PATCH 633/656] chore(deps): update dependency eslint to v9 (#16661) Co-authored-by: bluwy --- eslint.config.js | 17 +- package.json | 6 +- .../template-react-ts/package.json | 2 +- .../create-vite/template-react/package.json | 2 +- packages/vite/src/client/client.ts | 1 - .../ssr/runtime/__tests__/fixtures/native.js | 2 +- playground/cli-module/vite.config.js | 2 +- playground/css/main.js | 2 +- playground/js-sourcemap/importee-pkg/index.js | 2 +- playground/object-hooks/vite.config.ts | 2 +- .../dep-cjs-browser-field-bare/internal.js | 2 +- .../dep-with-builtin-module-cjs/index.js | 4 +- .../dep-with-builtin-module-esm/index.js | 4 +- playground/resolve/browser-field/relative.js | 2 +- .../exports-with-module-condition/index.js | 2 +- pnpm-lock.yaml | 327 ++++++++---------- 16 files changed, 175 insertions(+), 204 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index 5784d7484af2df..0b103b51776cef 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -2,9 +2,8 @@ import { builtinModules, createRequire } from 'node:module' import eslint from '@eslint/js' import pluginN from 'eslint-plugin-n' -import * as pluginI from 'eslint-plugin-i' +import pluginImportX from 'eslint-plugin-import-x' import pluginRegExp from 'eslint-plugin-regexp' -import tsParser from '@typescript-eslint/parser' import tseslint from 'typescript-eslint' import globals from 'globals' @@ -27,11 +26,11 @@ export default tseslint.config( eslint.configs.recommended, ...tseslint.configs.recommended, ...tseslint.configs.stylistic, - /** @type {any} */ (pluginRegExp.configs['flat/recommended']), + pluginRegExp.configs['flat/recommended'], { name: 'main', languageOptions: { - parser: tsParser, + parser: tseslint.parser, parserOptions: { sourceType: 'module', ecmaVersion: 2022, @@ -43,7 +42,7 @@ export default tseslint.config( }, plugins: { n: pluginN, - i: pluginI, + 'import-x': pluginImportX, }, rules: { 'n/no-exports-assign': 'error', @@ -117,12 +116,12 @@ export default tseslint.config( '@typescript-eslint/prefer-for-of': 'off', '@typescript-eslint/prefer-function-type': 'off', - 'i/no-nodejs-modules': [ + 'import-x/no-nodejs-modules': [ 'error', { allow: builtinModules.map((mod) => `node:${mod}`) }, ], - 'i/no-duplicates': 'error', - 'i/order': 'error', + 'import-x/no-duplicates': 'error', + 'import-x/order': 'error', 'sort-imports': [ 'error', { @@ -177,7 +176,7 @@ export default tseslint.config( 'playground/tailwind/**', // blocked by https://github.com/postcss/postcss-load-config/issues/239 ], rules: { - 'i/no-commonjs': 'error', + 'import-x/no-commonjs': 'error', }, }, { diff --git a/package.json b/package.json index 12206370a6baa6..a878d4c1198f4f 100644 --- a/package.json +++ b/package.json @@ -55,12 +55,10 @@ "@types/picomatch": "^2.3.3", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^7.13.1", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^5.0.0", - "eslint": "^8.57.0", - "eslint-plugin-i": "^2.29.1", + "eslint": "^9.5.0", + "eslint-plugin-import-x": "^0.5.1", "eslint-plugin-n": "^17.9.0", "eslint-plugin-regexp": "^2.6.0", "execa": "^9.2.0", diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 9463c88eff00cb..a22bc1c66abd29 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -19,7 +19,7 @@ "@typescript-eslint/eslint-plugin": "^7.13.1", "@typescript-eslint/parser": "^7.13.1", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^8.57.0", + "eslint": "^9.5.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "typescript": "^5.2.2", diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 138cb218e58416..f73d3d66bcff04 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -17,7 +17,7 @@ "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^8.57.0", + "eslint": "^9.5.0", "eslint-plugin-react": "^7.34.2", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 233c9520b02049..703fc3f7302f29 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -353,7 +353,6 @@ async function waitForSuccessfulPing( } await wait(ms) - // eslint-disable-next-line no-constant-condition while (true) { if (document.visibilityState === 'visible') { if (await ping()) { diff --git a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js index b1f9ea4df7b9ae..8908ac97d12303 100644 --- a/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js +++ b/packages/vite/src/node/ssr/runtime/__tests__/fixtures/native.js @@ -1,3 +1,3 @@ export { existsSync } from 'node:fs' -// eslint-disable-next-line i/no-nodejs-modules -- testing that importing without node prefix works +// eslint-disable-next-line import-x/no-nodejs-modules -- testing that importing without node prefix works export { readdirSync } from 'fs' diff --git a/playground/cli-module/vite.config.js b/playground/cli-module/vite.config.js index 89fe27b409b646..dedbf2ef658f86 100644 --- a/playground/cli-module/vite.config.js +++ b/playground/cli-module/vite.config.js @@ -1,4 +1,4 @@ -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules import { URL } from 'url' import { defineConfig } from 'vite' diff --git a/playground/css/main.js b/playground/css/main.js index 05a9c426f3419c..97fa123e37ef5d 100644 --- a/playground/css/main.js +++ b/playground/css/main.js @@ -51,7 +51,7 @@ import './layered/index.css' import './dep.css' import './glob-dep.css' -// eslint-disable-next-line i/order +// eslint-disable-next-line import-x/order import { barModuleClasses } from '@vitejs/test-css-js-dep' document .querySelector('.css-js-dep-module') diff --git a/playground/js-sourcemap/importee-pkg/index.js b/playground/js-sourcemap/importee-pkg/index.js index d101d3b2599e8d..95403a93f0d308 100644 --- a/playground/js-sourcemap/importee-pkg/index.js +++ b/playground/js-sourcemap/importee-pkg/index.js @@ -1,2 +1,2 @@ -// eslint-disable-next-line i/no-commonjs +// eslint-disable-next-line import-x/no-commonjs exports.foo = 'foo' diff --git a/playground/object-hooks/vite.config.ts b/playground/object-hooks/vite.config.ts index c0d80292463b6c..ac25d69ba85a17 100644 --- a/playground/object-hooks/vite.config.ts +++ b/playground/object-hooks/vite.config.ts @@ -1,4 +1,4 @@ -/* eslint-disable i/no-nodejs-modules */ +/* eslint-disable import-x/no-nodejs-modules */ import assert from 'assert' import { defineConfig } from 'vite' diff --git a/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js b/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js index 5868e14e44429e..5bd55071bfcc48 100644 --- a/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js +++ b/playground/optimize-deps/dep-cjs-browser-field-bare/internal.js @@ -1,6 +1,6 @@ 'use strict' -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules const events = require('events') module.exports = 'foo' in events ? 'pong' : '' diff --git a/playground/optimize-deps/dep-with-builtin-module-cjs/index.js b/playground/optimize-deps/dep-with-builtin-module-cjs/index.js index 91c5f599da39fd..17c7253a0d842e 100644 --- a/playground/optimize-deps/dep-with-builtin-module-cjs/index.js +++ b/playground/optimize-deps/dep-with-builtin-module-cjs/index.js @@ -1,7 +1,7 @@ // no node: protocol intentionally -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules const fs = require('fs') -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules const path = require('path') // NOTE: require destructure would error immediately because of how esbuild diff --git a/playground/optimize-deps/dep-with-builtin-module-esm/index.js b/playground/optimize-deps/dep-with-builtin-module-esm/index.js index 45defaf3f0565f..f2d5fbc2480353 100644 --- a/playground/optimize-deps/dep-with-builtin-module-esm/index.js +++ b/playground/optimize-deps/dep-with-builtin-module-esm/index.js @@ -1,7 +1,7 @@ // no node: protocol intentionally -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules import { readFileSync } from 'fs' -// eslint-disable-next-line i/no-nodejs-modules +// eslint-disable-next-line import-x/no-nodejs-modules import path from 'path' // access from named import diff --git a/playground/resolve/browser-field/relative.js b/playground/resolve/browser-field/relative.js index 4629659ee6f843..660d6be578a728 100644 --- a/playground/resolve/browser-field/relative.js +++ b/playground/resolve/browser-field/relative.js @@ -1,4 +1,4 @@ -/* eslint-disable i/no-duplicates */ +/* eslint-disable import-x/no-duplicates */ import ra from './no-ext' import rb from './no-ext.js' // no substitution import rc from './ext' diff --git a/playground/resolve/exports-with-module-condition/index.js b/playground/resolve/exports-with-module-condition/index.js index 53b7bb50be4e8b..d38a0e272c457d 100644 --- a/playground/resolve/exports-with-module-condition/index.js +++ b/playground/resolve/exports-with-module-condition/index.js @@ -1,2 +1,2 @@ -/* eslint-disable i/no-commonjs */ +/* eslint-disable import-x/no-commonjs */ module.exports.msg = '[fail] exports with module condition (index.js)' diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e53a23ec16f4a5..a13f7fa3d9f191 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -70,12 +70,6 @@ importers: '@types/ws': specifier: ^8.5.10 version: 8.5.10 - '@typescript-eslint/eslint-plugin': - specifier: ^7.13.1 - version: 7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/parser': - specifier: ^7.13.1 - version: 7.13.1(eslint@8.57.0)(typescript@5.2.2) '@vitejs/release-scripts': specifier: ^1.3.1 version: 1.3.1 @@ -83,17 +77,17 @@ importers: specifier: ^5.0.0 version: 5.0.0(conventional-commits-filter@5.0.0) eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-plugin-i: - specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0) + specifier: ^9.5.0 + version: 9.5.0 + eslint-plugin-import-x: + specifier: ^0.5.1 + version: 0.5.1(eslint@9.5.0)(typescript@5.2.2) eslint-plugin-n: specifier: ^17.9.0 - version: 17.9.0(eslint@8.57.0) + version: 17.9.0(eslint@9.5.0) eslint-plugin-regexp: specifier: ^2.6.0 - version: 2.6.0(eslint@8.57.0) + version: 2.6.0(eslint@9.5.0) execa: specifier: ^9.2.0 version: 9.2.0 @@ -141,7 +135,7 @@ importers: version: 5.2.2 typescript-eslint: specifier: ^7.13.1 - version: 7.13.1(eslint@8.57.0)(typescript@5.2.2) + version: 7.13.1(eslint@9.5.0)(typescript@5.2.2) vite: specifier: workspace:* version: link:packages/vite @@ -2750,18 +2744,22 @@ packages: resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.16.0': + resolution: {integrity: sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@8.57.0': - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.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.5.0': resolution: {integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==} 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} + '@fastify/busboy@2.1.0': resolution: {integrity: sha512-+KpH+QxZU7O4675t3mnkQKcZZg56u+K/Ct2K+N2AZYNVK8kyeo/bI18tI8aPm3tvNNRyTWfj6s5tnGNlcbQRsA==} engines: {node: '>=14'} @@ -2775,16 +2773,13 @@ packages: '@floating-ui/utils@0.2.1': resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.2': - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + '@humanwhocodes/retry@0.3.0': + resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} + engines: {node: '>=18.18'} '@hutson/parse-repository-url@5.0.0': resolution: {integrity: sha512-e5+YUKENATs1JgYHMzTr2MW/NDcXGfYFAuOQU8gJgF/kEh4EqKgfGrfLI67bMD4tbhZVlkigz/9YYwWcbOFthg==} @@ -3744,6 +3739,7 @@ packages: are-we-there-yet@2.0.0: resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} engines: {node: '>=10'} + deprecated: This package is no longer supported. arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -4367,38 +4363,17 @@ packages: eslint-import-resolver-node@0.3.9: resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - eslint-module-utils@2.8.0: - resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - eslint-plugin-es-x@7.5.0: resolution: {integrity: sha512-ODswlDSO0HJDzXU0XvgZ3lF3lS3XAZEossh15Q2UHjwrJggWeBoKqqEsLTZLXl+dh5eOAozG0zRcYtuE35oTuQ==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '>=8' - eslint-plugin-i@2.29.1: - resolution: {integrity: sha512-ORizX37MelIWLbMyqI7hi8VJMf7A0CskMmYkB+lkCX3aF4pkGV7kwx5bSEb4qx7Yce2rAf9s34HqDRPjGRZPNQ==} - engines: {node: '>=12'} + eslint-plugin-import-x@0.5.1: + resolution: {integrity: sha512-2JK8bbFOLes+gG6tgdnM8safCxMAj4u2wjX8X1BRFPfnY7Ct2hFYESoIcVwABX/DDcdpQFLGtKmzbNEWJZD9iQ==} + engines: {node: '>=16'} peerDependencies: - eslint: ^7.2.0 || ^8 + eslint: ^8.56.0 || ^9.0.0-0 eslint-plugin-n@17.9.0: resolution: {integrity: sha512-CPSaXDXdrT4nsrOrO4mT4VB6FMUkoySRkHWuuJJHVqsIEjIeZgMY1H7AzSwPbDScikBmLN82KeM1u7ixV7PzGg==} @@ -4412,26 +4387,30 @@ packages: peerDependencies: eslint: '>=8.44.0' - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@3.4.3: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.5.0: + resolution: {integrity: sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true esniff@2.0.1: resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} engines: {node: '>=0.10'} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@10.1.0: + resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} @@ -4515,9 +4494,9 @@ packages: resolution: {integrity: sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==} engines: {node: '>=18'} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -4543,12 +4522,12 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.0.4: - resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} - flatted@3.2.5: - resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==} + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} floating-vue@5.2.2: resolution: {integrity: sha512-afW+h2CFafo+7Y9Lvw/xsqjaQlKLdJV7h1fCHfcYQ1C4SVMlu7OAekqWgu5d4SgvkBVU0pVpLlVsrSTBURFRkg==} @@ -4616,6 +4595,7 @@ packages: gauge@3.0.2: resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} engines: {node: '>=10'} + deprecated: This package is no longer supported. generic-names@4.0.0: resolution: {integrity: sha512-ySFolZQfw9FoDb3ed9d80Cm9f0+r7qj+HJkWjeD9RBfpxEVTlVhol+gvaQB/78WbwYfbnNh8nWHHBSlg072y6A==} @@ -4691,18 +4671,20 @@ packages: glob@7.2.0: resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + deprecated: Glob versions prior to v9 are no longer supported glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} engines: {node: '>=12'} + deprecated: Glob versions prior to v9 are no longer supported globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globals@15.6.0: resolution: {integrity: sha512-UzcJi88Hw//CurUIRa9Jxb0vgOCcuD/MNjwmXp633cyaRKkCWACkoqHCtfZv43b1kqXGg/fpOa8bwgacCeXsVg==} @@ -4840,6 +4822,7 @@ packages: inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} @@ -4983,6 +4966,9 @@ packages: engines: {node: '>=4'} hasBin: true + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@3.0.0: resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} @@ -5007,6 +4993,9 @@ packages: jstransformer@1.0.0: resolution: {integrity: sha512-C9YK3Rf8q6VAPDCCU9fnqo3mAfOH6vUGnMcP4AQAYIEpWtfGLpwOTmZ+igtdK5y+VvI2n3CyYSzy4Qh34eq24A==} + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + kill-port@1.6.1: resolution: {integrity: sha512-un0Y55cOM7JKGaLnGja28T38tDDop0AQ8N0KlAdyh+B1nmMoX8AnNmqPNZbS3mUMgiST51DCVqmbFT1gNJpVNw==} hasBin: true @@ -5556,6 +5545,7 @@ packages: npmlog@5.0.1: resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + deprecated: This package is no longer supported. object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} @@ -6386,7 +6376,7 @@ packages: engines: {node: '>=0.6'} token-stream@1.0.0: - resolution: {integrity: sha1-zCAOqyYT9BZtJ/+a/HylbUnfbrQ=} + resolution: {integrity: sha512-VSsyNPPW74RpHwR8Fc21uubwHY7wMDeJLys2IX5zJNih+OnAnaifKHo+1LHT7DAdloQ7apeaaWg8l7qnf/TnEg==} totalist@3.0.0: resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} @@ -6460,10 +6450,6 @@ packages: resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} engines: {node: '>=4'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@3.13.1: resolution: {integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==} engines: {node: '>=14.16'} @@ -7959,22 +7945,30 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)': dependencies: - eslint: 8.57.0 + eslint: 9.5.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.1': {} '@eslint-community/regexpp@4.9.1': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.16.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.5 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/eslintrc@3.1.0': dependencies: ajv: 6.12.6 debug: 4.3.5 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.2.4 + espree: 10.1.0 + globals: 14.0.0 + ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -7982,10 +7976,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.0': {} - '@eslint/js@9.5.0': {} + '@eslint/object-schema@2.1.4': {} + '@fastify/busboy@2.1.0': {} '@floating-ui/core@1.6.0': @@ -7998,17 +7992,9 @@ snapshots: '@floating-ui/utils@0.2.1': {} - '@humanwhocodes/config-array@0.11.14': - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.5 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.2': {} + '@humanwhocodes/retry@0.3.0': {} '@hutson/parse-repository-url@5.0.0': {} @@ -8444,15 +8430,15 @@ snapshots: dependencies: '@types/node': 20.14.4 - '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2))(eslint@9.5.0)(typescript@5.2.2)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.2.2) '@typescript-eslint/scope-manager': 7.13.1 - '@typescript-eslint/type-utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/type-utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) '@typescript-eslint/visitor-keys': 7.13.1 - eslint: 8.57.0 + eslint: 9.5.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -8462,14 +8448,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2)': dependencies: '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/types': 7.13.1 '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) '@typescript-eslint/visitor-keys': 7.13.1 debug: 4.3.5 - eslint: 8.57.0 + eslint: 9.5.0 optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -8480,12 +8466,12 @@ snapshots: '@typescript-eslint/types': 7.13.1 '@typescript-eslint/visitor-keys': 7.13.1 - '@typescript-eslint/type-utils@7.13.1(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/type-utils@7.13.1(eslint@9.5.0)(typescript@5.2.2)': dependencies: '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) debug: 4.3.5 - eslint: 8.57.0 + eslint: 9.5.0 ts-api-utils: 1.3.0(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 @@ -8509,13 +8495,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.13.1(eslint@8.57.0)(typescript@5.2.2)': + '@typescript-eslint/utils@7.13.1(eslint@9.5.0)(typescript@5.2.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/types': 7.13.1 '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) - eslint: 8.57.0 + eslint: 9.5.0 transitivePeerDependencies: - supports-color - typescript @@ -9652,9 +9638,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.1.2(eslint@8.57.0): + eslint-compat-utils@0.1.2(eslint@9.5.0): dependencies: - eslint: 8.57.0 + eslint: 9.5.0 eslint-import-resolver-node@0.3.9: dependencies: @@ -9664,102 +9650,89 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.0(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - eslint: 8.57.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - - eslint-plugin-es-x@7.5.0(eslint@8.57.0): + eslint-plugin-es-x@7.5.0(eslint@9.5.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) '@eslint-community/regexpp': 4.10.1 - eslint: 8.57.0 - eslint-compat-utils: 0.1.2(eslint@8.57.0) + eslint: 9.5.0 + eslint-compat-utils: 0.1.2(eslint@9.5.0) - eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0): + eslint-plugin-import-x@0.5.1(eslint@9.5.0)(typescript@5.2.2): dependencies: + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) debug: 4.3.5 doctrine: 3.0.0 - eslint: 8.57.0 + eslint: 9.5.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.0(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint-import-resolver-node@0.3.9)(eslint@8.57.0) - get-tsconfig: 4.7.2 + get-tsconfig: 4.7.5 is-glob: 4.0.3 - minimatch: 3.1.2 + minimatch: 9.0.4 semver: 7.6.0 + tslib: 2.6.3 transitivePeerDependencies: - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - supports-color + - typescript - eslint-plugin-n@17.9.0(eslint@8.57.0): + eslint-plugin-n@17.9.0(eslint@9.5.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) enhanced-resolve: 5.17.0 - eslint: 8.57.0 - eslint-plugin-es-x: 7.5.0(eslint@8.57.0) + eslint: 9.5.0 + eslint-plugin-es-x: 7.5.0(eslint@9.5.0) get-tsconfig: 4.7.5 globals: 15.6.0 ignore: 5.3.1 minimatch: 9.0.4 semver: 7.6.0 - eslint-plugin-regexp@2.6.0(eslint@8.57.0): + eslint-plugin-regexp@2.6.0(eslint@9.5.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) '@eslint-community/regexpp': 4.9.1 comment-parser: 1.4.0 - eslint: 8.57.0 + eslint: 9.5.0 jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-scope@7.2.2: + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 eslint-visitor-keys@3.4.3: {} - eslint@8.57.0: + eslint-visitor-keys@4.0.0: {} + + eslint@9.5.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.9.1 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/regexpp': 4.10.1 + '@eslint/config-array': 0.16.0 + '@eslint/eslintrc': 3.1.0 + '@eslint/js': 9.5.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.5 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.1.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.2.4 + ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 levn: 0.4.1 lodash.merge: 4.6.2 @@ -9778,11 +9751,11 @@ snapshots: event-emitter: 0.3.5 type: 2.7.2 - espree@9.6.1: + espree@10.1.0: dependencies: acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) acorn-jsx: 5.3.2(acorn@8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4)) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.0.0 esquery@1.5.0: dependencies: @@ -9913,9 +9886,9 @@ snapshots: dependencies: is-unicode-supported: 2.0.0 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.0.4 + flat-cache: 4.0.1 fill-range@7.0.1: dependencies: @@ -9956,12 +9929,12 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.0.4: + flat-cache@4.0.1: dependencies: - flatted: 3.2.5 - rimraf: 3.0.2 + flatted: 3.3.1 + keyv: 4.5.4 - flatted@3.2.5: {} + flatted@3.3.1: {} floating-vue@5.2.2(vue@3.4.29(typescript@5.2.2)): dependencies: @@ -10096,7 +10069,7 @@ snapshots: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 - minimatch: 9.0.3 + minimatch: 9.0.4 minipass: 5.0.0 path-scurry: 1.10.1 @@ -10136,9 +10109,7 @@ snapshots: globals@11.12.0: {} - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@14.0.0: {} globals@15.6.0: {} @@ -10381,6 +10352,8 @@ snapshots: jsesc@2.5.2: {} + json-buffer@3.0.1: {} + json-parse-even-better-errors@3.0.0: {} json-schema-traverse@0.4.1: {} @@ -10402,6 +10375,10 @@ snapshots: is-promise: 2.2.2 promise: 7.3.1 + keyv@4.5.4: + dependencies: + json-buffer: 3.0.1 + kill-port@1.6.1: dependencies: get-them-args: 1.3.2 @@ -11478,7 +11455,7 @@ snapshots: refa@0.12.1: dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.1 regenerate-unicode-properties@10.1.0: dependencies: @@ -11494,7 +11471,7 @@ snapshots: regexp-ast-analysis@0.7.1: dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.1 refa: 0.12.1 regexpu-core@5.3.2: @@ -11630,7 +11607,7 @@ snapshots: scslre@0.3.0: dependencies: - '@eslint-community/regexpp': 4.9.1 + '@eslint-community/regexpp': 4.10.1 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -12023,8 +12000,6 @@ snapshots: type-detect@4.0.8: {} - type-fest@0.20.2: {} - type-fest@3.13.1: {} type-fest@4.20.0: {} @@ -12038,12 +12013,12 @@ snapshots: type@2.7.2: {} - typescript-eslint@7.13.1(eslint@8.57.0)(typescript@5.2.2): + typescript-eslint@7.13.1(eslint@9.5.0)(typescript@5.2.2): dependencies: - '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/parser': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@8.57.0)(typescript@5.2.2) - eslint: 8.57.0 + '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2))(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + eslint: 9.5.0 optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: From 7b240e408ed83f172e9f88823eae3b4a9ba92674 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?To=C3=B1o?= Date: Tue, 18 Jun 2024 09:06:11 +0200 Subject: [PATCH 634/656] fix(create-vite): update tsconfig with moduleDetection true (#17468) --- packages/create-vite/template-lit-ts/tsconfig.json | 1 + packages/create-vite/template-preact-ts/tsconfig.app.json | 1 + packages/create-vite/template-qwik-ts/tsconfig.app.json | 1 + packages/create-vite/template-react-ts/tsconfig.app.json | 1 + packages/create-vite/template-solid-ts/tsconfig.app.json | 1 + packages/create-vite/template-svelte-ts/tsconfig.json | 3 ++- packages/create-vite/template-vanilla-ts/tsconfig.json | 1 + packages/create-vite/template-vue-ts/tsconfig.app.json | 1 + 8 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/create-vite/template-lit-ts/tsconfig.json b/packages/create-vite/template-lit-ts/tsconfig.json index 69e31ac92882e3..d689ddbd308a54 100644 --- a/packages/create-vite/template-lit-ts/tsconfig.json +++ b/packages/create-vite/template-lit-ts/tsconfig.json @@ -12,6 +12,7 @@ "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, + "moduleDetection": "force", "noEmit": true, /* Linting */ diff --git a/packages/create-vite/template-preact-ts/tsconfig.app.json b/packages/create-vite/template-preact-ts/tsconfig.app.json index d4070ad767e716..43648503db4c9e 100644 --- a/packages/create-vite/template-preact-ts/tsconfig.app.json +++ b/packages/create-vite/template-preact-ts/tsconfig.app.json @@ -17,6 +17,7 @@ "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, + "moduleDetection": "force", "noEmit": true, "jsx": "react-jsx", "jsxImportSource": "preact", diff --git a/packages/create-vite/template-qwik-ts/tsconfig.app.json b/packages/create-vite/template-qwik-ts/tsconfig.app.json index 0eebf12f108396..2bf219f042afb7 100644 --- a/packages/create-vite/template-qwik-ts/tsconfig.app.json +++ b/packages/create-vite/template-qwik-ts/tsconfig.app.json @@ -13,6 +13,7 @@ "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, + "moduleDetection": "force", "noEmit": true, "jsx": "react-jsx", "jsxImportSource": "@builder.io/qwik", diff --git a/packages/create-vite/template-react-ts/tsconfig.app.json b/packages/create-vite/template-react-ts/tsconfig.app.json index 97469b6cdf832d..d739292ae01436 100644 --- a/packages/create-vite/template-react-ts/tsconfig.app.json +++ b/packages/create-vite/template-react-ts/tsconfig.app.json @@ -13,6 +13,7 @@ "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, + "moduleDetection": "force", "noEmit": true, "jsx": "react-jsx", diff --git a/packages/create-vite/template-solid-ts/tsconfig.app.json b/packages/create-vite/template-solid-ts/tsconfig.app.json index 2302908f785d18..348fb41806f3ff 100644 --- a/packages/create-vite/template-solid-ts/tsconfig.app.json +++ b/packages/create-vite/template-solid-ts/tsconfig.app.json @@ -13,6 +13,7 @@ "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, + "moduleDetection": "force", "noEmit": true, "jsx": "preserve", "jsxImportSource": "solid-js", diff --git a/packages/create-vite/template-svelte-ts/tsconfig.json b/packages/create-vite/template-svelte-ts/tsconfig.json index 5fb548f2b4f61a..df56300cc65f66 100644 --- a/packages/create-vite/template-svelte-ts/tsconfig.json +++ b/packages/create-vite/template-svelte-ts/tsconfig.json @@ -13,7 +13,8 @@ */ "allowJs": true, "checkJs": true, - "isolatedModules": true + "isolatedModules": true, + "moduleDetection": "force" }, "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"], "references": [{ "path": "./tsconfig.node.json" }] diff --git a/packages/create-vite/template-vanilla-ts/tsconfig.json b/packages/create-vite/template-vanilla-ts/tsconfig.json index 75abdef2659446..7bb0db29851c74 100644 --- a/packages/create-vite/template-vanilla-ts/tsconfig.json +++ b/packages/create-vite/template-vanilla-ts/tsconfig.json @@ -11,6 +11,7 @@ "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, + "moduleDetection": "force", "noEmit": true, /* Linting */ diff --git a/packages/create-vite/template-vue-ts/tsconfig.app.json b/packages/create-vite/template-vue-ts/tsconfig.app.json index 7d77f5f710a5d0..b8e9723f5fd3b8 100644 --- a/packages/create-vite/template-vue-ts/tsconfig.app.json +++ b/packages/create-vite/template-vue-ts/tsconfig.app.json @@ -13,6 +13,7 @@ "allowImportingTsExtensions": true, "resolveJsonModule": true, "isolatedModules": true, + "moduleDetection": "force", "noEmit": true, "jsx": "preserve", From 86cf1b4b497557f09a0d9a81dc304e7a081d6198 Mon Sep 17 00:00:00 2001 From: patak <583075+patak-dev@users.noreply.github.com> Date: Tue, 18 Jun 2024 13:40:50 +0200 Subject: [PATCH 635/656] fix(create-vite): revert eslint 9 upgrade in templates (#17511) --- packages/create-vite/template-react-ts/package.json | 2 +- packages/create-vite/template-react/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index a22bc1c66abd29..9463c88eff00cb 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -19,7 +19,7 @@ "@typescript-eslint/eslint-plugin": "^7.13.1", "@typescript-eslint/parser": "^7.13.1", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^9.5.0", + "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "typescript": "^5.2.2", diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index f73d3d66bcff04..138cb218e58416 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -17,7 +17,7 @@ "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", - "eslint": "^9.5.0", + "eslint": "^8.57.0", "eslint-plugin-react": "^7.34.2", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", From fc049719053a3051179aa1e5f46889f2ee2832b1 Mon Sep 17 00:00:00 2001 From: omahs <73983677+omahs@users.noreply.github.com> Date: Wed, 19 Jun 2024 15:07:10 +0200 Subject: [PATCH 636/656] docs: fix typos (#17524) --- docs/config/ssr-options.md | 2 +- docs/guide/migration.md | 4 ++-- docs/guide/performance.md | 2 +- docs/guide/philosophy.md | 6 +++--- docs/guide/troubleshooting.md | 8 ++++---- docs/releases.md | 2 +- 6 files changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/config/ssr-options.md b/docs/config/ssr-options.md index 1f5cd8e47f325a..d925490e53dcb2 100644 --- a/docs/config/ssr-options.md +++ b/docs/config/ssr-options.md @@ -34,7 +34,7 @@ Build target for the SSR server. - **Type:** `string[]` - **Related:** [Resolve Conditions](./shared-options.md#resolve-conditions) -Defaults to the the root [`resolve.conditions`](./shared-options.md#resolve-conditions). +Defaults to the root [`resolve.conditions`](./shared-options.md#resolve-conditions). These conditions are used in the plugin pipeline, and only affect non-externalized dependencies during the SSR build. Use `ssr.resolve.externalConditions` to affect externalized imports. diff --git a/docs/guide/migration.md b/docs/guide/migration.md index 32d8a499e3c358..d486c71f022f2d 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -28,7 +28,7 @@ In a basic Vite project, make sure: For other projects, there are a few general approaches: -- **Configure ESM as default, opt-in to CJS if needed:** Add `"type": "module"` in the project `package.json`. All `*.js` files are now interpreted as ESM and needs to use the ESM syntax. You can rename a file with the `.cjs` extension to keep using CJS instead. +- **Configure ESM as default, opt-in to CJS if needed:** Add `"type": "module"` in the project `package.json`. All `*.js` files are now interpreted as ESM and need to use the ESM syntax. You can rename a file with the `.cjs` extension to keep using CJS instead. - **Keep CJS as default, opt-in to ESM if needed:** If the project `package.json` does not have `"type": "module"`, all `*.js` files are interpreted as CJS. You can rename a file with the `.mjs` extension to use ESM instead. - **Dynamically import Vite:** If you need to keep using CJS, you can dynamically import Vite using `import('vite')` instead. This requires your code to be written in an `async` context, but should still be manageable as Vite's API is mostly asynchronous. @@ -96,7 +96,7 @@ import * as _foo from 'bar' const foo = _foo.default ``` -Note that these changes matches the Node.js behaviour, so you can also run the imports in Node.js to test it out. If you prefer to stick with the previous behaviour, you can set `legacy.proxySsrExternalModules` to `true`. +Note that these changes match the Node.js behaviour, so you can also run the imports in Node.js to test it out. If you prefer to stick with the previous behaviour, you can set `legacy.proxySsrExternalModules` to `true`. ### `worker.plugins` is now a function diff --git a/docs/guide/performance.md b/docs/guide/performance.md index 9c30a7402bdc29..8da7bd63649705 100644 --- a/docs/guide/performance.md +++ b/docs/guide/performance.md @@ -10,7 +10,7 @@ While Vite is fast by default, performance issues can creep in as the project's Some browser extensions may interfere with requests and slow down startup and reload times for large apps, especially when using browser dev tools. We recommend creating a dev-only profile without extensions, or switch to incognito mode, while using Vite's dev server in these cases. Incognito mode should also be faster than a regular profile without extensions. -The Vite dev server does hard caching of pre-bundled dependencies and implements fast 304 responses for source code. Disabling the cache while the Browser Dev Tools are open can have a big impact in startup and full-page reload times. Please check that "Disable Cache" isn't enabled while you work with the Vite server. +The Vite dev server does hard caching of pre-bundled dependencies and implements fast 304 responses for source code. Disabling the cache while the Browser Dev Tools are open can have a big impact on startup and full-page reload times. Please check that "Disable Cache" isn't enabled while you work with the Vite server. ## Audit Configured Vite Plugins diff --git a/docs/guide/philosophy.md b/docs/guide/philosophy.md index b4a74ba7306a5f..307d1dc3f12ef2 100644 --- a/docs/guide/philosophy.md +++ b/docs/guide/philosophy.md @@ -6,9 +6,9 @@ Vite doesn't intend to cover every use case for every user. Vite aims to support ## Pushing the Modern Web -Vite provides opinionated features that pushes writing modern code. For example: +Vite provides opinionated features that push writing modern code. For example: -- The source code can only be written in ESM, where non-ESM dependencies needs to be [pre-bundled as ESM](./dep-pre-bundling) in order to work. +- The source code can only be written in ESM, where non-ESM dependencies need to be [pre-bundled as ESM](./dep-pre-bundling) in order to work. - Web workers are encouraged to be written with the [`new Worker` syntax](./features#web-workers) to follow modern standards. - Node.js modules cannot be used in the browser. @@ -20,7 +20,7 @@ Vite has been focused on performance since its [origins](./why.md). Its dev serv ## Building Frameworks on top of Vite -Although Vite can be used by users directly, it shines as a tool to create frameworks. Vite core is framework agnostic, but there are polished plugins for each UI frameworks. Its [JS API](./api-javascript.md) allows App Framework authors to use Vite features to create tailored experiences for their users. Vite includes support for [SSR primitives](./ssr.md), usually present in higher-level tools but fundamental to building modern web frameworks. And Vite plugins complete the picture by offering a way to share between frameworks. Vite is also a great fit when paired with [Backend frameworks](./backend-integration.md) like [Ruby](https://vite-ruby.netlify.app/) and [Laravel](https://laravel.com/docs/10.x/vite). +Although Vite can be used by users directly, it shines as a tool to create frameworks. Vite core is framework agnostic, but there are polished plugins for each UI framework. Its [JS API](./api-javascript.md) allows App Framework authors to use Vite features to create tailored experiences for their users. Vite includes support for [SSR primitives](./ssr.md), usually present in higher-level tools but fundamental to building modern web frameworks. And Vite plugins complete the picture by offering a way to share between frameworks. Vite is also a great fit when paired with [Backend frameworks](./backend-integration.md) like [Ruby](https://vite-ruby.netlify.app/) and [Laravel](https://laravel.com/docs/10.x/vite). ## An Active Ecosystem diff --git a/docs/guide/troubleshooting.md b/docs/guide/troubleshooting.md index 5d1468988f547f..2b20b0c680bae4 100644 --- a/docs/guide/troubleshooting.md +++ b/docs/guide/troubleshooting.md @@ -17,7 +17,7 @@ In a basic Vite project, make sure: For other projects, there are a few general approaches: -- **Configure ESM as default, opt-in to CJS if needed:** Add `"type": "module"` in the project `package.json`. All `*.js` files are now interpreted as ESM and needs to use the ESM syntax. You can rename a file with the `.cjs` extension to keep using CJS instead. +- **Configure ESM as default, opt-in to CJS if needed:** Add `"type": "module"` in the project `package.json`. All `*.js` files are now interpreted as ESM and need to use the ESM syntax. You can rename a file with the `.cjs` extension to keep using CJS instead. - **Keep CJS as default, opt-in to ESM if needed:** If the project `package.json` does not have `"type": "module"`, all `*.js` files are interpreted as CJS. You can rename a file with the `.mjs` extension to use ESM instead. - **Dynamically import Vite:** If you need to keep using CJS, you can dynamically import Vite using `import('vite')` instead. This requires your code to be written in an `async` context, but should still be manageable as Vite's API is mostly asynchronous. @@ -33,7 +33,7 @@ If you'd like to temporarily ignore the warning, you can run your script with th VITE_CJS_IGNORE_WARNING=true vite dev ``` -Note that postcss config files does not support ESM + TypeScript (`.mts` or `.ts` in `"type": "module"`) yet. If you have postcss configs with `.ts` and added `"type": "module"` to package.json, you'll also need to rename the postcss config to use `.cts`. +Note that postcss config files do not support ESM + TypeScript (`.mts` or `.ts` in `"type": "module"`) yet. If you have postcss configs with `.ts` and added `"type": "module"` to package.json, you'll also need to rename the postcss config to use `.cts`. ## CLI @@ -169,7 +169,7 @@ You will need to access the file with `http` protocol. The easiest way to achiev ### Outdated pre-bundled deps when linking to a local package -The hash key used to invalidate optimized dependencies depend on the package lock contents, the patches applied to dependencies, and the options in the Vite config file that affects the bundling of node modules. This means that Vite will detect when a dependency is overridden using a feature as [npm overrides](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides), and re-bundle your dependencies on the next server start. Vite won't invalidate the dependencies when you use a feature like [npm link](https://docs.npmjs.com/cli/v9/commands/npm-link). In case you link or unlink a dependency, you'll need to force re-optimization on the next server start by using `vite --force`. We recommend using overrides instead, which are supported now by every package manager (see also [pnpm overrides](https://pnpm.io/package_json#pnpmoverrides) and [yarn resolutions](https://yarnpkg.com/configuration/manifest/#resolutions)). +The hash key used to invalidate optimized dependencies depends on the package lock contents, the patches applied to dependencies, and the options in the Vite config file that affects the bundling of node modules. This means that Vite will detect when a dependency is overridden using a feature as [npm overrides](https://docs.npmjs.com/cli/v9/configuring-npm/package-json#overrides), and re-bundle your dependencies on the next server start. Vite won't invalidate the dependencies when you use a feature like [npm link](https://docs.npmjs.com/cli/v9/commands/npm-link). In case you link or unlink a dependency, you'll need to force re-optimization on the next server start by using `vite --force`. We recommend using overrides instead, which are supported now by every package manager (see also [pnpm overrides](https://pnpm.io/package_json#pnpmoverrides) and [yarn resolutions](https://yarnpkg.com/configuration/manifest/#resolutions)). ## Performance bottlenecks @@ -217,7 +217,7 @@ For example, you might see these errors. > TypeError: Cannot create property 'foo' on boolean 'false' -If these code are used inside dependencies, you could use [`patch-package`](https://github.com/ds300/patch-package) (or [`yarn patch`](https://yarnpkg.com/cli/patch) or [`pnpm patch`](https://pnpm.io/cli/patch)) for an escape hatch. +If these codes are used inside dependencies, you could use [`patch-package`](https://github.com/ds300/patch-package) (or [`yarn patch`](https://yarnpkg.com/cli/patch) or [`pnpm patch`](https://pnpm.io/cli/patch)) for an escape hatch. ### Browser extensions diff --git a/docs/releases.md b/docs/releases.md index c8b228a23e82a6..4ea42cb0de5e0f 100644 --- a/docs/releases.md +++ b/docs/releases.md @@ -46,4 +46,4 @@ We periodically deprecate features that have been superseded by better alternati ## Experimental Features -Some features are marked as experimental when released in a stable version of Vite. Experimental features allows us to gather real-world experience to influence their final design. The goal is to let users provide feedback by testing them in production. Experimental features themselves are considered unstable, and should only be used in a controlled manner. These features may change between Minors, so users must pin their Vite version when they rely on them. We will create [a GitHub discussion](https://github.com/vitejs/vite/discussions/categories/feedback?discussions_q=is%3Aopen+label%3Aexperimental+category%3AFeedback) for each experimental feature. +Some features are marked as experimental when released in a stable version of Vite. Experimental features allow us to gather real-world experience to influence their final design. The goal is to let users provide feedback by testing them in production. Experimental features themselves are considered unstable, and should only be used in a controlled manner. These features may change between Minors, so users must pin their Vite version when they rely on them. We will create [a GitHub discussion](https://github.com/vitejs/vite/discussions/categories/feedback?discussions_q=is%3Aopen+label%3Aexperimental+category%3AFeedback) for each experimental feature. From cafa7d56f35ab0d55da732f16aa39569f31c581e Mon Sep 17 00:00:00 2001 From: PatrickJS Date: Thu, 20 Jun 2024 09:32:29 -0700 Subject: [PATCH 637/656] docs(shared-options): better explain base (#17535) --- docs/config/shared-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index 39eef1a5e5f2e9..b42b9b904abee7 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -18,7 +18,7 @@ See [Project Root](/guide/#index-html-and-project-root) for more details. Base public path when served in development or production. Valid values include: - Absolute URL pathname, e.g. `/foo/` -- Full URL, e.g. `https://foo.com/` (The origin part won't be used in development) +- Full URL, e.g. `https://bar.com/foo/` (The origin part won't be used in development so the value is the same as as `/foo/`) - Empty string or `./` (for embedded deployment) See [Public Base Path](/guide/build#public-base-path) for more details. From 48b53f28f284e2bf532ef3667a8dc82cf37222c7 Mon Sep 17 00:00:00 2001 From: bluwy Date: Fri, 21 Jun 2024 14:48:15 +0800 Subject: [PATCH 638/656] release: create-vite@5.3.0 --- packages/create-vite/CHANGELOG.md | 25 +++++++++++++++++++++++++ packages/create-vite/package.json | 2 +- 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/packages/create-vite/CHANGELOG.md b/packages/create-vite/CHANGELOG.md index 5a0ecf70c22ce2..95896664ee87e8 100644 --- a/packages/create-vite/CHANGELOG.md +++ b/packages/create-vite/CHANGELOG.md @@ -1,3 +1,28 @@ +## 5.3.0 (2024-06-21) + +* fix(create-vite): revert eslint 9 upgrade in templates (#17511) ([86cf1b4](https://github.com/vitejs/vite/commit/86cf1b4)), closes [#17511](https://github.com/vitejs/vite/issues/17511) +* fix(create-vite): update tsconfig with moduleDetection true (#17468) ([7b240e4](https://github.com/vitejs/vite/commit/7b240e4)), closes [#17468](https://github.com/vitejs/vite/issues/17468) +* fix(deps): update all non-major dependencies (#16258) ([7caef42](https://github.com/vitejs/vite/commit/7caef42)), closes [#16258](https://github.com/vitejs/vite/issues/16258) +* fix(deps): update all non-major dependencies (#16376) ([58a2938](https://github.com/vitejs/vite/commit/58a2938)), closes [#16376](https://github.com/vitejs/vite/issues/16376) +* fix(deps): update all non-major dependencies (#16488) ([2d50be2](https://github.com/vitejs/vite/commit/2d50be2)), closes [#16488](https://github.com/vitejs/vite/issues/16488) +* fix(deps): update all non-major dependencies (#16549) ([2d6a13b](https://github.com/vitejs/vite/commit/2d6a13b)), closes [#16549](https://github.com/vitejs/vite/issues/16549) +* fix(deps): update all non-major dependencies (#16603) ([6711553](https://github.com/vitejs/vite/commit/6711553)), closes [#16603](https://github.com/vitejs/vite/issues/16603) +* fix(deps): update all non-major dependencies (#16660) ([bf2f014](https://github.com/vitejs/vite/commit/bf2f014)), closes [#16660](https://github.com/vitejs/vite/issues/16660) +* fix(deps): update all non-major dependencies (#17321) ([4a89766](https://github.com/vitejs/vite/commit/4a89766)), closes [#17321](https://github.com/vitejs/vite/issues/17321) +* fix(deps): update all non-major dependencies (#17430) ([4453d35](https://github.com/vitejs/vite/commit/4453d35)), closes [#17430](https://github.com/vitejs/vite/issues/17430) +* fix(deps): update all non-major dependencies (#17494) ([bf123f2](https://github.com/vitejs/vite/commit/bf123f2)), closes [#17494](https://github.com/vitejs/vite/issues/17494) +* chore(create-vite): update IDE support instructions in helloworld components (#16605) ([a265282](https://github.com/vitejs/vite/commit/a265282)), closes [#16605](https://github.com/vitejs/vite/issues/16605) +* chore(deps): update all non-major dependencies (#16325) ([a78e265](https://github.com/vitejs/vite/commit/a78e265)), closes [#16325](https://github.com/vitejs/vite/issues/16325) +* chore(deps): update all non-major dependencies (#16722) ([b45922a](https://github.com/vitejs/vite/commit/b45922a)), closes [#16722](https://github.com/vitejs/vite/issues/16722) +* chore(deps): update all non-major dependencies (#17373) ([f2d52f1](https://github.com/vitejs/vite/commit/f2d52f1)), closes [#17373](https://github.com/vitejs/vite/issues/17373) +* chore(deps): update dependency eslint to v9 (#16661) ([6c10662](https://github.com/vitejs/vite/commit/6c10662)), closes [#16661](https://github.com/vitejs/vite/issues/16661) +* chore(deps): update dependency execa to v9 (#16662) ([76d1642](https://github.com/vitejs/vite/commit/76d1642)), closes [#16662](https://github.com/vitejs/vite/issues/16662) +* feat(create-vite): add help usage (#16390) ([1d9bfc0](https://github.com/vitejs/vite/commit/1d9bfc0)), closes [#16390](https://github.com/vitejs/vite/issues/16390) +* feat(create-vite): use "solution" tsconfig so that vite.config.ts is type checked (#15913) ([cf3f40c](https://github.com/vitejs/vite/commit/cf3f40c)), closes [#15913](https://github.com/vitejs/vite/issues/15913) +* docs(create-vite): link to Vue docs for IDE support info (#16225) ([520bb89](https://github.com/vitejs/vite/commit/520bb89)), closes [#16225](https://github.com/vitejs/vite/issues/16225) + + + ## 5.2.3 (2024-03-20) * docs: update volar name and remove takeover mode related docs (#16171) ([0a56177](https://github.com/vitejs/vite/commit/0a56177)), closes [#16171](https://github.com/vitejs/vite/issues/16171) diff --git a/packages/create-vite/package.json b/packages/create-vite/package.json index 1dbf426b84c933..a3ac165c85201f 100644 --- a/packages/create-vite/package.json +++ b/packages/create-vite/package.json @@ -1,6 +1,6 @@ { "name": "create-vite", - "version": "5.2.3", + "version": "5.3.0", "type": "module", "license": "MIT", "author": "Evan You", From a8e2f6fafcf106ccc0d5a46972e66c2bf73155e3 Mon Sep 17 00:00:00 2001 From: imfenghuang Date: Fri, 21 Jun 2024 22:00:30 +0800 Subject: [PATCH 639/656] fix(client): uniform variable `location` (#17528) --- packages/vite/src/client/client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/vite/src/client/client.ts b/packages/vite/src/client/client.ts index 703fc3f7302f29..ef4d6ad78b9e50 100644 --- a/packages/vite/src/client/client.ts +++ b/packages/vite/src/client/client.ts @@ -190,7 +190,7 @@ async function handleMessage(payload: HMRPayload) { // module script failed to load (since one of the nested imports is 500). // in this case a normal update won't work and a full reload is needed. if (isFirstUpdate && hasErrorOverlay()) { - window.location.reload() + location.reload() return } else { if (enableOverlay) { From ff57d61cabd0c58469857080e7aa0e9f0abfd0f7 Mon Sep 17 00:00:00 2001 From: TAKAHASHI Shuuji Date: Sun, 23 Jun 2024 23:00:36 +0900 Subject: [PATCH 640/656] docs(shared-options): fix small typo (#17550) --- docs/config/shared-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/shared-options.md b/docs/config/shared-options.md index b42b9b904abee7..19eb96e0f74439 100644 --- a/docs/config/shared-options.md +++ b/docs/config/shared-options.md @@ -18,7 +18,7 @@ See [Project Root](/guide/#index-html-and-project-root) for more details. Base public path when served in development or production. Valid values include: - Absolute URL pathname, e.g. `/foo/` -- Full URL, e.g. `https://bar.com/foo/` (The origin part won't be used in development so the value is the same as as `/foo/`) +- Full URL, e.g. `https://bar.com/foo/` (The origin part won't be used in development so the value is the same as `/foo/`) - Empty string or `./` (for embedded deployment) See [Public Base Path](/guide/build#public-base-path) for more details. From 7c06ef07f835308b1ff2de3df02d201a8dbfb3b6 Mon Sep 17 00:00:00 2001 From: Simon He <57086651+Simon-He95@users.noreply.github.com> Date: Sun, 23 Jun 2024 22:24:32 +0800 Subject: [PATCH 641/656] refactor(optimizer): use early continues (#17551) --- packages/vite/src/node/optimizer/optimizer.ts | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/packages/vite/src/node/optimizer/optimizer.ts b/packages/vite/src/node/optimizer/optimizer.ts index 096d0bef2cdd54..8bd9beb95f068f 100644 --- a/packages/vite/src/node/optimizer/optimizer.ts +++ b/packages/vite/src/node/optimizer/optimizer.ts @@ -790,17 +790,16 @@ function findInteropMismatches( const needsInteropMismatch = [] for (const dep in discovered) { const discoveredDepInfo = discovered[dep] + if (discoveredDepInfo.needsInterop === undefined) continue + const depInfo = optimized[dep] - if (depInfo) { - if ( - discoveredDepInfo.needsInterop !== undefined && - depInfo.needsInterop !== discoveredDepInfo.needsInterop - ) { - // This only happens when a discovered dependency has mixed ESM and CJS syntax - // and it hasn't been manually added to optimizeDeps.needsInterop - needsInteropMismatch.push(dep) - debug?.(colors.cyan(`✨ needsInterop mismatch detected for ${dep}`)) - } + if (!depInfo) continue + + if (depInfo.needsInterop !== discoveredDepInfo.needsInterop) { + // This only happens when a discovered dependency has mixed ESM and CJS syntax + // and it hasn't been manually added to optimizeDeps.needsInterop + needsInteropMismatch.push(dep) + debug?.(colors.cyan(`✨ needsInterop mismatch detected for ${dep}`)) } } return needsInteropMismatch From f946c8694056fe05262b08a549f3ff7b484d03ea Mon Sep 17 00:00:00 2001 From: btea <2356281422@qq.com> Date: Sun, 23 Jun 2024 22:32:00 +0800 Subject: [PATCH 642/656] fix(create-vite): target dir contains special characters (#17549) --- packages/create-vite/src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/create-vite/src/index.ts b/packages/create-vite/src/index.ts index ce52b4f63f10c7..463c78cf669817 100755 --- a/packages/create-vite/src/index.ts +++ b/packages/create-vite/src/index.ts @@ -449,7 +449,9 @@ async function init() { const [command, ...args] = fullCustomCommand.split(' ') // we replace TARGET_DIR here because targetDir may include a space - const replacedArgs = args.map((arg) => arg.replace('TARGET_DIR', targetDir)) + const replacedArgs = args.map((arg) => + arg.replace('TARGET_DIR', () => targetDir), + ) const { status } = spawn.sync(command, replacedArgs, { stdio: 'inherit', }) From 2d6672fd8a8da58b61d502418064ac2e3080a26e Mon Sep 17 00:00:00 2001 From: Simon Buchan Date: Mon, 24 Jun 2024 18:40:55 +1200 Subject: [PATCH 643/656] chore(deps): update es-module-lexer to 1.5.4 (#17555) --- packages/vite/package.json | 2 +- pnpm-lock.yaml | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index 00e1097b3de619..93bf66178185ef 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -116,7 +116,7 @@ "dep-types": "link:./src/types", "dotenv": "^16.4.5", "dotenv-expand": "^11.0.6", - "es-module-lexer": "^1.5.3", + "es-module-lexer": "^1.5.4", "escape-html": "^1.0.3", "estree-walker": "^3.0.3", "etag": "^1.8.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a13f7fa3d9f191..50beaabaa7d43a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -311,8 +311,8 @@ importers: specifier: ^11.0.6 version: 11.0.6 es-module-lexer: - specifier: ^1.5.3 - version: 1.5.3 + specifier: ^1.5.4 + version: 1.5.4 escape-html: specifier: ^1.0.3 version: 1.0.3 @@ -4307,8 +4307,8 @@ packages: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true - es-module-lexer@1.5.3: - resolution: {integrity: sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==} + es-module-lexer@1.5.4: + resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} es5-ext@0.10.64: resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} @@ -9531,7 +9531,7 @@ snapshots: prr: 1.0.1 optional: true - es-module-lexer@1.5.3: {} + es-module-lexer@1.5.4: {} es5-ext@0.10.64: dependencies: @@ -11538,7 +11538,7 @@ snapshots: dependencies: '@rollup/pluginutils': 5.1.0(rollup@4.13.0) debug: 4.3.5 - es-module-lexer: 1.5.3 + es-module-lexer: 1.5.4 esbuild: 0.21.5 get-tsconfig: 4.7.2 rollup: 4.13.0 From a33a97f8c32bdeadcad5a9e0de50612ac985d3d0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 24 Jun 2024 14:53:16 +0800 Subject: [PATCH 644/656] chore(deps): update all non-major dependencies (#17553) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- docs/package.json | 4 +- package.json | 6 +- .../template-preact-ts/package.json | 2 +- .../create-vite/template-preact/package.json | 2 +- .../create-vite/template-react/package.json | 2 +- .../create-vite/template-vue-ts/package.json | 4 +- .../create-vite/template-vue/package.json | 2 +- packages/vite/package.json | 4 +- playground/alias/package.json | 4 +- 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/object-hooks/package.json | 2 +- .../optimize-deps-no-discovery/package.json | 2 +- playground/optimize-deps/package.json | 4 +- playground/ssr-webworker/package.json | 2 +- playground/tailwind/package.json | 4 +- pnpm-lock.yaml | 449 +++++++++--------- 21 files changed, 258 insertions(+), 247 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55b91bb6bdd48a..bbcc0244bdfc59 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@d6babd6899969df1a11d14c368283ea4436bca78 # v44.5.2 + uses: tj-actions/changed-files@cc3bbb0c526f8ee1d282f8c5f9f4e50745a5b457 # v44.5.4 with: files: | docs/** diff --git a/docs/package.json b/docs/package.json index 9aa49e9eeed314..b126ba6811e183 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,10 +8,10 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.7.0", + "@shikijs/vitepress-twoslash": "^1.9.0", "@types/express": "^4.17.21", "feed": "^4.2.2", "vitepress": "1.2.3", - "vue": "^3.4.29" + "vue": "^3.4.30" } } diff --git a/package.json b/package.json index a878d4c1198f4f..c52ac317a003cc 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", "@types/micromatch": "^4.0.7", - "@types/node": "^20.14.4", + "@types/node": "^20.14.8", "@types/picomatch": "^2.3.3", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", @@ -61,7 +61,7 @@ "eslint-plugin-import-x": "^0.5.1", "eslint-plugin-n": "^17.9.0", "eslint-plugin-regexp": "^2.6.0", - "execa": "^9.2.0", + "execa": "^9.3.0", "fs-extra": "^11.2.0", "globals": "^15.6.0", "lint-staged": "^15.2.7", @@ -74,7 +74,7 @@ "rollup-plugin-esbuild": "^6.1.1", "simple-git-hooks": "^2.11.1", "tslib": "^2.6.3", - "tsx": "^4.15.6", + "tsx": "^4.15.7", "typescript": "^5.2.2", "typescript-eslint": "^7.13.1", "vite": "workspace:*", diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index 63ab324aaa8d4d..c5fe75bbcaed32 100644 --- a/packages/create-vite/template-preact-ts/package.json +++ b/packages/create-vite/template-preact-ts/package.json @@ -12,7 +12,7 @@ "preact": "^10.22.0" }, "devDependencies": { - "@preact/preset-vite": "^2.8.2", + "@preact/preset-vite": "^2.8.3", "typescript": "^5.2.2", "vite": "^5.3.1" } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 1c2f5118260616..8a7b3704ae625f 100644 --- a/packages/create-vite/template-preact/package.json +++ b/packages/create-vite/template-preact/package.json @@ -12,7 +12,7 @@ "preact": "^10.22.0" }, "devDependencies": { - "@preact/preset-vite": "^2.8.2", + "@preact/preset-vite": "^2.8.3", "vite": "^5.3.1" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index 138cb218e58416..b69f5a42bd5dd1 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -18,7 +18,7 @@ "@types/react-dom": "^18.3.0", "@vitejs/plugin-react": "^4.3.1", "eslint": "^8.57.0", - "eslint-plugin-react": "^7.34.2", + "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "vite": "^5.3.1" diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index 5b24fa42124fdd..c1594943c3c170 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.4.29" + "vue": "^3.4.30" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.5", "typescript": "^5.2.2", "vite": "^5.3.1", - "vue-tsc": "^2.0.21" + "vue-tsc": "^2.0.22" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index f50d35fd1da157..6499aed983a8c0 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.4.29" + "vue": "^3.4.30" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.5", diff --git a/packages/vite/package.json b/packages/vite/package.json index 93bf66178185ef..e23fe376975681 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -122,7 +122,7 @@ "etag": "^1.8.1", "fast-glob": "^3.3.2", "http-proxy": "^1.18.1", - "launch-editor-middleware": "^2.7.0", + "launch-editor-middleware": "^2.8.0", "lightningcss": "^1.25.1", "magic-string": "^0.30.10", "micromatch": "^4.0.7", @@ -140,7 +140,7 @@ "resolve.exports": "^2.0.2", "rollup-plugin-dts": "^6.1.1", "rollup-plugin-esbuild": "^6.1.1", - "rollup-plugin-license": "^3.4.0", + "rollup-plugin-license": "^3.5.1", "sass": "^1.77.6", "sirv": "^2.0.4", "source-map-support": "^0.5.21", diff --git a/playground/alias/package.json b/playground/alias/package.json index ed4a4ee350cd5d..29f8dee173897c 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.4.29", - "@vue/shared": "^3.4.29" + "vue": "^3.4.30", + "@vue/shared": "^3.4.30" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/extensions/package.json b/playground/extensions/package.json index 702bad5621f998..d21600710881c3 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.29" + "vue": "^3.4.30" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index 51f8d80ed97dad..c204c28e16eb4a 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.4.29" + "vue": "^3.4.30" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index 5083c336c600d0..c70732563a3292 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.4.29" + "vue": "^3.4.30" } } diff --git a/playground/external/package.json b/playground/external/package.json index 86ad125ec8f8bd..05bddaa7ff6d41 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.4.29", + "vue": "^3.4.30", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index 9e54e33ad6537b..1b6cc8cc33494d 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.19.2", - "vue": "^3.4.29" + "vue": "^3.4.30" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index fa387348830a00..13c7a751f47529 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.29" + "vue": "^3.4.30" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index 3b920f0a26e44b..ede52702f23107 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.4.29", + "vue": "^3.4.30", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index c9536b3562d05d..2febf46c504d28 100644 --- a/playground/optimize-deps/package.json +++ b/playground/optimize-deps/package.json @@ -39,12 +39,12 @@ "@vitejs/test-dep-cjs-external-package-omit-js-suffix": "file:./dep-cjs-external-package-omit-js-suffix", "lodash-es": "^4.17.21", "@vitejs/test-nested-exclude": "file:./nested-exclude", - "phoenix": "^1.7.12", + "phoenix": "^1.7.14", "react": "^18.3.1", "react-dom": "^18.3.1", "@vitejs/test-resolve-linked": "workspace:0.0.0", "url": "^0.11.3", - "vue": "^3.4.29", + "vue": "^3.4.30", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index a0423c96e012ac..4d81bf13de0e19 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.20240610.0", + "miniflare": "^3.20240610.1", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index c3ce48a2a56a9a..a65d211193891b 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,8 +11,8 @@ "dependencies": { "autoprefixer": "^10.4.19", "tailwindcss": "^3.4.4", - "vue": "^3.4.29", - "vue-router": "^4.3.3" + "vue": "^3.4.30", + "vue-router": "^4.4.0" }, "devDependencies": { "ts-node": "^10.9.2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50beaabaa7d43a..b32abead29cf67 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,8 +59,8 @@ importers: specifier: ^4.0.7 version: 4.0.7 '@types/node': - specifier: ^20.14.4 - version: 20.14.4 + specifier: ^20.14.8 + version: 20.14.8 '@types/picomatch': specifier: ^2.3.3 version: 2.3.3 @@ -89,8 +89,8 @@ importers: specifier: ^2.6.0 version: 2.6.0(eslint@9.5.0) execa: - specifier: ^9.2.0 - version: 9.2.0 + specifier: ^9.3.0 + version: 9.3.0 fs-extra: specifier: ^11.2.0 version: 11.2.0 @@ -128,8 +128,8 @@ importers: specifier: ^2.6.3 version: 2.6.3 tsx: - specifier: ^4.15.6 - version: 4.15.6 + specifier: ^4.15.7 + version: 4.15.7 typescript: specifier: ^5.2.2 version: 5.2.2 @@ -141,13 +141,13 @@ importers: version: link:packages/vite vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.4) + version: 1.6.0(@types/node@20.14.8) docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.7.0 - version: 1.7.0(typescript@5.2.2) + specifier: ^1.9.0 + version: 1.9.0(typescript@5.2.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -158,8 +158,8 @@ importers: specifier: 1.2.3 version: 1.2.3(@algolia/client-search@4.20.0)(axios@1.7.2)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) packages/create-vite: devDependencies: @@ -329,8 +329,8 @@ importers: specifier: ^1.18.1 version: 1.18.1(patch_hash=qqiqxx62zlcu62nljjmhlvexni)(debug@4.3.5) launch-editor-middleware: - specifier: ^2.7.0 - version: 2.7.0 + specifier: ^2.8.0 + version: 2.8.0 lightningcss: specifier: ^1.25.1 version: 1.25.1 @@ -369,7 +369,7 @@ importers: version: 16.1.0(postcss@8.4.38) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) + version: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) postcss-modules: specifier: ^6.0.0 version: 6.0.0(postcss@8.4.38) @@ -383,8 +383,8 @@ importers: specifier: ^6.1.1 version: 6.1.1(esbuild@0.21.5)(rollup@4.13.0) rollup-plugin-license: - specifier: ^3.4.0 - version: 3.4.0(rollup@4.13.0) + specifier: ^3.5.1 + version: 3.5.1(picomatch@2.3.1)(rollup@4.13.0) sass: specifier: ^1.77.6 version: 1.77.6 @@ -478,14 +478,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.4.29 - version: 3.4.29 + specifier: ^3.4.30 + version: 3.4.30 aliased-module: specifier: file:./dir/module version: '@vitejs/test-aliased-module@file:playground/alias/dir/module' vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -507,7 +507,7 @@ importers: version: 1.77.6 tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) playground/build-old: {} @@ -670,8 +670,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) playground/external: dependencies: @@ -692,8 +692,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) vue32: specifier: npm:vue@~3.2.0 version: vue@3.2.0 @@ -707,8 +707,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) playground/external/dep-that-requires: dependencies: @@ -719,8 +719,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) playground/fs-serve: {} @@ -768,8 +768,8 @@ importers: specifier: ^4.19.2 version: 4.19.2 vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) playground/json/json-module: {} @@ -870,8 +870,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) playground/optimize-deps: dependencies: @@ -972,8 +972,8 @@ importers: specifier: ^4.5.0 version: 4.5.0 phoenix: - specifier: ^1.7.12 - version: 1.7.12 + specifier: ^1.7.14 + version: 1.7.14 react: specifier: ^18.3.1 version: 18.3.1 @@ -984,11 +984,11 @@ importers: specifier: ^0.11.3 version: 0.11.3 vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.29(typescript@5.2.2)) + version: 4.1.0(vue@3.4.30(typescript@5.2.2)) playground/optimize-deps-no-discovery: dependencies: @@ -996,11 +996,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.29(typescript@5.2.2)) + version: 4.1.0(vue@3.4.30(typescript@5.2.2)) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1516,8 +1516,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240610.0 - version: 3.20240610.0 + specifier: ^3.20240610.1 + version: 3.20240610.1 playground/ssr-webworker/browser-exports: {} @@ -1530,23 +1530,23 @@ importers: version: 10.4.19(postcss@8.4.38) tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) vue: - specifier: ^3.4.29 - version: 3.4.29(typescript@5.2.2) + specifier: ^3.4.30 + version: 3.4.30(typescript@5.2.2) vue-router: - specifier: ^4.3.3 - version: 4.3.3(vue@3.4.29(typescript@5.2.2)) + specifier: ^4.4.0 + version: 4.4.0(vue@3.4.30(typescript@5.2.2)) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.4)(typescript@5.2.2) + version: 10.9.2(@types/node@20.14.8)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) playground/transform-plugin: {} @@ -3023,17 +3023,17 @@ packages: '@shikijs/core@1.6.3': resolution: {integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==} - '@shikijs/core@1.7.0': - resolution: {integrity: sha512-O6j27b7dGmJbR3mjwh/aHH8Ld+GQvA0OQsNO43wKWnqbAae3AYXrhFyScHGX8hXZD6vX2ngjzDFkZY5srtIJbQ==} + '@shikijs/core@1.9.0': + resolution: {integrity: sha512-cbSoY8P/jgGByG8UOl3jnP/CWg/Qk+1q+eAKWtcrU3pNoILF8wTsLB0jT44qUBV8Ce1SvA9uqcM9Xf+u3fJFBw==} '@shikijs/transformers@1.6.3': resolution: {integrity: sha512-ptBuP/IIeqCzK3zZO/knFICZWs58uZWzbv7ND+bKOewe5NcCjZfSiMyzFwOyl23ewPJ1APjRBwLi6Asrodmmxw==} - '@shikijs/twoslash@1.7.0': - resolution: {integrity: sha512-UztoY1kFhRR8b/eZGfCkM70L8WQB7zZsj5xTRZUaLx6bwMZdDdlJmJu2lPAkPZ5h7wHVDJB6Lq3k8fN9Sxakgw==} + '@shikijs/twoslash@1.9.0': + resolution: {integrity: sha512-XKaiR85K3Bk/MNdZ7tmJDm740iLpt4YDvYrV90pwbvxkSEZ8SPV4gbaX8ONwndNqdf2awF9g7DKYHsyU/XwJdw==} - '@shikijs/vitepress-twoslash@1.7.0': - resolution: {integrity: sha512-oFkqJ9+ObFUBA3oSkYm0z33S3tp5HMgJYXOEmXf9u5e6NNScp0J0OpRvWRtX33ebDEGUMj1hNEP7X9+auHW0Bw==} + '@shikijs/vitepress-twoslash@1.9.0': + resolution: {integrity: sha512-ILhRKIyU0g2409dhM5QVbvZ7E4XOonKGuqgVsccJFEXvG7rB1ckYtyBr7CSMIVqJtN6bMgCBzjItvOQcTPYJgA==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -3156,8 +3156,8 @@ packages: '@types/node@20.10.0': resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} - '@types/node@20.14.4': - resolution: {integrity: sha512-1ChboN+57suCT2t/f8lwtPY/k3qTpuD/qnqQuYoBg6OQOcPyaw7PiZVdGpaZYAvhDDtqrt0oAaM8+oSu1xsUGw==} + '@types/node@20.14.8': + resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -3534,26 +3534,26 @@ packages: '@vue/compiler-core@3.2.0': resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} - '@vue/compiler-core@3.4.27': - resolution: {integrity: sha512-E+RyqY24KnyDXsCuQrI+mlcdW3ALND6U7Gqa/+bVwbcpcR3BRRIckFoz7Qyd4TTlnugtwuI7YgjbvsLmxb+yvg==} - '@vue/compiler-core@3.4.29': resolution: {integrity: sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==} + '@vue/compiler-core@3.4.30': + resolution: {integrity: sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==} + '@vue/compiler-dom@3.2.0': resolution: {integrity: sha512-CqfATmX04+58LNBTTUPRBLyYGLP0bxtL+8b7B8pEvXja7fpmxiYcKBQsdaXfyqoRJsaTzA7eVXQt/t0dYhu/SQ==} - '@vue/compiler-dom@3.4.27': - resolution: {integrity: sha512-kUTvochG/oVgE1w5ViSr3KUBh9X7CWirebA3bezTbB5ZKBQZwR2Mwj9uoSKRMFcz4gSMzzLXBPD6KpCLb9nvWw==} - '@vue/compiler-dom@3.4.29': resolution: {integrity: sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==} - '@vue/compiler-sfc@3.4.29': - resolution: {integrity: sha512-zygDcEtn8ZimDlrEQyLUovoWgKQic6aEQqRXce2WXBvSeHbEbcAsXyCk9oG33ZkyWH4sl9D3tkYc1idoOkdqZQ==} + '@vue/compiler-dom@3.4.30': + resolution: {integrity: sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==} - '@vue/compiler-ssr@3.4.29': - resolution: {integrity: sha512-rFbwCmxJ16tDp3N8XCx5xSQzjhidYjXllvEcqX/lopkoznlNPz3jyy0WGJCyhAaVQK677WWFt3YO/WUEkMMUFQ==} + '@vue/compiler-sfc@3.4.30': + resolution: {integrity: sha512-8vElKklHn/UY8+FgUFlQrYAPbtiSB2zcgeRKW7HkpSRn/JjMRmZvuOtwDx036D1aqKNSTtXkWRfqx53Qb+HmMg==} + + '@vue/compiler-ssr@3.4.30': + resolution: {integrity: sha512-ZJ56YZGXJDd6jky4mmM0rNaNP6kIbQu9LTKZDhcpddGe/3QIalB1WHHmZ6iZfFNyj5mSypTa4+qDJa5VIuxMSg==} '@vue/devtools-api@6.6.1': resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} @@ -3580,25 +3580,25 @@ packages: '@vue/reactivity@3.2.0': resolution: {integrity: sha512-39L3UJe8+jYeCTM/QrDglDM05O11UrmyhazUOHOOj7+a9pPVu95HGInh5CkKQf98mx2gq6t3PPN8bCN5wK8Wwg==} - '@vue/reactivity@3.4.29': - resolution: {integrity: sha512-w8+KV+mb1a8ornnGQitnMdLfE0kXmteaxLdccm2XwdFxXst4q/Z7SEboCV5SqJNpZbKFeaRBBJBhW24aJyGINg==} + '@vue/reactivity@3.4.30': + resolution: {integrity: sha512-bVJurnCe3LS0JII8PPoAA63Zd2MBzcKrEzwdQl92eHCcxtIbxD2fhNwJpa+KkM3Y/A4T5FUnmdhgKwOf6BfbcA==} '@vue/runtime-core@3.2.0': resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} - '@vue/runtime-core@3.4.29': - resolution: {integrity: sha512-s8fmX3YVR/Rk5ig0ic0NuzTNjK2M7iLuVSZyMmCzN/+Mjuqqif1JasCtEtmtoJWF32pAtUjyuT2ljNKNLeOmnQ==} + '@vue/runtime-core@3.4.30': + resolution: {integrity: sha512-qaFEbnNpGz+tlnkaualomogzN8vBLkgzK55uuWjYXbYn039eOBZrWxyXWq/7qh9Bz2FPifZqGjVDl/FXiq9L2g==} '@vue/runtime-dom@3.2.0': resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} - '@vue/runtime-dom@3.4.29': - resolution: {integrity: sha512-gI10atCrtOLf/2MPPMM+dpz3NGulo9ZZR9d1dWo4fYvm+xkfvRrw1ZmJ7mkWtiJVXSsdmPbcK1p5dZzOCKDN0g==} + '@vue/runtime-dom@3.4.30': + resolution: {integrity: sha512-tV6B4YiZRj5QsaJgw2THCy5C1H+2UeywO9tqgWEc21tn85qHEERndHN/CxlyXvSBFrpmlexCIdnqPuR9RM9thw==} - '@vue/server-renderer@3.4.29': - resolution: {integrity: sha512-HMLCmPI2j/k8PVkSBysrA2RxcxC5DgBiCdj7n7H2QtR8bQQPqKAe8qoaxLcInzouBmzwJ+J0x20ygN/B5mYBng==} + '@vue/server-renderer@3.4.30': + resolution: {integrity: sha512-TBD3eqR1DeDc0cMrXS/vEs/PWzq1uXxnvjoqQuDGFIEHFIwuDTX/KWAQKIBjyMWLFHEeTDGYVsYci85z2UbTDg==} peerDependencies: - vue: 3.4.29 + vue: 3.4.30 '@vue/shared@3.2.0': resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} @@ -3609,6 +3609,9 @@ packages: '@vue/shared@3.4.29': resolution: {integrity: sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==} + '@vue/shared@3.4.30': + resolution: {integrity: sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg==} + '@vueuse/core@10.10.0': resolution: {integrity: sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==} @@ -4451,8 +4454,8 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - execa@9.2.0: - resolution: {integrity: sha512-vpOyYg7UAVKLAWWtRS2gAdgkT7oJbCn0me3gmUmxZih4kd3MF/oo8kNTBTIbkO3yuuF5uB4ZCZfn8BOolITYhg==} + execa@9.3.0: + resolution: {integrity: sha512-l6JFbqnHEadBoVAVpN5dl2yCyfX28WoBAGaoQcNmLLSedOxTxcn2Qa83s8I/PA5i56vWru2OHOtrwF7Om2vqlg==} engines: {node: ^18.19.0 || >=20.5.0} exit-hook@2.2.1: @@ -4482,6 +4485,14 @@ packages: fastq@1.13.0: resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + fdir@6.1.1: + resolution: {integrity: sha512-QfKBVg453Dyn3mr0Q0O+Tkr1r79lOTAKSi9f/Ot4+qVEwxWhav2Z+SudrG9vQjM2aYRMQQZ2/Q1zdA8ACM1pDg==} + peerDependencies: + picomatch: 3.x + peerDependenciesMeta: + picomatch: + optional: true + feed@4.2.2: resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==} engines: {node: '>=0.4.0'} @@ -5007,11 +5018,11 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - launch-editor-middleware@2.7.0: - resolution: {integrity: sha512-rG+rNALg2G2uObvKqff38SqqETFYMUDwv0nvi2wYp8LcImFmWB+lSc5EI7gz82H4300CmC9Kgfaguhwf7sNXSQ==} + launch-editor-middleware@2.8.0: + resolution: {integrity: sha512-0Az27jnPR2RgkUoZoLHluM5gg9zHeg7hPsUZESJxcTV8Rs6Fed+Nof7Lb2HmpsE8lN/3YzpU+mvK5exYWSftWw==} - launch-editor@2.7.0: - resolution: {integrity: sha512-KAc66u6LxWL8MifQ94oG3YGKYWDwz/Gi0T15lN//GaQoZe08vQGFJxrXkPAeu50UXgvJPPaRKVGuP1TRUm/aHQ==} + launch-editor@2.8.0: + resolution: {integrity: sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA==} less@4.2.0: resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} @@ -5341,8 +5352,8 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - miniflare@3.20240610.0: - resolution: {integrity: sha512-J6aXmkII5gcq+kC4TurxKiR4rC++apPST/K8P/YjqoQQgrJ+NRPacBhf6iVh8R3ujnXYXaq+Ae+gm+LM0XHK/w==} + miniflare@3.20240610.1: + resolution: {integrity: sha512-ZkfSpBmX3nJW00yYhvF2kGvjb6f77TOimRR6+2GQvsArbwo6e0iYqLGM9aB/cnJzgFjLMvOv1qj4756iynSxJQ==} engines: {node: '>=16.13'} hasBin: true @@ -5391,11 +5402,6 @@ packages: engines: {node: '>=10'} hasBin: true - mkdirp@3.0.1: - resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==} - engines: {node: '>=10'} - hasBin: true - mkdist@1.3.0: resolution: {integrity: sha512-ZQrUvcL7LkRdzMREpDyg9AT18N9Tl5jc2qeKAUeEw0KGsgykbHbuRvysGAzTuGtwuSg0WQyNit5jh/k+Er3JEg==} hasBin: true @@ -5673,8 +5679,8 @@ packages: periscopic@4.0.2: resolution: {integrity: sha512-sqpQDUy8vgB7ycLkendSKS6HnVz1Rneoc3Rc+ZBUCe2pbqlVuCC5vF52l0NJ1aiMg/r1qfYF9/myz8CZeI2rjA==} - phoenix@1.7.12: - resolution: {integrity: sha512-jo8sK7mVYTFSa5FITmL/1lAbARIJMcEMJrMPZtUdss1zE37VZBnCowpakH8sEzH0ezs+hIaXSyYPCwlzrvph+g==} + phoenix@1.7.14: + resolution: {integrity: sha512-3tZ76PiH/2g+Kyzhz8+GIFYrnx3lRnwi/Qt3ZUH04xpMxXL7Guerd5aaxtpWal73X+H8iLAjo2c+AgRy2KYQcQ==} picocolors@1.0.1: resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} @@ -6030,8 +6036,8 @@ packages: esbuild: '>=0.18.0' rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 - rollup-plugin-license@3.4.0: - resolution: {integrity: sha512-Nwx4dDjoPlzR7QWcsswezxFAOC000+JLACganH3L+5toit0TEAfD4SF1DsvJR/kunHWJgqnhmzvOO+iLI1oKPw==} + rollup-plugin-license@3.5.1: + resolution: {integrity: sha512-z/UN/d5KbJhyvmmAg6no/2M2XK1QH8DUZyhbQeuaxe48hkIBTvvMlUP97g4txOzEC82HlZzb7dlWslc/rmBskg==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0 @@ -6124,8 +6130,8 @@ packages: shiki@1.6.3: resolution: {integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==} - shiki@1.7.0: - resolution: {integrity: sha512-H5pMn4JA7ayx8H0qOz1k2qANq6mZVCMl1gKLK6kWIrv1s2Ial4EmD4s4jE8QB5Dw03d/oCQUxc24sotuyR5byA==} + shiki@1.9.0: + resolution: {integrity: sha512-i6//Lqgn7+7nZA0qVjoYH0085YdNk4MC+tJV4bo+HgjgRMJ0JmkLZzFAuvVioJqLkcGDK5GAMpghZEZkCnwxpQ==} side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -6424,8 +6430,8 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsx@4.15.6: - resolution: {integrity: sha512-is0VQQlfNZRHEuSSTKA6m4xw74IU4AizmuB6lAYLRt9XtuyeQnyJYexhNZOPCB59SqC4JzmSzPnHGBXxf3k0hA==} + tsx@4.15.7: + resolution: {integrity: sha512-u3H0iSFDZM3za+VxkZ1kywdCeHCn+8/qHQS1MNoO2sONDgD95HlWtt8aB23OzeTmFP9IU4/8bZUdg58Uu5J4cg==} engines: {node: '>=18.0.0'} hasBin: true @@ -6503,8 +6509,8 @@ packages: undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici@5.28.3: - resolution: {integrity: sha512-3ItfzbrhDlINjaP0duwnNsKpDQk3acHI3gVJ1z4fmwMK31k5G9OVIAMLSIaP6w4FaGkaAkN6zaQO9LUvZ1t7VA==} + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} engines: {node: '>=14.0'} unicode-canonical-property-names-ecmascript@2.0.0: @@ -6651,8 +6657,8 @@ packages: peerDependencies: vue: ^3.0.0 - vue-router@4.3.3: - resolution: {integrity: sha512-8Q+u+WP4N2SXY38FDcF2H1dUEbYVHVPtPCPZj/GTZx8RCbiB8AtJP9+YIxn4Vs0svMTNQcLIzka4GH7Utkx9xQ==} + vue-router@4.4.0: + resolution: {integrity: sha512-HB+t2p611aIZraV2aPSRNXf0Z/oLZFrlygJm+sZbdJaW6lcFqEDQwnzUBXn+DApw+/QzDU/I9TeWx9izEjTmsA==} peerDependencies: vue: ^3.2.0 @@ -6662,8 +6668,8 @@ packages: vue@3.2.0: resolution: {integrity: sha512-eMo5yCdkWRmBfqp/acBI/Y1Omgk0NyGqPViaU66eOpKarXNtkdImzDA57+E76jnWVr6MEp/rg1n0vnxaVvALMQ==} - vue@3.4.29: - resolution: {integrity: sha512-8QUYfRcYzNlYuzKPfge1UWC6nF9ym0lx7mpGVPJYNhddxEf3DD0+kU07NTL0sXuiT2HuJuKr/iEO8WvXvT0RSQ==} + vue@3.4.30: + resolution: {integrity: sha512-NcxtKCwkdf1zPsr7Y8+QlDBCGqxvjLXF2EX+yi76rV5rrz90Y6gK1cq0olIhdWGgrlhs9ElHuhi9t3+W5sG5Xw==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -8224,31 +8230,31 @@ snapshots: '@shikijs/core@1.6.3': {} - '@shikijs/core@1.7.0': {} + '@shikijs/core@1.9.0': {} '@shikijs/transformers@1.6.3': dependencies: shiki: 1.6.3 - '@shikijs/twoslash@1.7.0(typescript@5.2.2)': + '@shikijs/twoslash@1.9.0(typescript@5.2.2)': dependencies: - '@shikijs/core': 1.7.0 + '@shikijs/core': 1.9.0 twoslash: 0.2.8(typescript@5.2.2) transitivePeerDependencies: - supports-color - typescript - '@shikijs/vitepress-twoslash@1.7.0(typescript@5.2.2)': + '@shikijs/vitepress-twoslash@1.9.0(typescript@5.2.2)': dependencies: - '@shikijs/twoslash': 1.7.0(typescript@5.2.2) - floating-vue: 5.2.2(vue@3.4.29(typescript@5.2.2)) + '@shikijs/twoslash': 1.9.0(typescript@5.2.2) + floating-vue: 5.2.2(vue@3.4.30(typescript@5.2.2)) mdast-util-from-markdown: 2.0.1 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 - shiki: 1.7.0 + shiki: 1.9.0 twoslash: 0.2.8(typescript@5.2.2) twoslash-vue: 0.2.8(typescript@5.2.2) - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -8292,19 +8298,19 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/braces@3.0.1': {} '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/convert-source-map@2.0.3': {} '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/debug@4.1.12': dependencies: @@ -8320,11 +8326,11 @@ snapshots: '@types/etag@1.8.3': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/express-serve-static-core@4.17.43': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8339,7 +8345,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/hast@3.0.4': dependencies: @@ -8349,7 +8355,7 @@ snapshots: '@types/jsonfile@6.1.1': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/less@3.0.6': {} @@ -8384,7 +8390,7 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@20.14.4': + '@types/node@20.14.8': dependencies: undici-types: 5.26.5 @@ -8410,17 +8416,17 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/stylus@0.48.42': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@types/unist@3.0.2': {} @@ -8428,7 +8434,7 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2))(eslint@9.5.0)(typescript@5.2.2)': dependencies: @@ -8521,10 +8527,10 @@ snapshots: '@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@file:playground/optimize-deps/longfilename': {} - '@vitejs/plugin-vue@5.0.5(vite@packages+vite)(vue@3.4.29(typescript@5.2.2))': + '@vitejs/plugin-vue@5.0.5(vite@packages+vite)(vue@3.4.30(typescript@5.2.2))': dependencies: vite: link:packages/vite - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) '@vitejs/release-scripts@1.3.1': dependencies: @@ -8607,7 +8613,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) transitivePeerDependencies: - typescript @@ -8615,7 +8621,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) transitivePeerDependencies: - typescript @@ -8760,18 +8766,18 @@ snapshots: estree-walker: 2.0.2 source-map: 0.6.1 - '@vue/compiler-core@3.4.27': + '@vue/compiler-core@3.4.29': dependencies: '@babel/parser': 7.24.7 - '@vue/shared': 3.4.27 + '@vue/shared': 3.4.29 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-core@3.4.29': + '@vue/compiler-core@3.4.30': dependencies: '@babel/parser': 7.24.7 - '@vue/shared': 3.4.29 + '@vue/shared': 3.4.30 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 @@ -8781,49 +8787,49 @@ snapshots: '@vue/compiler-core': 3.2.0 '@vue/shared': 3.2.0 - '@vue/compiler-dom@3.4.27': - dependencies: - '@vue/compiler-core': 3.4.27 - '@vue/shared': 3.4.27 - '@vue/compiler-dom@3.4.29': dependencies: '@vue/compiler-core': 3.4.29 '@vue/shared': 3.4.29 - '@vue/compiler-sfc@3.4.29': + '@vue/compiler-dom@3.4.30': + dependencies: + '@vue/compiler-core': 3.4.30 + '@vue/shared': 3.4.30 + + '@vue/compiler-sfc@3.4.30': dependencies: '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.29 - '@vue/compiler-dom': 3.4.29 - '@vue/compiler-ssr': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/compiler-core': 3.4.30 + '@vue/compiler-dom': 3.4.30 + '@vue/compiler-ssr': 3.4.30 + '@vue/shared': 3.4.30 estree-walker: 2.0.2 magic-string: 0.30.10 postcss: 8.4.38 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.29': + '@vue/compiler-ssr@3.4.30': dependencies: - '@vue/compiler-dom': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/compiler-dom': 3.4.30 + '@vue/shared': 3.4.30 '@vue/devtools-api@6.6.1': {} - '@vue/devtools-api@7.2.1(vue@3.4.29(typescript@5.2.2))': + '@vue/devtools-api@7.2.1(vue@3.4.30(typescript@5.2.2))': dependencies: - '@vue/devtools-kit': 7.2.1(vue@3.4.29(typescript@5.2.2)) + '@vue/devtools-kit': 7.2.1(vue@3.4.30(typescript@5.2.2)) transitivePeerDependencies: - vue - '@vue/devtools-kit@7.2.1(vue@3.4.29(typescript@5.2.2))': + '@vue/devtools-kit@7.2.1(vue@3.4.30(typescript@5.2.2))': dependencies: '@vue/devtools-shared': 7.2.1 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) '@vue/devtools-shared@7.2.1': dependencies: @@ -8832,8 +8838,8 @@ snapshots: '@vue/language-core@2.0.21(typescript@5.2.2)': dependencies: '@volar/language-core': 2.3.0 - '@vue/compiler-dom': 3.4.27 - '@vue/shared': 3.4.29 + '@vue/compiler-dom': 3.4.29 + '@vue/shared': 3.4.30 computeds: 0.0.1 minimatch: 9.0.4 path-browserify: 1.0.1 @@ -8845,19 +8851,19 @@ snapshots: dependencies: '@vue/shared': 3.2.0 - '@vue/reactivity@3.4.29': + '@vue/reactivity@3.4.30': dependencies: - '@vue/shared': 3.4.29 + '@vue/shared': 3.4.30 '@vue/runtime-core@3.2.0': dependencies: '@vue/reactivity': 3.2.0 '@vue/shared': 3.2.0 - '@vue/runtime-core@3.4.29': + '@vue/runtime-core@3.4.30': dependencies: - '@vue/reactivity': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/reactivity': 3.4.30 + '@vue/shared': 3.4.30 '@vue/runtime-dom@3.2.0': dependencies: @@ -8865,18 +8871,18 @@ snapshots: '@vue/shared': 3.2.0 csstype: 2.6.21 - '@vue/runtime-dom@3.4.29': + '@vue/runtime-dom@3.4.30': dependencies: - '@vue/reactivity': 3.4.29 - '@vue/runtime-core': 3.4.29 - '@vue/shared': 3.4.29 + '@vue/reactivity': 3.4.30 + '@vue/runtime-core': 3.4.30 + '@vue/shared': 3.4.30 csstype: 3.1.3 - '@vue/server-renderer@3.4.29(vue@3.4.29(typescript@5.2.2))': + '@vue/server-renderer@3.4.30(vue@3.4.30(typescript@5.2.2))': dependencies: - '@vue/compiler-ssr': 3.4.29 - '@vue/shared': 3.4.29 - vue: 3.4.29(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.30 + '@vue/shared': 3.4.30 + vue: 3.4.30(typescript@5.2.2) '@vue/shared@3.2.0': {} @@ -8884,21 +8890,23 @@ snapshots: '@vue/shared@3.4.29': {} - '@vueuse/core@10.10.0(vue@3.4.29(typescript@5.2.2))': + '@vue/shared@3.4.30': {} + + '@vueuse/core@10.10.0(vue@3.4.30(typescript@5.2.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.10.0 - '@vueuse/shared': 10.10.0(vue@3.4.29(typescript@5.2.2)) - vue-demi: 0.14.7(vue@3.4.29(typescript@5.2.2)) + '@vueuse/shared': 10.10.0(vue@3.4.30(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.30(typescript@5.2.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.29(typescript@5.2.2))': + '@vueuse/integrations@10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.30(typescript@5.2.2))': dependencies: - '@vueuse/core': 10.10.0(vue@3.4.29(typescript@5.2.2)) - '@vueuse/shared': 10.10.0(vue@3.4.29(typescript@5.2.2)) - vue-demi: 0.14.7(vue@3.4.29(typescript@5.2.2)) + '@vueuse/core': 10.10.0(vue@3.4.30(typescript@5.2.2)) + '@vueuse/shared': 10.10.0(vue@3.4.30(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.30(typescript@5.2.2)) optionalDependencies: axios: 1.7.2 focus-trap: 7.5.4 @@ -8908,9 +8916,9 @@ snapshots: '@vueuse/metadata@10.10.0': {} - '@vueuse/shared@10.10.0(vue@3.4.29(typescript@5.2.2))': + '@vueuse/shared@10.10.0(vue@3.4.30(typescript@5.2.2))': dependencies: - vue-demi: 0.14.7(vue@3.4.29(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.30(typescript@5.2.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -9798,7 +9806,7 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - execa@9.2.0: + execa@9.3.0: dependencies: '@sindresorhus/merge-streams': 4.0.0 cross-spawn: 7.0.3 @@ -9873,6 +9881,10 @@ snapshots: dependencies: reusify: 1.0.4 + fdir@6.1.1(picomatch@2.3.1): + optionalDependencies: + picomatch: 2.3.1 + feed@4.2.2: dependencies: xml-js: 1.6.11 @@ -9936,11 +9948,11 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(vue@3.4.29(typescript@5.2.2)): + floating-vue@5.2.2(vue@3.4.30(typescript@5.2.2)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.29(typescript@5.2.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.29(typescript@5.2.2)) + vue: 3.4.30(typescript@5.2.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.30(typescript@5.2.2)) focus-trap@7.5.4: dependencies: @@ -10388,11 +10400,11 @@ snapshots: kolorist@1.8.0: {} - launch-editor-middleware@2.7.0: + launch-editor-middleware@2.8.0: dependencies: - launch-editor: 2.7.0 + launch-editor: 2.8.0 - launch-editor@2.7.0: + launch-editor@2.8.0: dependencies: picocolors: 1.0.1 shell-quote: 1.8.1 @@ -10847,7 +10859,7 @@ snapshots: mimic-fn@4.0.0: {} - miniflare@3.20240610.0: + miniflare@3.20240610.1: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) @@ -10856,7 +10868,7 @@ snapshots: exit-hook: 2.2.1 glob-to-regexp: 0.4.1 stoppable: 1.1.0 - undici: 5.28.3 + undici: 5.28.4 workerd: 1.20240610.1 ws: 8.17.1 youch: 3.2.3 @@ -10903,8 +10915,6 @@ snapshots: mkdirp@1.0.4: {} - mkdirp@3.0.1: {} - mkdist@1.3.0(sass@1.77.6)(typescript@5.2.2): dependencies: citty: 0.1.4 @@ -11160,7 +11170,7 @@ snapshots: is-reference: 3.0.2 zimmerframe: 1.0.0 - phoenix@1.7.12: {} + phoenix@1.7.14: {} picocolors@1.0.1: {} @@ -11212,13 +11222,13 @@ snapshots: camelcase-css: 2.0.1 postcss: 8.4.38 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)): + postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)): dependencies: lilconfig: 3.0.0 yaml: 2.3.4 optionalDependencies: postcss: 8.4.38 - ts-node: 10.9.2(@types/node@20.14.4)(typescript@5.2.2) + ts-node: 10.9.2(@types/node@20.14.8)(typescript@5.2.2) postcss-modules-extract-imports@3.0.0(postcss@8.4.38): dependencies: @@ -11545,18 +11555,19 @@ snapshots: transitivePeerDependencies: - supports-color - rollup-plugin-license@3.4.0(rollup@4.13.0): + rollup-plugin-license@3.5.1(picomatch@2.3.1)(rollup@4.13.0): dependencies: commenting: 1.1.0 - glob: 7.2.0 + fdir: 6.1.1(picomatch@2.3.1) lodash: 4.17.21 magic-string: 0.30.10 - mkdirp: 3.0.1 moment: 2.30.1 package-name-regex: 2.0.6 rollup: 4.13.0 spdx-expression-validate: 2.0.0 spdx-satisfies: 5.0.1 + transitivePeerDependencies: + - picomatch rollup@3.29.4: optionalDependencies: @@ -11669,9 +11680,9 @@ snapshots: dependencies: '@shikijs/core': 1.6.3 - shiki@1.7.0: + shiki@1.9.0: dependencies: - '@shikijs/core': 1.7.0 + '@shikijs/core': 1.9.0 side-channel@1.0.4: dependencies: @@ -11853,7 +11864,7 @@ snapshots: tabbable@6.2.0: {} - tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)): + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -11872,7 +11883,7 @@ snapshots: postcss: 8.4.38 postcss-import: 15.1.0(postcss@8.4.38) postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2)) + postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) postcss-nested: 6.0.1(postcss@8.4.38) postcss-selector-parser: 6.0.11 resolve: 1.22.4 @@ -11944,14 +11955,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.14.4)(typescript@5.2.2): + ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2): 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.14.4 + '@types/node': 20.14.8 acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) acorn-walk: 8.3.2 arg: 4.1.3 @@ -11968,7 +11979,7 @@ snapshots: tslib@2.6.3: {} - tsx@4.15.6: + tsx@4.15.7: dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.5 @@ -12065,7 +12076,7 @@ snapshots: undici-types@5.26.5: {} - undici@5.28.3: + undici@5.28.4: dependencies: '@fastify/busboy': 2.1.0 @@ -12177,17 +12188,17 @@ snapshots: '@shikijs/core': 1.6.3 '@shikijs/transformers': 1.6.3 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@packages+vite)(vue@3.4.29(typescript@5.2.2)) - '@vue/devtools-api': 7.2.1(vue@3.4.29(typescript@5.2.2)) + '@vitejs/plugin-vue': 5.0.5(vite@packages+vite)(vue@3.4.30(typescript@5.2.2)) + '@vue/devtools-api': 7.2.1(vue@3.4.30(typescript@5.2.2)) '@vue/shared': 3.4.27 - '@vueuse/core': 10.10.0(vue@3.4.29(typescript@5.2.2)) - '@vueuse/integrations': 10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.29(typescript@5.2.2)) + '@vueuse/core': 10.10.0(vue@3.4.30(typescript@5.2.2)) + '@vueuse/integrations': 10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.30(typescript@5.2.2)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 shiki: 1.6.3 vite: link:packages/vite - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) optionalDependencies: postcss: 8.4.38 transitivePeerDependencies: @@ -12210,7 +12221,7 @@ snapshots: - typescript - universal-cookie - vitest@1.6.0(@types/node@20.14.4): + vitest@1.6.0(@types/node@20.14.8): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -12233,24 +12244,24 @@ snapshots: vite-node: 1.6.0 why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.4 + '@types/node': 20.14.8 transitivePeerDependencies: - supports-color void-elements@3.1.0: {} - vue-demi@0.14.7(vue@3.4.29(typescript@5.2.2)): + vue-demi@0.14.7(vue@3.4.30(typescript@5.2.2)): dependencies: - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) - vue-resize@2.0.0-alpha.1(vue@3.4.29(typescript@5.2.2)): + vue-resize@2.0.0-alpha.1(vue@3.4.30(typescript@5.2.2)): dependencies: - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) - vue-router@4.3.3(vue@3.4.29(typescript@5.2.2)): + vue-router@4.4.0(vue@3.4.30(typescript@5.2.2)): dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) vue-template-compiler@2.7.16: dependencies: @@ -12263,20 +12274,20 @@ snapshots: '@vue/runtime-dom': 3.2.0 '@vue/shared': 3.2.0 - vue@3.4.29(typescript@5.2.2): + vue@3.4.30(typescript@5.2.2): dependencies: - '@vue/compiler-dom': 3.4.29 - '@vue/compiler-sfc': 3.4.29 - '@vue/runtime-dom': 3.4.29 - '@vue/server-renderer': 3.4.29(vue@3.4.29(typescript@5.2.2)) - '@vue/shared': 3.4.29 + '@vue/compiler-dom': 3.4.30 + '@vue/compiler-sfc': 3.4.30 + '@vue/runtime-dom': 3.4.30 + '@vue/server-renderer': 3.4.30(vue@3.4.30(typescript@5.2.2)) + '@vue/shared': 3.4.30 optionalDependencies: typescript: 5.2.2 - vuex@4.1.0(vue@3.4.29(typescript@5.2.2)): + vuex@4.1.0(vue@3.4.30(typescript@5.2.2)): dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.29(typescript@5.2.2) + vue: 3.4.30(typescript@5.2.2) web-streams-polyfill@3.2.1: {} From 1b0979f44c7ffa4e7dfd1488c3939f45f4206efe Mon Sep 17 00:00:00 2001 From: Andrei Luca <1881266+iamandrewluca@users.noreply.github.com> Date: Tue, 25 Jun 2024 16:32:36 +0300 Subject: [PATCH 645/656] docs(migration): fix wrong import (#17564) --- docs/guide/migration.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/migration.md b/docs/guide/migration.md index d486c71f022f2d..ce22504271018a 100644 --- a/docs/guide/migration.md +++ b/docs/guide/migration.md @@ -187,7 +187,7 @@ The `resolvePackageEntry` and `resolvePackageData` APIs are removed as they expo - `resolvePackageData`: Same as above, and crawl up the package directory to get the root `package.json`. Or use the community [`vitefu`](https://github.com/svitejs/vitefu) package. ```js -import { resolve } from 'import-meta-env' +import { resolve } from 'import-meta-resolve' import { findDepPkgJsonPath } from 'vitefu' import fs from 'node:fs' From a97e0590b811e0b2897dbacbcc24d8d3ab7f6587 Mon Sep 17 00:00:00 2001 From: Parham Negahdar Date: Tue, 25 Jun 2024 23:08:10 -0400 Subject: [PATCH 646/656] docs: switch Polyfill.io to Cloudflare hosted version (#17567) --- docs/guide/build.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/build.md b/docs/guide/build.md index 50abd7c91cea56..9768db29ba67b3 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -13,7 +13,7 @@ The production bundle assumes support for modern JavaScript. By default, Vite ta You can specify custom targets via the [`build.target` config option](/config/build-options.md#build-target), where the lowest target is `es2015`. -Note that by default, Vite only handles syntax transforms and **does not cover polyfills**. You can check out [Polyfill.io](https://polyfill.io/) which is a service that automatically generates polyfill bundles based on the user's browser UserAgent string. +Note that by default, Vite only handles syntax transforms and **does not cover polyfills**. You can check out [Polyfill JS](https://cdnjs.cloudflare.com/polyfill/) which is a service that automatically generates polyfill bundles based on the user's browser UserAgent string. Legacy browsers can be supported via [@vitejs/plugin-legacy](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy), which will automatically generate legacy chunks and corresponding ES language feature polyfills. The legacy chunks are conditionally loaded only in browsers that do not have native ESM support. From 61357f67cdb8eca2c551150a1f0329e272f4da62 Mon Sep 17 00:00:00 2001 From: Joseph Date: Tue, 25 Jun 2024 20:48:21 -0700 Subject: [PATCH 647/656] docs: rename cdnjs link (#17565) --- docs/guide/build.md | 2 +- packages/plugin-legacy/README.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/guide/build.md b/docs/guide/build.md index 9768db29ba67b3..6c4f2a1e5523ab 100644 --- a/docs/guide/build.md +++ b/docs/guide/build.md @@ -13,7 +13,7 @@ The production bundle assumes support for modern JavaScript. By default, Vite ta You can specify custom targets via the [`build.target` config option](/config/build-options.md#build-target), where the lowest target is `es2015`. -Note that by default, Vite only handles syntax transforms and **does not cover polyfills**. You can check out [Polyfill JS](https://cdnjs.cloudflare.com/polyfill/) which is a service that automatically generates polyfill bundles based on the user's browser UserAgent string. +Note that by default, Vite only handles syntax transforms and **does not cover polyfills**. You can check out https://cdnjs.cloudflare.com/polyfill/ which automatically generates polyfill bundles based on the user's browser UserAgent string. Legacy browsers can be supported via [@vitejs/plugin-legacy](https://github.com/vitejs/vite/tree/main/packages/plugin-legacy), which will automatically generate legacy chunks and corresponding ES language feature polyfills. The legacy chunks are conditionally loaded only in browsers that do not have native ESM support. diff --git a/packages/plugin-legacy/README.md b/packages/plugin-legacy/README.md index 055cb6678c1bef..ad90980609a285 100644 --- a/packages/plugin-legacy/README.md +++ b/packages/plugin-legacy/README.md @@ -91,7 +91,7 @@ npm add -D terser If `modernTargets` is not set, it is **not recommended** to use the `true` value (which uses auto-detection) because `core-js@3` is very aggressive in polyfill inclusions due to all the bleeding edge features it supports. Even when targeting native ESM support, it injects 15kb of polyfills! - If you don't have hard reliance on bleeding edge runtime features, it is not that hard to avoid having to use polyfills in the modern build altogether. Alternatively, consider setting `modernTargets` or using an on-demand service like [Polyfill.io](https://polyfill.io) to only inject necessary polyfills based on actual browser user-agents (most modern browsers will need nothing!). + If you don't have hard reliance on bleeding edge runtime features, it is not that hard to avoid having to use polyfills in the modern build altogether. Alternatively, consider setting `modernTargets` or using an on-demand service like https://cdnjs.cloudflare.com/polyfill/ to only inject necessary polyfills based on actual browser user-agents (most modern browsers will need nothing!). ### `renderLegacyChunks` From 24c799b121c4d72cc08a52a46f82a831b64b1e6f Mon Sep 17 00:00:00 2001 From: Dominik G Date: Thu, 27 Jun 2024 12:05:20 +0200 Subject: [PATCH 648/656] fix(typescript): correctly expand ${configDir} in tsconfig.json (#17576) --- packages/vite/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/vite/package.json b/packages/vite/package.json index e23fe376975681..84db1cb7a5e37d 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -146,7 +146,7 @@ "source-map-support": "^0.5.21", "strip-ansi": "^7.1.0", "strip-literal": "^2.1.0", - "tsconfck": "^3.1.0", + "tsconfck": "^3.1.1", "tslib": "^2.6.3", "types": "link:./types", "ufo": "^1.5.3", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b32abead29cf67..a7bcf7abb5c7bf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -401,8 +401,8 @@ importers: specifier: ^2.1.0 version: 2.1.0 tsconfck: - specifier: ^3.1.0 - version: 3.1.0(typescript@5.2.2) + specifier: ^3.1.1 + version: 3.1.1(typescript@5.2.2) tslib: specifier: ^2.6.3 version: 2.6.3 @@ -6417,8 +6417,8 @@ packages: '@swc/wasm': optional: true - tsconfck@3.1.0: - resolution: {integrity: sha512-CMjc5zMnyAjcS9sPLytrbFmj89st2g+JYtY/c02ug4Q+CZaAtCgbyviI0n1YvjZE/pzoc6FbNsINS13DOL1B9w==} + tsconfck@3.1.1: + resolution: {integrity: sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==} engines: {node: ^18 || >=20} hasBin: true peerDependencies: @@ -11973,7 +11973,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - tsconfck@3.1.0(typescript@5.2.2): + tsconfck@3.1.1(typescript@5.2.2): optionalDependencies: typescript: 5.2.2 From 3af02bde7e7f26889d5c0eb300219c43ed1293ad Mon Sep 17 00:00:00 2001 From: bluwy Date: Thu, 27 Jun 2024 23:41:01 +0800 Subject: [PATCH 649/656] release: v5.3.2 --- packages/vite/CHANGELOG.md | 13 +++++++++++++ packages/vite/package.json | 2 +- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index 872ff14d33d9ff..fc1101fceeae86 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,16 @@ +## 5.3.2 (2024-06-27) + +* fix(client): uniform variable `location` (#17528) ([a8e2f6f](https://github.com/vitejs/vite/commit/a8e2f6f)), closes [#17528](https://github.com/vitejs/vite/issues/17528) +* fix(deps): update all non-major dependencies (#17494) ([bf123f2](https://github.com/vitejs/vite/commit/bf123f2)), closes [#17494](https://github.com/vitejs/vite/issues/17494) +* fix(typescript): correctly expand ${configDir} in tsconfig.json (#17576) ([24c799b](https://github.com/vitejs/vite/commit/24c799b)), closes [#17576](https://github.com/vitejs/vite/issues/17576) +* chore: fix some comments (#17495) ([ec16a5e](https://github.com/vitejs/vite/commit/ec16a5e)), closes [#17495](https://github.com/vitejs/vite/issues/17495) +* chore(deps): update all non-major dependencies (#17553) ([a33a97f](https://github.com/vitejs/vite/commit/a33a97f)), closes [#17553](https://github.com/vitejs/vite/issues/17553) +* chore(deps): update dependency eslint to v9 (#16661) ([6c10662](https://github.com/vitejs/vite/commit/6c10662)), closes [#16661](https://github.com/vitejs/vite/issues/16661) +* chore(deps): update es-module-lexer to 1.5.4 (#17555) ([2d6672f](https://github.com/vitejs/vite/commit/2d6672f)), closes [#17555](https://github.com/vitejs/vite/issues/17555) +* refactor(optimizer): use early continues (#17551) ([7c06ef0](https://github.com/vitejs/vite/commit/7c06ef0)), closes [#17551](https://github.com/vitejs/vite/issues/17551) + + + ## 5.3.1 (2024-06-14) * fix(build): handle preload treeshaking for braces (#17479) ([d355568](https://github.com/vitejs/vite/commit/d355568)), closes [#17479](https://github.com/vitejs/vite/issues/17479) diff --git a/packages/vite/package.json b/packages/vite/package.json index 84db1cb7a5e37d..4be3f81229eac6 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.3.1", + "version": "5.3.2", "type": "module", "license": "MIT", "author": "Evan You", From 14e14726d11ac55c37cc2d15aaf935be18ef925b Mon Sep 17 00:00:00 2001 From: jainex Date: Sat, 29 Jun 2024 22:00:55 +0530 Subject: [PATCH 650/656] docs(config): update `preview.https` type (#17586) --- docs/config/preview-options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/config/preview-options.md b/docs/config/preview-options.md index 7d7aca988cda87..6c4370142d5140 100644 --- a/docs/config/preview-options.md +++ b/docs/config/preview-options.md @@ -46,7 +46,7 @@ Set to `true` to exit if port is already in use, instead of automatically trying ## preview.https -- **Type:** `boolean | https.ServerOptions` +- **Type:** `https.ServerOptions` - **Default:** [`server.https`](./server-options#server-https) Enable TLS + HTTP/2. Note this downgrades to TLS only when the [`server.proxy` option](./server-options#server-proxy) is also used. From dafff4ae6eabf22b7f08a582f3663eb8a08bfc32 Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 2 Jul 2024 17:47:29 +0800 Subject: [PATCH 651/656] fix: lazily evaluate __vite__mapDeps files (#17602) --- packages/vite/src/node/plugins/importAnalysisBuild.ts | 2 +- playground/js-sourcemap/__tests__/js-sourcemap.spec.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index 3a99b310cd810a..fbadacaa9c4757 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -657,7 +657,7 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { ) .join(',')}]` - const mapDepsCode = `const __vite__fileDeps=${fileDepsCode},__vite__mapDeps=i=>i.map(i=>__vite__fileDeps[i]);\n` + const mapDepsCode = `const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=${fileDepsCode})))=>i.map(i=>d[i]);\n` // inject extra code at the top or next line of hashbang if (code.startsWith('#!')) { diff --git a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts index 15d82acd776283..c4f7af623fb724 100644 --- a/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts +++ b/playground/js-sourcemap/__tests__/js-sourcemap.spec.ts @@ -164,7 +164,7 @@ describe.runIf(isBuild)('build tests', () => { const js = findAssetFile(/after-preload-dynamic-hashbang-[-\w]{8}\.js$/) expect(js.split('\n').slice(0, 2)).toEqual([ '#!/usr/bin/env node', - expect.stringContaining('const __vite__fileDeps=['), + expect.stringContaining('const __vite__mapDeps=(i'), ]) }) From 055f1c16e55b527543e7af0e65e820b245b12d2e Mon Sep 17 00:00:00 2001 From: Bjorn Lu Date: Tue, 2 Jul 2024 17:49:19 +0800 Subject: [PATCH 652/656] fix(lib): remove pure CSS dynamic import (#17601) --- packages/vite/src/node/plugins/importAnalysisBuild.ts | 4 +++- playground/lib/__tests__/lib.spec.ts | 8 ++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/packages/vite/src/node/plugins/importAnalysisBuild.ts b/packages/vite/src/node/plugins/importAnalysisBuild.ts index fbadacaa9c4757..9af262a70544a9 100644 --- a/packages/vite/src/node/plugins/importAnalysisBuild.ts +++ b/packages/vite/src/node/plugins/importAnalysisBuild.ts @@ -403,7 +403,9 @@ export function buildImportAnalysisPlugin(config: ResolvedConfig): Plugin { return } - if (ssr || isWorker) { + // 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) { const removedPureCssFiles = removedPureCssFilesCache.get(config) if (removedPureCssFiles && removedPureCssFiles.size > 0) { for (const file in bundle) { diff --git a/playground/lib/__tests__/lib.spec.ts b/playground/lib/__tests__/lib.spec.ts index 021d7d1bc636b5..af144de44e9c46 100644 --- a/playground/lib/__tests__/lib.spec.ts +++ b/playground/lib/__tests__/lib.spec.ts @@ -67,6 +67,14 @@ describe.runIf(isBuild)('build', () => { expect(code).toMatch(/await import\("\.\/message-[-\w]{8}.js"\)/) }) + test('Library mode does not have any reference to pure CSS chunks', async () => { + const code = readFile('dist/lib/dynamic-import-message.es.mjs') + + // Does not import pure CSS chunks and replaced by `Promise.resolve({})` instead + expect(code).not.toMatch(/await import\("\.\/dynamic-[-\w]{8}.js"\)/) + expect(code).toMatch(/await Promise.resolve\(\{.*\}\)/) + }) + test('@import hoist', async () => { serverLogs.forEach((log) => { // no warning from esbuild css minifier From 14c3d49303e4db459728c43b2d3a7c2aff8cd383 Mon Sep 17 00:00:00 2001 From: John Hunter Date: Tue, 2 Jul 2024 11:06:28 +0100 Subject: [PATCH 653/656] fix(proxy): replace changeOrigin changes in 5.3.0 with new rewriteWsOrigin option (#17563) Co-authored-by: John Hunter --- docs/config/server-options.md | 4 ++- .../vite/src/node/server/middlewares/proxy.ts | 31 +++++++++++++------ 2 files changed, 24 insertions(+), 11 deletions(-) diff --git a/docs/config/server-options.md b/docs/config/server-options.md index dbeec4428120f5..a9d5d52df3c826 100644 --- a/docs/config/server-options.md +++ b/docs/config/server-options.md @@ -90,7 +90,7 @@ Configure custom proxy rules for the dev server. Expects an object of `{ key: op Note that if you are using non-relative [`base`](/config/shared-options.md#base), you must prefix each key with that `base`. -Extends [`http-proxy`](https://github.com/http-party/node-http-proxy#options). Additional options are [here](https://github.com/vitejs/vite/blob/main/packages/vite/src/node/server/middlewares/proxy.ts#L13). Note that [unlike http-proxy](https://github.com/http-party/node-http-proxy/issues/1669), the `changeOrigin` option will change both host and origin headers to match the target. +Extends [`http-proxy`](https://github.com/http-party/node-http-proxy#options). Additional options are [here](https://github.com/vitejs/vite/blob/main/packages/vite/src/node/server/middlewares/proxy.ts#L13). In some cases, you might also want to configure the underlying dev server (e.g. to add custom middlewares to the internal [connect](https://github.com/senchalabs/connect) app). In order to do that, you need to write your own [plugin](/guide/using-plugins.html) and use [configureServer](/guide/api-plugin.html#configureserver) function. @@ -123,9 +123,11 @@ export default defineConfig({ }, }, // Proxying websockets or socket.io: ws://localhost:5173/socket.io -> ws://localhost:5174/socket.io + // Exercise caution using `rewriteWsOrigin` as it can leave the proxying open to CSRF attacks. '/socket.io': { target: 'ws://localhost:5174', ws: true, + rewriteWsOrigin: true, }, }, }, diff --git a/packages/vite/src/node/server/middlewares/proxy.ts b/packages/vite/src/node/server/middlewares/proxy.ts index 4ceb4d8d435426..17f6d7a235d583 100644 --- a/packages/vite/src/node/server/middlewares/proxy.ts +++ b/packages/vite/src/node/server/middlewares/proxy.ts @@ -27,20 +27,35 @@ export interface ProxyOptions extends HttpProxy.ServerOptions { res: http.ServerResponse, options: ProxyOptions, ) => void | null | undefined | false | string + /** + * rewrite the Origin header of a WebSocket request to match the the target + * + * **Exercise caution as rewriting the Origin can leave the proxying open to [CSRF attacks](https://owasp.org/www-community/attacks/csrf).** + */ + rewriteWsOrigin?: boolean | undefined } -const setOriginHeader = ( +const rewriteOriginHeader = ( proxyReq: http.ClientRequest, - options: HttpProxy.ServerOptions, + options: ProxyOptions, + config: ResolvedConfig, ) => { // Browsers may send Origin headers even with same-origin // requests. It is common for WebSocket servers to check the Origin - // header, so if changeOrigin is true we change the Origin to match + // header, so if rewriteWsOrigin is true we change the Origin to match // the target URL. - // https://github.com/http-party/node-http-proxy/issues/1669 - if (options.changeOrigin) { + if (options.rewriteWsOrigin) { const { target } = options + if (proxyReq.headersSent) { + config.logger.warn( + colors.yellow( + `Unable to rewrite Origin header as headers are already sent.`, + ), + ) + return + } + if (proxyReq.getHeader('origin') && target) { const changedOrigin = typeof target === 'object' @@ -112,12 +127,8 @@ export function proxyMiddleware( } }) - proxy.on('proxyReq', (proxyReq, req, res, options) => { - setOriginHeader(proxyReq, options) - }) - proxy.on('proxyReqWs', (proxyReq, req, socket, options, head) => { - setOriginHeader(proxyReq, options) + rewriteOriginHeader(proxyReq, options, config) socket.on('error', (err) => { config.logger.error( From 012490ca8682e2b560737cb54dbb465ab4f36471 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Jul 2024 18:08:55 +0800 Subject: [PATCH 654/656] fix(deps): update all non-major dependencies (#17590) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- docs/package.json | 4 +- package.json | 20 +- .../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 | 6 +- .../create-vite/template-react/package.json | 2 +- .../template-solid-ts/package.json | 4 +- .../create-vite/template-solid/package.json | 4 +- .../template-svelte-ts/package.json | 4 +- .../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 | 4 +- packages/vite/package.json | 2 +- playground/alias/package.json | 4 +- .../config/packages/siblings/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/object-hooks/package.json | 2 +- .../optimize-deps-no-discovery/package.json | 2 +- playground/optimize-deps/package.json | 2 +- playground/ssr-webworker/package.json | 2 +- playground/tailwind/package.json | 2 +- pnpm-lock.yaml | 870 ++++++++++-------- 33 files changed, 525 insertions(+), 455 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bbcc0244bdfc59..1a6f0cbf5227ba 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -58,7 +58,7 @@ jobs: - name: Get changed files id: changed-files - uses: tj-actions/changed-files@cc3bbb0c526f8ee1d282f8c5f9f4e50745a5b457 # v44.5.4 + uses: tj-actions/changed-files@cc733854b1f224978ef800d29e4709d5ee2883e4 # v44.5.5 with: files: | docs/** diff --git a/docs/package.json b/docs/package.json index b126ba6811e183..15ba56ec977f20 100644 --- a/docs/package.json +++ b/docs/package.json @@ -8,10 +8,10 @@ "docs-serve": "vitepress serve" }, "devDependencies": { - "@shikijs/vitepress-twoslash": "^1.9.0", + "@shikijs/vitepress-twoslash": "^1.10.0", "@types/express": "^4.17.21", "feed": "^4.2.2", "vitepress": "1.2.3", - "vue": "^3.4.30" + "vue": "^3.4.31" } } diff --git a/package.json b/package.json index c52ac317a003cc..1a3b2566830736 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ci-docs": "run-s build docs-build" }, "devDependencies": { - "@eslint/js": "^9.5.0", + "@eslint/js": "^9.6.0", "@types/babel__core": "^7.20.5", "@types/babel__preset-env": "^7.9.7", "@types/convert-source-map": "^2.0.3", @@ -50,33 +50,33 @@ "@types/etag": "^1.8.3", "@types/fs-extra": "^11.0.4", "@types/less": "^3.0.6", - "@types/micromatch": "^4.0.7", - "@types/node": "^20.14.8", - "@types/picomatch": "^2.3.3", + "@types/micromatch": "^4.0.9", + "@types/node": "^20.14.9", + "@types/picomatch": "^2.3.4", "@types/stylus": "^0.48.42", "@types/ws": "^8.5.10", "@vitejs/release-scripts": "^1.3.1", "conventional-changelog-cli": "^5.0.0", - "eslint": "^9.5.0", - "eslint-plugin-import-x": "^0.5.1", + "eslint": "^9.6.0", + "eslint-plugin-import-x": "^0.5.3", "eslint-plugin-n": "^17.9.0", "eslint-plugin-regexp": "^2.6.0", "execa": "^9.3.0", "fs-extra": "^11.2.0", - "globals": "^15.6.0", + "globals": "^15.7.0", "lint-staged": "^15.2.7", "npm-run-all2": "^6.2.0", "picocolors": "^1.0.1", - "playwright-chromium": "^1.44.1", + "playwright-chromium": "^1.45.0", "prettier": "3.3.2", "rimraf": "^5.0.7", "rollup": "^4.13.0", "rollup-plugin-esbuild": "^6.1.1", "simple-git-hooks": "^2.11.1", "tslib": "^2.6.3", - "tsx": "^4.15.7", + "tsx": "^4.16.0", "typescript": "^5.2.2", - "typescript-eslint": "^7.13.1", + "typescript-eslint": "^7.15.0", "vite": "workspace:*", "vitest": "^1.6.0" }, diff --git a/packages/create-vite/template-lit-ts/package.json b/packages/create-vite/template-lit-ts/package.json index 6fffe1825502d2..be7c7c9cc257ec 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.2.2", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-lit/package.json b/packages/create-vite/template-lit/package.json index a04042b2a822a4..1a37fd91de72d2 100644 --- a/packages/create-vite/template-lit/package.json +++ b/packages/create-vite/template-lit/package.json @@ -12,6 +12,6 @@ "lit": "^3.1.4" }, "devDependencies": { - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-preact-ts/package.json b/packages/create-vite/template-preact-ts/package.json index c5fe75bbcaed32..c098b29eda13b8 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.22.0" + "preact": "^10.22.1" }, "devDependencies": { "@preact/preset-vite": "^2.8.3", "typescript": "^5.2.2", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-preact/package.json b/packages/create-vite/template-preact/package.json index 8a7b3704ae625f..a0a553338694ac 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.22.0" + "preact": "^10.22.1" }, "devDependencies": { "@preact/preset-vite": "^2.8.3", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-qwik-ts/package.json b/packages/create-vite/template-qwik-ts/package.json index a7ae4c3254c7ea..3da012571197c8 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.2.2", - "vite": "^5.3.1" + "vite": "^5.3.2" }, "dependencies": { - "@builder.io/qwik": "^1.5.7" + "@builder.io/qwik": "^1.6.0" } } diff --git a/packages/create-vite/template-qwik/package.json b/packages/create-vite/template-qwik/package.json index 172397006b7f45..b8ef00283b68ec 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.3.1" + "vite": "^5.3.2" }, "dependencies": { - "@builder.io/qwik": "^1.5.7" + "@builder.io/qwik": "^1.6.0" } } diff --git a/packages/create-vite/template-react-ts/package.json b/packages/create-vite/template-react-ts/package.json index 9463c88eff00cb..f5cf282df8a623 100644 --- a/packages/create-vite/template-react-ts/package.json +++ b/packages/create-vite/template-react-ts/package.json @@ -16,13 +16,13 @@ "devDependencies": { "@types/react": "^18.3.3", "@types/react-dom": "^18.3.0", - "@typescript-eslint/eslint-plugin": "^7.13.1", - "@typescript-eslint/parser": "^7.13.1", + "@typescript-eslint/eslint-plugin": "^7.15.0", + "@typescript-eslint/parser": "^7.15.0", "@vitejs/plugin-react": "^4.3.1", "eslint": "^8.57.0", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", "typescript": "^5.2.2", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-react/package.json b/packages/create-vite/template-react/package.json index b69f5a42bd5dd1..f88081ec9e6bd8 100644 --- a/packages/create-vite/template-react/package.json +++ b/packages/create-vite/template-react/package.json @@ -21,6 +21,6 @@ "eslint-plugin-react": "^7.34.3", "eslint-plugin-react-hooks": "^4.6.2", "eslint-plugin-react-refresh": "^0.4.7", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-solid-ts/package.json b/packages/create-vite/template-solid-ts/package.json index 85f39865743379..6361dcf27b8ffd 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.17" + "solid-js": "^1.8.18" }, "devDependencies": { "typescript": "^5.2.2", - "vite": "^5.3.1", + "vite": "^5.3.2", "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 f37f94f79ba9e4..99a0e233d95a7c 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.17" + "solid-js": "^1.8.18" }, "devDependencies": { - "vite": "^5.3.1", + "vite": "^5.3.2", "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 b09db0a15ffb73..dfd0420910e170 100644 --- a/packages/create-vite/template-svelte-ts/package.json +++ b/packages/create-vite/template-svelte-ts/package.json @@ -13,9 +13,9 @@ "@sveltejs/vite-plugin-svelte": "^3.1.1", "@tsconfig/svelte": "^5.0.4", "svelte": "^4.2.18", - "svelte-check": "^3.8.1", + "svelte-check": "^3.8.4", "tslib": "^2.6.3", "typescript": "^5.2.2", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-svelte/package.json b/packages/create-vite/template-svelte/package.json index 86110dfe892362..230e3a5e1bd012 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.1", "svelte": "^4.2.18", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-vanilla-ts/package.json b/packages/create-vite/template-vanilla-ts/package.json index a40bda9b2074d8..b572532756b1bf 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.2.2", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-vanilla/package.json b/packages/create-vite/template-vanilla/package.json index 56775c6a95a118..985973e1444d58 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.3.1" + "vite": "^5.3.2" } } diff --git a/packages/create-vite/template-vue-ts/package.json b/packages/create-vite/template-vue-ts/package.json index c1594943c3c170..e696c69cceb773 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.4.30" + "vue": "^3.4.31" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.5", "typescript": "^5.2.2", - "vite": "^5.3.1", - "vue-tsc": "^2.0.22" + "vite": "^5.3.2", + "vue-tsc": "^2.0.24" } } diff --git a/packages/create-vite/template-vue/package.json b/packages/create-vite/template-vue/package.json index 6499aed983a8c0..f8f01f96c3a329 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.4.30" + "vue": "^3.4.31" }, "devDependencies": { "@vitejs/plugin-vue": "^5.0.5", - "vite": "^5.3.1" + "vite": "^5.3.2" } } diff --git a/packages/vite/package.json b/packages/vite/package.json index 4be3f81229eac6..1b1e24657e8dc9 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -86,7 +86,7 @@ "//": "READ CONTRIBUTING.md to understand what to put under deps vs. devDeps!", "dependencies": { "esbuild": "^0.21.3", - "postcss": "^8.4.38", + "postcss": "^8.4.39", "rollup": "^4.13.0" }, "optionalDependencies": { diff --git a/playground/alias/package.json b/playground/alias/package.json index 29f8dee173897c..7adcbb586abc14 100644 --- a/playground/alias/package.json +++ b/playground/alias/package.json @@ -11,8 +11,8 @@ }, "dependencies": { "aliased-module": "file:./dir/module", - "vue": "^3.4.30", - "@vue/shared": "^3.4.30" + "vue": "^3.4.31", + "@vue/shared": "^3.4.31" }, "devDependencies": { "@vitejs/test-resolve-linked": "workspace:*" diff --git a/playground/config/packages/siblings/package.json b/playground/config/packages/siblings/package.json index d4340d85f56e13..7516fde52b5bcb 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.5", + "@types/lodash": "^4.17.6", "lodash": "^4.17.21" } } diff --git a/playground/extensions/package.json b/playground/extensions/package.json index d21600710881c3..d63ae375c2cff8 100644 --- a/playground/extensions/package.json +++ b/playground/extensions/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.30" + "vue": "^3.4.31" } } diff --git a/playground/external/dep-that-imports/package.json b/playground/external/dep-that-imports/package.json index c204c28e16eb4a..256cfffdf0361e 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.4.30" + "vue": "^3.4.31" } } diff --git a/playground/external/dep-that-requires/package.json b/playground/external/dep-that-requires/package.json index c70732563a3292..5a0e85c35fb523 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.4.30" + "vue": "^3.4.31" } } diff --git a/playground/external/package.json b/playground/external/package.json index 05bddaa7ff6d41..76c3f13cbcc2d5 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.4.30", + "vue": "^3.4.31", "vue32": "npm:vue@~3.2.0" } } diff --git a/playground/json/package.json b/playground/json/package.json index 1b6cc8cc33494d..e5eb9f6f3f4df7 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.19.2", - "vue": "^3.4.30" + "vue": "^3.4.31" } } diff --git a/playground/object-hooks/package.json b/playground/object-hooks/package.json index 13c7a751f47529..5b119d4010fa98 100644 --- a/playground/object-hooks/package.json +++ b/playground/object-hooks/package.json @@ -10,6 +10,6 @@ "preview": "vite preview" }, "dependencies": { - "vue": "^3.4.30" + "vue": "^3.4.31" } } diff --git a/playground/optimize-deps-no-discovery/package.json b/playground/optimize-deps-no-discovery/package.json index ede52702f23107..24113db4fdd10b 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.4.30", + "vue": "^3.4.31", "vuex": "^4.1.0" } } diff --git a/playground/optimize-deps/package.json b/playground/optimize-deps/package.json index 2febf46c504d28..aaf0d438b1cb02 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.3", - "vue": "^3.4.30", + "vue": "^3.4.31", "vuex": "^4.1.0", "lodash": "^4.17.21", "lodash.clonedeep": "^4.5.0" diff --git a/playground/ssr-webworker/package.json b/playground/ssr-webworker/package.json index 4d81bf13de0e19..e5c802035a9b72 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.20240610.1", + "miniflare": "^3.20240620.0", "@vitejs/test-resolve-linked": "workspace:*" } } diff --git a/playground/tailwind/package.json b/playground/tailwind/package.json index a65d211193891b..a2c4dc88335cb5 100644 --- a/playground/tailwind/package.json +++ b/playground/tailwind/package.json @@ -11,7 +11,7 @@ "dependencies": { "autoprefixer": "^10.4.19", "tailwindcss": "^3.4.4", - "vue": "^3.4.30", + "vue": "^3.4.31", "vue-router": "^4.4.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a7bcf7abb5c7bf..80823d55fcf871 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -26,8 +26,8 @@ importers: .: devDependencies: '@eslint/js': - specifier: ^9.5.0 - version: 9.5.0 + specifier: ^9.6.0 + version: 9.6.0 '@types/babel__core': specifier: ^7.20.5 version: 7.20.5 @@ -56,14 +56,14 @@ importers: specifier: ^3.0.6 version: 3.0.6 '@types/micromatch': - specifier: ^4.0.7 - version: 4.0.7 + specifier: ^4.0.9 + version: 4.0.9 '@types/node': - specifier: ^20.14.8 - version: 20.14.8 + specifier: ^20.14.9 + version: 20.14.9 '@types/picomatch': - specifier: ^2.3.3 - version: 2.3.3 + specifier: ^2.3.4 + version: 2.3.4 '@types/stylus': specifier: ^0.48.42 version: 0.48.42 @@ -77,17 +77,17 @@ importers: specifier: ^5.0.0 version: 5.0.0(conventional-commits-filter@5.0.0) eslint: - specifier: ^9.5.0 - version: 9.5.0 + specifier: ^9.6.0 + version: 9.6.0 eslint-plugin-import-x: - specifier: ^0.5.1 - version: 0.5.1(eslint@9.5.0)(typescript@5.2.2) + specifier: ^0.5.3 + version: 0.5.3(eslint@9.6.0)(typescript@5.2.2) eslint-plugin-n: specifier: ^17.9.0 - version: 17.9.0(eslint@9.5.0) + version: 17.9.0(eslint@9.6.0) eslint-plugin-regexp: specifier: ^2.6.0 - version: 2.6.0(eslint@9.5.0) + version: 2.6.0(eslint@9.6.0) execa: specifier: ^9.3.0 version: 9.3.0 @@ -95,8 +95,8 @@ importers: specifier: ^11.2.0 version: 11.2.0 globals: - specifier: ^15.6.0 - version: 15.6.0 + specifier: ^15.7.0 + version: 15.7.0 lint-staged: specifier: ^15.2.7 version: 15.2.7 @@ -107,8 +107,8 @@ importers: specifier: ^1.0.1 version: 1.0.1 playwright-chromium: - specifier: ^1.44.1 - version: 1.44.1 + specifier: ^1.45.0 + version: 1.45.0 prettier: specifier: 3.3.2 version: 3.3.2 @@ -128,26 +128,26 @@ importers: specifier: ^2.6.3 version: 2.6.3 tsx: - specifier: ^4.15.7 - version: 4.15.7 + specifier: ^4.16.0 + version: 4.16.0 typescript: specifier: ^5.2.2 version: 5.2.2 typescript-eslint: - specifier: ^7.13.1 - version: 7.13.1(eslint@9.5.0)(typescript@5.2.2) + specifier: ^7.15.0 + version: 7.15.0(eslint@9.6.0)(typescript@5.2.2) vite: specifier: workspace:* version: link:packages/vite vitest: specifier: ^1.6.0 - version: 1.6.0(@types/node@20.14.8) + version: 1.6.0(@types/node@20.14.9) docs: devDependencies: '@shikijs/vitepress-twoslash': - specifier: ^1.9.0 - version: 1.9.0(typescript@5.2.2) + specifier: ^1.10.0 + version: 1.10.0(typescript@5.2.2) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -156,10 +156,10 @@ importers: version: 4.2.2 vitepress: specifier: 1.2.3 - version: 1.2.3(@algolia/client-search@4.20.0)(axios@1.7.2)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) + version: 1.2.3(@algolia/client-search@4.20.0)(axios@1.7.2)(postcss@8.4.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2) vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) packages/create-vite: devDependencies: @@ -231,8 +231,8 @@ importers: specifier: ^0.21.3 version: 0.21.5 postcss: - specifier: ^8.4.38 - version: 8.4.38 + specifier: ^8.4.39 + version: 8.4.39 rollup: specifier: ^4.13.0 version: 4.13.0 @@ -366,13 +366,13 @@ importers: version: 2.3.1 postcss-import: specifier: ^16.1.0 - version: 16.1.0(postcss@8.4.38) + version: 16.1.0(postcss@8.4.39) postcss-load-config: specifier: ^4.0.2 - version: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) + version: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2)) postcss-modules: specifier: ^6.0.0 - version: 6.0.0(postcss@8.4.38) + version: 6.0.0(postcss@8.4.39) resolve.exports: specifier: ^2.0.2 version: 2.0.2 @@ -478,14 +478,14 @@ importers: playground/alias: dependencies: '@vue/shared': - specifier: ^3.4.30 - version: 3.4.30 + specifier: ^3.4.31 + version: 3.4.31 aliased-module: specifier: file:./dir/module version: '@vitejs/test-aliased-module@file:playground/alias/dir/module' vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) devDependencies: '@vitejs/test-resolve-linked': specifier: workspace:* @@ -507,7 +507,7 @@ importers: version: 1.77.6 tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2)) playground/build-old: {} @@ -530,8 +530,8 @@ importers: playground/config/packages/siblings: devDependencies: '@types/lodash': - specifier: ^4.17.5 - version: 4.17.5 + specifier: ^4.17.6 + version: 4.17.6 lodash: specifier: ^4.17.21 version: 4.17.21 @@ -563,7 +563,7 @@ importers: version: 4.2.0 postcss-nested: specifier: ^6.0.1 - version: 6.0.1(postcss@8.4.38) + version: 6.0.1(postcss@8.4.39) sass: specifier: ^1.77.6 version: 1.77.6 @@ -572,7 +572,7 @@ importers: version: 0.63.0 sugarss: specifier: ^4.0.1 - version: 4.0.1(postcss@8.4.38) + version: 4.0.1(postcss@8.4.39) playground/css-codesplit: {} @@ -613,7 +613,7 @@ importers: version: 0.63.0 sugarss: specifier: ^4.0.1 - version: 4.0.1(postcss@8.4.38) + version: 4.0.1(postcss@8.4.39) playground/css/css-dep: {} @@ -670,8 +670,8 @@ importers: playground/extensions: dependencies: vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) playground/external: dependencies: @@ -692,8 +692,8 @@ importers: specifier: workspace:* version: link:../../packages/vite vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) vue32: specifier: npm:vue@~3.2.0 version: vue@3.2.0 @@ -707,8 +707,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) playground/external/dep-that-requires: dependencies: @@ -719,8 +719,8 @@ importers: specifier: npm:slash@^5.1.0 version: slash@5.1.0 vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) playground/fs-serve: {} @@ -768,8 +768,8 @@ importers: specifier: ^4.19.2 version: 4.19.2 vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) playground/json/json-module: {} @@ -870,8 +870,8 @@ importers: playground/object-hooks: dependencies: vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) playground/optimize-deps: dependencies: @@ -984,11 +984,11 @@ importers: specifier: ^0.11.3 version: 0.11.3 vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.30(typescript@5.2.2)) + version: 4.1.0(vue@3.4.31(typescript@5.2.2)) playground/optimize-deps-no-discovery: dependencies: @@ -996,11 +996,11 @@ importers: specifier: file:./dep-no-discovery version: file:playground/optimize-deps-no-discovery/dep-no-discovery vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) vuex: specifier: ^4.1.0 - version: 4.1.0(vue@3.4.30(typescript@5.2.2)) + version: 4.1.0(vue@3.4.31(typescript@5.2.2)) playground/optimize-deps-no-discovery/dep-no-discovery: {} @@ -1516,8 +1516,8 @@ importers: specifier: workspace:* version: link:../resolve-linked miniflare: - specifier: ^3.20240610.1 - version: 3.20240610.1 + specifier: ^3.20240620.0 + version: 3.20240620.0 playground/ssr-webworker/browser-exports: {} @@ -1527,26 +1527,26 @@ importers: dependencies: autoprefixer: specifier: ^10.4.19 - version: 10.4.19(postcss@8.4.38) + version: 10.4.19(postcss@8.4.39) tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2)) vue: - specifier: ^3.4.30 - version: 3.4.30(typescript@5.2.2) + specifier: ^3.4.31 + version: 3.4.31(typescript@5.2.2) vue-router: specifier: ^4.4.0 - version: 4.4.0(vue@3.4.30(typescript@5.2.2)) + version: 4.4.0(vue@3.4.31(typescript@5.2.2)) devDependencies: ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@20.14.8)(typescript@5.2.2) + version: 10.9.2(@types/node@20.14.9)(typescript@5.2.2) playground/tailwind-sourcemap: dependencies: tailwindcss: specifier: ^3.4.4 - version: 3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) + version: 3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2)) playground/transform-plugin: {} @@ -2253,32 +2253,32 @@ packages: resolution: {integrity: sha512-XEFXSlxiG5td2EJRe8vOmRbaXVgfcBlszKujvVmWIK/UpywWljQCfzAv3RQCGujWQ1RD4YYWEAqDXfuJiy8f5Q==} engines: {node: '>=6.9.0'} - '@cloudflare/workerd-darwin-64@1.20240610.1': - resolution: {integrity: sha512-YanZ1iXgMGaUWlleB5cswSE6qbzyjQ8O7ENWZcPAcZZ6BfuL7q3CWi0t9iM1cv2qx92rRztsRTyjcfq099++XQ==} + '@cloudflare/workerd-darwin-64@1.20240620.1': + resolution: {integrity: sha512-YWeS2aE8jAzDefuus/3GmZcFGu3Ef94uCAoxsQuaEXNsiGM9NeAhPpKC1BJAlcv168U/Q1J+6hckcGtipf6ZcQ==} engines: {node: '>=16'} cpu: [x64] os: [darwin] - '@cloudflare/workerd-darwin-arm64@1.20240610.1': - resolution: {integrity: sha512-bRe/y/LKjIgp3L2EHjc+CvoCzfHhf4aFTtOBkv2zW+VToNJ4KlXridndf7LvR9urfsFRRo9r4TXCssuKaU+ypQ==} + '@cloudflare/workerd-darwin-arm64@1.20240620.1': + resolution: {integrity: sha512-3rdND+EHpmCrwYX6hvxIBSBJ0f40tRNxond1Vfw7GiR1MJVi3gragiBx75UDFHCxfRw3J0GZ1qVlkRce2/Xbsg==} engines: {node: '>=16'} cpu: [arm64] os: [darwin] - '@cloudflare/workerd-linux-64@1.20240610.1': - resolution: {integrity: sha512-2zDcadR7+Gs9SjcMXmwsMji2Xs+yASGNA2cEHDuFc4NMUup+eL1mkzxc/QzvFjyBck98e92rBjMZt2dVscpGKg==} + '@cloudflare/workerd-linux-64@1.20240620.1': + resolution: {integrity: sha512-tURcTrXGeSbYqeM5ISVcofY20StKbVIcdxjJvNYNZ+qmSV9Fvn+zr7rRE+q64pEloVZfhsEPAlUCnFso5VV4XQ==} engines: {node: '>=16'} cpu: [x64] os: [linux] - '@cloudflare/workerd-linux-arm64@1.20240610.1': - resolution: {integrity: sha512-7y41rPi5xmIYJN8CY+t3RHnjLL0xx/WYmaTd/j552k1qSr02eTE2o/TGyWZmGUC+lWnwdPQJla0mXbvdqgRdQg==} + '@cloudflare/workerd-linux-arm64@1.20240620.1': + resolution: {integrity: sha512-TThvkwNxaZFKhHZnNjOGqIYCOk05DDWgO+wYMuXg15ymN/KZPnCicRAkuyqiM+R1Fgc4kwe/pehjP8pbmcf6sg==} engines: {node: '>=16'} cpu: [arm64] os: [linux] - '@cloudflare/workerd-windows-64@1.20240610.1': - resolution: {integrity: sha512-B0LyT3DB6rXHWNptnntYHPaoJIy0rXnGfeDBM3nEVV8JIsQrx8MEFn2F2jYioH1FkUVavsaqKO/zUosY3tZXVA==} + '@cloudflare/workerd-windows-64@1.20240620.1': + resolution: {integrity: sha512-Y/BA9Yj0r7Al1HK3nDHcfISgFllw6NR3XMMPChev57vrVT9C9D4erBL3sUBfofHU+2U9L+ShLsl6obBpe3vvUw==} engines: {node: '>=16'} cpu: [x64] os: [win32] @@ -2744,16 +2744,16 @@ packages: resolution: {integrity: sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/config-array@0.16.0': - resolution: {integrity: sha512-/jmuSd74i4Czf1XXn7wGRWZCuyaUZ330NH1Bek0Pplatt4Sy1S5haN21SCLLdbeKslQ+S0wEJ+++v5YibSi+Lg==} + '@eslint/config-array@0.17.0': + resolution: {integrity: sha512-A68TBu6/1mHHuc5YJL0U0VVeGNiklLAL6rRmhTCP2B5XjWLMnrX+HkO+IAXyHvks5cyyY1jjK5ITPQ1HGS2EVA==} 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.5.0': - resolution: {integrity: sha512-A7+AOT2ICkodvtsWnxZP4Xxk3NbZ3VMHd8oihydLRGrJgqqdEz1qSeEgXYyT/Cu8h1TWWsQRejIx48mtjZ5y1w==} + '@eslint/js@9.6.0': + resolution: {integrity: sha512-D9B0/3vNg44ZeWbYMpBoXqNP4j6eQD5vNwIlGAuFRRzK/WtT/jvDQW3Bi9kkf3PMDMlM7Yi+73VLUsn5bJcl8A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.4': @@ -3020,20 +3020,20 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@shikijs/core@1.10.0': + resolution: {integrity: sha512-BZcr6FCmPfP6TXaekvujZcnkFmJHZ/Yglu97r/9VjzVndQA56/F4WjUKtJRQUnK59Wi7p/UTAOekMfCJv7jnYg==} + '@shikijs/core@1.6.3': resolution: {integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==} - '@shikijs/core@1.9.0': - resolution: {integrity: sha512-cbSoY8P/jgGByG8UOl3jnP/CWg/Qk+1q+eAKWtcrU3pNoILF8wTsLB0jT44qUBV8Ce1SvA9uqcM9Xf+u3fJFBw==} - '@shikijs/transformers@1.6.3': resolution: {integrity: sha512-ptBuP/IIeqCzK3zZO/knFICZWs58uZWzbv7ND+bKOewe5NcCjZfSiMyzFwOyl23ewPJ1APjRBwLi6Asrodmmxw==} - '@shikijs/twoslash@1.9.0': - resolution: {integrity: sha512-XKaiR85K3Bk/MNdZ7tmJDm740iLpt4YDvYrV90pwbvxkSEZ8SPV4gbaX8ONwndNqdf2awF9g7DKYHsyU/XwJdw==} + '@shikijs/twoslash@1.10.0': + resolution: {integrity: sha512-LMvsYyFs73Saf0VsxrScXQZkV2UszxnYa4gGJbK0Ct8NH6YpQDg+FROsNsbqKk+SsKsbbydZP0W8ojKuvq69pA==} - '@shikijs/vitepress-twoslash@1.9.0': - resolution: {integrity: sha512-ILhRKIyU0g2409dhM5QVbvZ7E4XOonKGuqgVsccJFEXvG7rB1ckYtyBr7CSMIVqJtN6bMgCBzjItvOQcTPYJgA==} + '@shikijs/vitepress-twoslash@1.10.0': + resolution: {integrity: sha512-Qvua0BIb5uSDryLBkSRx8EX7cNwvTa2GDq53Yh7NbqhwFlYPVp3pnBaRtiDiyYl3Ng+rR2UAakMFiF4PTdnMFg==} '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -3126,8 +3126,8 @@ packages: '@types/linkify-it@5.0.0': resolution: {integrity: sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==} - '@types/lodash@4.17.5': - resolution: {integrity: sha512-MBIOHVZqVqgfro1euRDWX7OO0fBVUUMrN6Pwm8LQsz8cWhEpihlvR70ENj3f40j58TNxZaWv2ndSkInykNBBJw==} + '@types/lodash@4.17.6': + resolution: {integrity: sha512-OpXEVoCKSS3lQqjx9GGGOapBeuW5eUboYHRlHP9urXPX25IKZ6AnP5ZRxtVf63iieUbsHxLn8NQ5Nlftc6yzAA==} '@types/markdown-it@14.1.1': resolution: {integrity: sha512-4NpsnpYl2Gt1ljyBGrKMxFYAYvpqbnnkgP/i/g+NLpjEUa3obn1XJCur9YbEXKDAkaXqsR1LbDnGEJ0MmKFxfg==} @@ -3138,8 +3138,8 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/micromatch@4.0.7': - resolution: {integrity: sha512-C/FMQ8HJAZhTsDpl4wDKZdMeeW5USjgzOczUwTGbRc1ZopPgOhIEnxY2ZgUrsuyy4DwK1JVOJZKFakv3TbCKiA==} + '@types/micromatch@4.0.9': + resolution: {integrity: sha512-7V+8ncr22h4UoYRLnLXSpTxjQrNUXtWHGeMPRJt1nULXI57G9bIcpyrHlmrQ7QK24EyyuXvYcSSWAM8GA9nqCg==} '@types/mime@1.3.5': resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} @@ -3156,14 +3156,14 @@ packages: '@types/node@20.10.0': resolution: {integrity: sha512-D0WfRmU9TQ8I9PFx9Yc+EBHw+vSpIub4IDvQivcp26PtPrdMGAq5SDcpXEo/epqa/DXotVpekHiLNTg3iaKXBQ==} - '@types/node@20.14.8': - resolution: {integrity: sha512-DO+2/jZinXfROG7j7WKFn/3C6nFwxy2lLpgLjEXJz+0XKphZlTLJ14mo8Vfg8X5BWN6XjyESXq+LcYdT7tR3bA==} + '@types/node@20.14.9': + resolution: {integrity: sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - '@types/picomatch@2.3.3': - resolution: {integrity: sha512-Yll76ZHikRFCyz/pffKGjrCwe/le2CDwOP5F210KQo27kpRE46U2rDnzikNlVn6/ezH3Mhn46bJMTfeVTtcYMg==} + '@types/picomatch@2.3.4': + resolution: {integrity: sha512-0so8lU8O5zatZS/2Fi4zrwks+vZv7e0dygrgEZXljODXBig97l4cPQD+9LabXfGJOWwoRkTVz6Q4edZvD12UOA==} '@types/pnpapi@0.0.5': resolution: {integrity: sha512-tjymquatF9seZGE3GcN1barqNqpmyEpqIN0rBKTcoZWwgDC0SgBp5LFqCRJE6YhzXA7TjpXbpTdcL5A8cwyryw==} @@ -3201,8 +3201,8 @@ packages: '@types/ws@8.5.10': resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - '@typescript-eslint/eslint-plugin@7.13.1': - resolution: {integrity: sha512-kZqi+WZQaZfPKnsflLJQCz6Ze9FFSMfXrrIOcyargekQxG37ES7DJNpJUE9Q/X5n3yTIP/WPutVNzgknQ7biLg==} + '@typescript-eslint/eslint-plugin@7.15.0': + resolution: {integrity: sha512-uiNHpyjZtFrLwLDpHnzaDlP3Tt6sGMqTCiqmxaN4n4RP0EfYZDODJyddiFDF44Hjwxr5xAcaYxVKm9QKQFJFLA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -3212,8 +3212,8 @@ packages: typescript: optional: true - '@typescript-eslint/parser@7.13.1': - resolution: {integrity: sha512-1ELDPlnLvDQ5ybTSrMhRTFDfOQEOXNM+eP+3HT/Yq7ruWpciQw+Avi73pdEbA4SooCawEWo3dtYbF68gN7Ed1A==} + '@typescript-eslint/parser@7.15.0': + resolution: {integrity: sha512-k9fYuQNnypLFcqORNClRykkGOMOj+pV6V91R4GO/l1FDGwpqmSwoOQrOHo3cGaH63e+D3ZiCAOsuS/D2c99j/A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3226,8 +3226,12 @@ packages: resolution: {integrity: sha512-adbXNVEs6GmbzaCpymHQ0MB6E4TqoiVbC0iqG3uijR8ZYfpAXMGttouQzF4Oat3P2GxDVIrg7bMI/P65LiQZdg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/type-utils@7.13.1': - resolution: {integrity: sha512-aWDbLu1s9bmgPGXSzNCxELu+0+HQOapV/y+60gPXafR8e2g1Bifxzevaa+4L2ytCWm+CHqpELq4CSoN9ELiwCg==} + '@typescript-eslint/scope-manager@7.15.0': + resolution: {integrity: sha512-Q/1yrF/XbxOTvttNVPihxh1b9fxamjEoz2Os/Pe38OHwxC24CyCqXxGTOdpb4lt6HYtqw9HetA/Rf6gDGaMPlw==} + engines: {node: ^18.18.0 || >=20.0.0} + + '@typescript-eslint/type-utils@7.15.0': + resolution: {integrity: sha512-SkgriaeV6PDvpA6253PDVep0qCqgbO1IOBiycjnXsszNTVQe5flN5wR5jiczoEoDEnAqYFSFFc9al9BSGVltkg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3240,6 +3244,10 @@ packages: resolution: {integrity: sha512-7K7HMcSQIAND6RBL4kDl24sG/xKM13cA85dc7JnmQXw2cBDngg7c19B++JzvJHRG3zG36n9j1i451GBzRuHchw==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@7.15.0': + resolution: {integrity: sha512-aV1+B1+ySXbQH0pLK0rx66I3IkiZNidYobyfn0WFsdGhSXw+P3YOqeTq5GED458SfB24tg+ux3S+9g118hjlTw==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/typescript-estree@7.13.1': resolution: {integrity: sha512-uxNr51CMV7npU1BxZzYjoVz9iyjckBduFBP0S5sLlh1tXYzHzgZ3BR9SVsNed+LmwKrmnqN3Kdl5t7eZ5TS1Yw==} engines: {node: ^18.18.0 || >=20.0.0} @@ -3249,16 +3257,35 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@7.15.0': + resolution: {integrity: sha512-gjyB/rHAopL/XxfmYThQbXbzRMGhZzGw6KpcMbfe8Q3nNQKStpxnUKeXb0KiN/fFDR42Z43szs6rY7eHk0zdGQ==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@7.13.1': resolution: {integrity: sha512-h5MzFBD5a/Gh/fvNdp9pTfqJAbuQC4sCN2WzuXme71lqFJsZtLbjxfSk4r3p02WIArOF9N94pdsLiGutpDbrXQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@7.15.0': + resolution: {integrity: sha512-hfDMDqaqOqsUVGiEPSMLR/AjTSCsmJwjpKkYQRo1FNbmW4tBwBspYDwO9eh7sKSTwMQgBw9/T4DHudPaqshRWA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + '@typescript-eslint/visitor-keys@7.13.1': resolution: {integrity: sha512-k/Bfne7lrP7hcb7m9zSsgcBmo+8eicqqfNAJ7uUY+jkTFpKeH2FSkWpFRtimBxgkyvqfu9jTPRbYOvud6isdXA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@7.15.0': + resolution: {integrity: sha512-Hqgy/ETgpt2L5xueA/zHHIl4fJI2O4XUE9l4+OIfbJIRSnTJb/QscncdqqZzofQegIJugRIF57OJea1khw2SDw==} + engines: {node: ^18.18.0 || >=20.0.0} + '@typescript/vfs@1.5.0': resolution: {integrity: sha512-AJS307bPgbsZZ9ggCT3wwpg3VbTKMFNHfaY/uF0ahSkYYrPF2dSSKDNIDIQAHm9qJqbLvCsSJH7yN4Vs/CsMMg==} @@ -3525,35 +3552,35 @@ packages: '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - '@volar/language-core@2.3.0': - resolution: {integrity: sha512-pvhL24WUh3VDnv7Yw5N1sjhPtdx7q9g+Wl3tggmnkMcyK8GcCNElF2zHiKznryn0DiUGk+eez/p2qQhz+puuHw==} + '@volar/language-core@2.4.0-alpha.12': + resolution: {integrity: sha512-Dj9qTifcGGgzFLfMbU5dCo13kHyNuEyvPJhtWDnoVBBmgwW3GMwFmgWnNxBhjf63m5x0gux1okaxX2CLN7qSww==} - '@volar/source-map@2.3.0': - resolution: {integrity: sha512-G/228aZjAOGhDjhlyZ++nDbKrS9uk+5DMaEstjvzglaAw7nqtDyhnQAsYzUg6BMP9BtwZ59RIw5HGePrutn00Q==} + '@volar/source-map@2.4.0-alpha.12': + resolution: {integrity: sha512-LXATFSj4D7T9sEm7FFj6iBgHjKjrdhAgRPcechVKiNCMQdr3r3GVkkeu8aM+1peaMH3LsCqoDxVZEmh2r7CHiw==} '@vue/compiler-core@3.2.0': resolution: {integrity: sha512-+kfA4pisto26tcEh9Naf/qrizplYWnkBLHu3fX5Yu0c47RVBteVG3dHENFczl3Egwra+5NP5f3YuOgxK1ZMbNQ==} - '@vue/compiler-core@3.4.29': - resolution: {integrity: sha512-TFKiRkKKsRCKvg/jTSSKK7mYLJEQdUiUfykbG49rubC9SfDyvT2JrzTReopWlz2MxqeLyxh9UZhvxEIBgAhtrg==} - '@vue/compiler-core@3.4.30': resolution: {integrity: sha512-ZL8y4Xxdh8O6PSwfdZ1IpQ24PjTAieOz3jXb/MDTfDtANcKBMxg1KLm6OX2jofsaQGYfIVzd3BAG22i56/cF1w==} + '@vue/compiler-core@3.4.31': + resolution: {integrity: sha512-skOiodXWTV3DxfDhB4rOf3OGalpITLlgCeOwb+Y9GJpfQ8ErigdBUHomBzvG78JoVE8MJoQsb+qhZiHfKeNeEg==} + '@vue/compiler-dom@3.2.0': resolution: {integrity: sha512-CqfATmX04+58LNBTTUPRBLyYGLP0bxtL+8b7B8pEvXja7fpmxiYcKBQsdaXfyqoRJsaTzA7eVXQt/t0dYhu/SQ==} - '@vue/compiler-dom@3.4.29': - resolution: {integrity: sha512-A6+iZ2fKIEGnfPJejdB7b1FlJzgiD+Y/sxxKwJWg1EbJu6ZPgzaPQQ51ESGNv0CP6jm6Z7/pO6Ia8Ze6IKrX7w==} - '@vue/compiler-dom@3.4.30': resolution: {integrity: sha512-+16Sd8lYr5j/owCbr9dowcNfrHd+pz+w2/b5Lt26Oz/kB90C9yNbxQ3bYOvt7rI2bxk0nqda39hVcwDFw85c2Q==} - '@vue/compiler-sfc@3.4.30': - resolution: {integrity: sha512-8vElKklHn/UY8+FgUFlQrYAPbtiSB2zcgeRKW7HkpSRn/JjMRmZvuOtwDx036D1aqKNSTtXkWRfqx53Qb+HmMg==} + '@vue/compiler-dom@3.4.31': + resolution: {integrity: sha512-wK424WMXsG1IGMyDGyLqB+TbmEBFM78hIsOJ9QwUVLGrcSk0ak6zYty7Pj8ftm7nEtdU/DGQxAXp0/lM/2cEpQ==} - '@vue/compiler-ssr@3.4.30': - resolution: {integrity: sha512-ZJ56YZGXJDd6jky4mmM0rNaNP6kIbQu9LTKZDhcpddGe/3QIalB1WHHmZ6iZfFNyj5mSypTa4+qDJa5VIuxMSg==} + '@vue/compiler-sfc@3.4.31': + resolution: {integrity: sha512-einJxqEw8IIJxzmnxmJBuK2usI+lJonl53foq+9etB2HAzlPjAS/wa7r0uUpXw5ByX3/0uswVSrjNb17vJm1kQ==} + + '@vue/compiler-ssr@3.4.31': + resolution: {integrity: sha512-RtefmITAje3fJ8FSg1gwgDhdKhZVntIVbwupdyZDSifZTRMiWxWehAOTCc8/KZDnBOcYQ4/9VWxsTbd3wT0hAA==} '@vue/devtools-api@6.6.1': resolution: {integrity: sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA==} @@ -3569,8 +3596,8 @@ packages: '@vue/devtools-shared@7.2.1': resolution: {integrity: sha512-PCJF4UknJmOal68+X9XHyVeQ+idv0LFujkTOIW30+GaMJqwFVN9LkQKX4gLqn61KkGMdJTzQ1bt7EJag3TI6AA==} - '@vue/language-core@2.0.21': - resolution: {integrity: sha512-vjs6KwnCK++kIXT+eI63BGpJHfHNVJcUCr3RnvJsccT3vbJnZV5IhHR2puEkoOkIbDdp0Gqi1wEnv3hEd3WsxQ==} + '@vue/language-core@2.0.24': + resolution: {integrity: sha512-997YD6Lq/66LXr3ZOLNxDCmyn13z9NP8LU1UZn9hGCDWhzlbXAIP0hOgL3w3x4RKEaWTaaRtsHP9DzHvmduruQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -3580,25 +3607,25 @@ packages: '@vue/reactivity@3.2.0': resolution: {integrity: sha512-39L3UJe8+jYeCTM/QrDglDM05O11UrmyhazUOHOOj7+a9pPVu95HGInh5CkKQf98mx2gq6t3PPN8bCN5wK8Wwg==} - '@vue/reactivity@3.4.30': - resolution: {integrity: sha512-bVJurnCe3LS0JII8PPoAA63Zd2MBzcKrEzwdQl92eHCcxtIbxD2fhNwJpa+KkM3Y/A4T5FUnmdhgKwOf6BfbcA==} + '@vue/reactivity@3.4.31': + resolution: {integrity: sha512-VGkTani8SOoVkZNds1PfJ/T1SlAIOf8E58PGAhIOUDYPC4GAmFA2u/E14TDAFcf3vVDKunc4QqCe/SHr8xC65Q==} '@vue/runtime-core@3.2.0': resolution: {integrity: sha512-mZlkYTcw3mVwClwFTpql4hkDfOweHE/w+9r3Yb3UPwRs75bSJXMBRUikw1GVx01bZQ8VQPjBYowCElcWNSlKig==} - '@vue/runtime-core@3.4.30': - resolution: {integrity: sha512-qaFEbnNpGz+tlnkaualomogzN8vBLkgzK55uuWjYXbYn039eOBZrWxyXWq/7qh9Bz2FPifZqGjVDl/FXiq9L2g==} + '@vue/runtime-core@3.4.31': + resolution: {integrity: sha512-LDkztxeUPazxG/p8c5JDDKPfkCDBkkiNLVNf7XZIUnJ+66GVGkP+TIh34+8LtPisZ+HMWl2zqhIw0xN5MwU1cw==} '@vue/runtime-dom@3.2.0': resolution: {integrity: sha512-NCHMfrUwpJelCTINpMRLFhzWKJkl07slabmTbECZFJnkdDfFkptGCWll42q58bbvwGmpAPDzNI3yYch72pcKwg==} - '@vue/runtime-dom@3.4.30': - resolution: {integrity: sha512-tV6B4YiZRj5QsaJgw2THCy5C1H+2UeywO9tqgWEc21tn85qHEERndHN/CxlyXvSBFrpmlexCIdnqPuR9RM9thw==} + '@vue/runtime-dom@3.4.31': + resolution: {integrity: sha512-2Auws3mB7+lHhTFCg8E9ZWopA6Q6L455EcU7bzcQ4x6Dn4cCPuqj6S2oBZgN2a8vJRS/LSYYxwFFq2Hlx3Fsaw==} - '@vue/server-renderer@3.4.30': - resolution: {integrity: sha512-TBD3eqR1DeDc0cMrXS/vEs/PWzq1uXxnvjoqQuDGFIEHFIwuDTX/KWAQKIBjyMWLFHEeTDGYVsYci85z2UbTDg==} + '@vue/server-renderer@3.4.31': + resolution: {integrity: sha512-D5BLbdvrlR9PE3by9GaUp1gQXlCNadIZytMIb8H2h3FMWJd4oUfkUTEH2wAr3qxoRz25uxbTcbqd3WKlm9EHQA==} peerDependencies: - vue: 3.4.30 + vue: 3.4.31 '@vue/shared@3.2.0': resolution: {integrity: sha512-MgdilC3YHYSCFuNlxZBgugh8B9/h/h+nQ6lkeaxqFWW+FnV/JzCwW4Bh5bYIYvBleG8QZjFwxdmdqSAWLXzgEA==} @@ -3606,12 +3633,12 @@ packages: '@vue/shared@3.4.27': resolution: {integrity: sha512-DL3NmY2OFlqmYYrzp39yi3LDkKxa5vZVwxWdQ3rG0ekuWscHraeIbnI8t+aZK7qhYqEqWKTUdijadunb9pnrgA==} - '@vue/shared@3.4.29': - resolution: {integrity: sha512-hQ2gAQcBO/CDpC82DCrinJNgOHI2v+FA7BDW4lMSPeBpQ7sRe2OLHWe5cph1s7D8DUQAwRt18dBDfJJ220APEA==} - '@vue/shared@3.4.30': resolution: {integrity: sha512-CLg+f8RQCHQnKvuHY9adMsMaQOcqclh6Z5V9TaoMgy0ut0tz848joZ7/CYFFyF/yZ5i2yaw7Fn498C+CNZVHIg==} + '@vue/shared@3.4.31': + resolution: {integrity: sha512-Yp3wtJk//8cO4NItOPpi3QkLExAr/aLBGZMmTtW9WpdwBCJpRM6zj9WgWktXAl8IDIozwNMByT45JP3tO3ACWA==} + '@vueuse/core@10.10.0': resolution: {integrity: sha512-vexJ/YXYs2S42B783rI95lMt3GzEwkxzC8Hb0Ndpd8rD+p+Lk/Za4bd797Ym7yq4jXqdSyj3JLChunF/vyYjUw==} @@ -4372,8 +4399,8 @@ packages: peerDependencies: eslint: '>=8' - eslint-plugin-import-x@0.5.1: - resolution: {integrity: sha512-2JK8bbFOLes+gG6tgdnM8safCxMAj4u2wjX8X1BRFPfnY7Ct2hFYESoIcVwABX/DDcdpQFLGtKmzbNEWJZD9iQ==} + eslint-plugin-import-x@0.5.3: + resolution: {integrity: sha512-hJ/wkMcsLQXAZL3+txXIDpbW5cqwdm1rLTqV4VRY03aIbzE3zWE7rPZKW6Gzf7xyl1u3V1iYC6tOG77d9NF4GQ==} engines: {node: '>=16'} peerDependencies: eslint: ^8.56.0 || ^9.0.0-0 @@ -4402,8 +4429,8 @@ packages: resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.5.0: - resolution: {integrity: sha512-+NAOZFrW/jFTS3dASCGBxX1pkFD0/fsO+hfAkJ4TyYKwgsXZbqzrw+seCYFCcPCYXvnD67tAnglU7GQTz6kcVw==} + eslint@9.6.0: + resolution: {integrity: sha512-ElQkdLMEEqQNM9Njff+2Y4q2afHk7JpkPvrd7Xh7xefwgQynqPxwf55J7di9+MEibWUGdNjFF9ITG9Pck5M84w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true @@ -4697,8 +4724,8 @@ packages: resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} engines: {node: '>=18'} - globals@15.6.0: - resolution: {integrity: sha512-UzcJi88Hw//CurUIRa9Jxb0vgOCcuD/MNjwmXp633cyaRKkCWACkoqHCtfZv43b1kqXGg/fpOa8bwgacCeXsVg==} + globals@15.7.0: + resolution: {integrity: sha512-ivatRXWwKC6ImcdKO7dOwXuXR5XFrdwo45qFwD7D0qOkEPzzJdLXC3BHceBdyrPOD3p1suPaWi4Y4NMm2D++AQ==} engines: {node: '>=18'} globby@11.1.0: @@ -5352,8 +5379,8 @@ packages: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} - miniflare@3.20240610.1: - resolution: {integrity: sha512-ZkfSpBmX3nJW00yYhvF2kGvjb6f77TOimRR6+2GQvsArbwo6e0iYqLGM9aB/cnJzgFjLMvOv1qj4756iynSxJQ==} + miniflare@3.20240620.0: + resolution: {integrity: sha512-NBMzqUE2mMlh/hIdt6U5MP+aFhEjKDq3l8CAajXAQa1WkndJdciWvzB2mfLETwoVFhMl/lphaVzyEN2AgwJpbQ==} engines: {node: '>=16.13'} hasBin: true @@ -5712,14 +5739,14 @@ packages: pkg-types@1.1.1: resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} - playwright-chromium@1.44.1: - resolution: {integrity: sha512-S35fvljThsCDhUiGSYST3MkT7hsUvNA6SC+fAaBxKLUdOkc6ohatxD+A5HoN7fEK3zE+yI0ARANSGRHTHJR6UQ==} - engines: {node: '>=16'} + playwright-chromium@1.45.0: + resolution: {integrity: sha512-wKZ1NeRZSXp25bYL00X4REv/3mgZQ6QUC6OGTfYZY/YZyorbC/3Fr1WATCB/yF9SCd79gSWBzRCYv4Bf7DzW7g==} + engines: {node: '>=18'} hasBin: true - playwright-core@1.44.1: - resolution: {integrity: sha512-wh0JWtYTrhv1+OSsLPgFzGzt67Y7BE/ZS3jEqgGBlp2ppp1ZDj8c+9IARNW4dwf1poq5MgHreEM2KV/GuR4cFA==} - engines: {node: '>=16'} + playwright-core@1.45.0: + resolution: {integrity: sha512-lZmHlFQ0VYSpAs43dRq1/nJ9G/6SiTI7VPqidld9TDefL9tX87bTKExWZZUF5PeRyqtXqd8fQi2qmfIedkwsNQ==} + engines: {node: '>=18'} hasBin: true postcss-import@15.1.0: @@ -5794,8 +5821,8 @@ packages: postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + postcss@8.4.39: + resolution: {integrity: sha512-0vzE+lAiG7hZl1/9I8yzKLx3aR9Xbof3fBHKunvMfOCYAtMhrsnccJY2iTURb9EZd5+pLuiNV9/c/GZJOHsgIw==} engines: {node: ^10 || ^12 || >=14} preact@10.7.3: @@ -6127,12 +6154,12 @@ packages: shell-quote@1.8.1: resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + shiki@1.10.0: + resolution: {integrity: sha512-YD2sXQ+TMD/F9BimV9Jn0wj35pqOvywvOG/3PB6hGHyGKlM7TJ9tyJ02jOb2kF8F0HfJwKNYrh3sW7jEcuRlXA==} + shiki@1.6.3: resolution: {integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==} - shiki@1.9.0: - resolution: {integrity: sha512-i6//Lqgn7+7nZA0qVjoYH0085YdNk4MC+tJV4bo+HgjgRMJ0JmkLZzFAuvVioJqLkcGDK5GAMpghZEZkCnwxpQ==} - side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} @@ -6220,6 +6247,9 @@ packages: resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} engines: {node: '>=0.10.0'} + stable-hash@0.0.4: + resolution: {integrity: sha512-LjdcbuBeLcdETCrPn9i8AYAZ1eCtu4ECAWtP7UleOiZ9LzVxRzzUZEoZ8zB24nhkQnDWyET0I+3sWokSDS3E7g==} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -6430,21 +6460,21 @@ packages: tslib@2.6.3: resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} - tsx@4.15.7: - resolution: {integrity: sha512-u3H0iSFDZM3za+VxkZ1kywdCeHCn+8/qHQS1MNoO2sONDgD95HlWtt8aB23OzeTmFP9IU4/8bZUdg58Uu5J4cg==} + tsx@4.16.0: + resolution: {integrity: sha512-MPgN+CuY+4iKxGoJNPv+1pyo5YWZAQ5XfsyobUG+zoKG7IkvCPLZDEyoIb8yLS2FcWci1nlxAqmvPlFWD5AFiQ==} engines: {node: '>=18.0.0'} hasBin: true - twoslash-protocol@0.2.8: - resolution: {integrity: sha512-8l439jrFEJiQmQ6ugFtYXgHpQDp3nBYVF6RR88doLarFGWhjfq0sgntgQYc2aDmJb87Jzhh4EicV8k9DrqpIZg==} + twoslash-protocol@0.2.9: + resolution: {integrity: sha512-uKQl8UboT6JU4VAtYaSI3DbNtgaNhFaTpCSMy/n3tRl5lMlMhrjiuNKdqx15xjcviconuGJ9oObkz1h9zJFrJg==} - twoslash-vue@0.2.8: - resolution: {integrity: sha512-46I4TA0FNquQ++AKc2mKS8EV7ElQEP34dGi7T9mQm7y1/r5HH16zmq+Er9LUtomasFLue+Jb87B+qElbF2yYMw==} + twoslash-vue@0.2.9: + resolution: {integrity: sha512-1f/AMB7jvifOMWjG2xdqnEywmkt+U2xef2TBfXugZasNDkqeTwdHCRGafi37Kk6smyzYYj2JLemMECfdSjWwoQ==} peerDependencies: typescript: '*' - twoslash@0.2.8: - resolution: {integrity: sha512-mQiUB4SvBF58FJkEEtXvVhTO1h0oDpTZuEAyaC8xwf4P6392ydSFhsMiUBbJEOvaelN9DLesViopn3E9O2GKOA==} + twoslash@0.2.9: + resolution: {integrity: sha512-oj7XY6h8E9nTZBmfRE1gpsSSUqAQo5kcIpFkXyQPp8UCsyCQsUlP2bJ2s32o02c1n5+xl4h9rcCsQ1F97Z6LZg==} peerDependencies: typescript: '*' @@ -6474,8 +6504,8 @@ packages: type@2.7.2: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - typescript-eslint@7.13.1: - resolution: {integrity: sha512-pvLEuRs8iS9s3Cnp/Wt//hpK8nKc8hVa3cLljHqzaJJQYP8oys8GUyIFqtlev+2lT/fqMPcyQko+HJ6iYK3nFA==} + typescript-eslint@7.15.0: + resolution: {integrity: sha512-Ta40FhMXBCwHura4X4fncaCVkVcnJ9jnOq5+Lp4lN8F4DzHZtOwZdRvVBiNUGznUDHPwdGnrnwxmUOU2fFQqFA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -6668,8 +6698,8 @@ packages: vue@3.2.0: resolution: {integrity: sha512-eMo5yCdkWRmBfqp/acBI/Y1Omgk0NyGqPViaU66eOpKarXNtkdImzDA57+E76jnWVr6MEp/rg1n0vnxaVvALMQ==} - vue@3.4.30: - resolution: {integrity: sha512-NcxtKCwkdf1zPsr7Y8+QlDBCGqxvjLXF2EX+yi76rV5rrz90Y6gK1cq0olIhdWGgrlhs9ElHuhi9t3+W5sG5Xw==} + vue@3.4.31: + resolution: {integrity: sha512-njqRrOy7W3YLAlVqSKpBebtZpDVg21FPoaq1I7f/+qqBThK9ChAIjkRWgeP6Eat+8C+iia4P3OYqpATP21BCoQ==} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -6711,8 +6741,8 @@ packages: wordwrap@1.0.0: resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - workerd@1.20240610.1: - resolution: {integrity: sha512-Rtut5GrsODQMh6YU43b9WZ980Wd05Ov1/ds88pT/SoetmXFBvkBzdRfiHiATv+azmGX8KveE0i/Eqzk/yI01ug==} + workerd@1.20240620.1: + resolution: {integrity: sha512-Qoq+RrFNk4pvEO+kpJVn8uJ5TRE9YJx5jX5pC5LjdKlw1XeD8EdXt5k0TbByvWunZ4qgYIcF9lnVxhcDFo203g==} engines: {node: '>=16'} hasBin: true @@ -7695,19 +7725,19 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@cloudflare/workerd-darwin-64@1.20240610.1': + '@cloudflare/workerd-darwin-64@1.20240620.1': optional: true - '@cloudflare/workerd-darwin-arm64@1.20240610.1': + '@cloudflare/workerd-darwin-arm64@1.20240620.1': optional: true - '@cloudflare/workerd-linux-64@1.20240610.1': + '@cloudflare/workerd-linux-64@1.20240620.1': optional: true - '@cloudflare/workerd-linux-arm64@1.20240610.1': + '@cloudflare/workerd-linux-arm64@1.20240620.1': optional: true - '@cloudflare/workerd-windows-64@1.20240610.1': + '@cloudflare/workerd-windows-64@1.20240620.1': optional: true '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.0.0)': @@ -7951,16 +7981,16 @@ snapshots: '@esbuild/win32-x64@0.21.5': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@9.5.0)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.6.0)': dependencies: - eslint: 9.5.0 + eslint: 9.6.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.1': {} '@eslint-community/regexpp@4.9.1': {} - '@eslint/config-array@0.16.0': + '@eslint/config-array@0.17.0': dependencies: '@eslint/object-schema': 2.1.4 debug: 4.3.5 @@ -7982,7 +8012,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.5.0': {} + '@eslint/js@9.6.0': {} '@eslint/object-schema@2.1.4': {} @@ -8228,33 +8258,33 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@shikijs/core@1.6.3': {} + '@shikijs/core@1.10.0': {} - '@shikijs/core@1.9.0': {} + '@shikijs/core@1.6.3': {} '@shikijs/transformers@1.6.3': dependencies: shiki: 1.6.3 - '@shikijs/twoslash@1.9.0(typescript@5.2.2)': + '@shikijs/twoslash@1.10.0(typescript@5.2.2)': dependencies: - '@shikijs/core': 1.9.0 - twoslash: 0.2.8(typescript@5.2.2) + '@shikijs/core': 1.10.0 + twoslash: 0.2.9(typescript@5.2.2) transitivePeerDependencies: - supports-color - typescript - '@shikijs/vitepress-twoslash@1.9.0(typescript@5.2.2)': + '@shikijs/vitepress-twoslash@1.10.0(typescript@5.2.2)': dependencies: - '@shikijs/twoslash': 1.9.0(typescript@5.2.2) - floating-vue: 5.2.2(vue@3.4.30(typescript@5.2.2)) + '@shikijs/twoslash': 1.10.0(typescript@5.2.2) + floating-vue: 5.2.2(vue@3.4.31(typescript@5.2.2)) mdast-util-from-markdown: 2.0.1 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 - shiki: 1.9.0 - twoslash: 0.2.8(typescript@5.2.2) - twoslash-vue: 0.2.8(typescript@5.2.2) - vue: 3.4.30(typescript@5.2.2) + shiki: 1.10.0 + twoslash: 0.2.9(typescript@5.2.2) + twoslash-vue: 0.2.9(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) transitivePeerDependencies: - '@nuxt/kit' - supports-color @@ -8298,19 +8328,19 @@ snapshots: '@types/body-parser@1.19.5': dependencies: '@types/connect': 3.4.38 - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/braces@3.0.1': {} '@types/connect@3.4.38': dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/convert-source-map@2.0.3': {} '@types/cross-spawn@6.0.6': dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/debug@4.1.12': dependencies: @@ -8326,11 +8356,11 @@ snapshots: '@types/etag@1.8.3': dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/express-serve-static-core@4.17.43': dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/qs': 6.9.12 '@types/range-parser': 1.2.7 '@types/send': 0.17.4 @@ -8345,7 +8375,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.1 - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/hast@3.0.4': dependencies: @@ -8355,13 +8385,13 @@ snapshots: '@types/jsonfile@6.1.1': dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/less@3.0.6': {} '@types/linkify-it@5.0.0': {} - '@types/lodash@4.17.5': {} + '@types/lodash@4.17.6': {} '@types/markdown-it@14.1.1': dependencies: @@ -8374,7 +8404,7 @@ snapshots: '@types/mdurl@2.0.0': {} - '@types/micromatch@4.0.7': + '@types/micromatch@4.0.9': dependencies: '@types/braces': 3.0.1 @@ -8390,13 +8420,13 @@ snapshots: dependencies: undici-types: 5.26.5 - '@types/node@20.14.8': + '@types/node@20.14.9': dependencies: undici-types: 5.26.5 '@types/normalize-package-data@2.4.4': {} - '@types/picomatch@2.3.3': {} + '@types/picomatch@2.3.4': {} '@types/pnpapi@0.0.5': {} @@ -8416,17 +8446,17 @@ snapshots: '@types/send@0.17.4': dependencies: '@types/mime': 1.3.5 - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/serve-static@1.15.5': dependencies: '@types/http-errors': 2.0.4 '@types/mime': 3.0.4 - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/stylus@0.48.42': dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 '@types/unist@3.0.2': {} @@ -8434,17 +8464,17 @@ snapshots: '@types/ws@8.5.10': dependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 - '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2))(eslint@9.5.0)(typescript@5.2.2)': + '@typescript-eslint/eslint-plugin@7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.2.2))(eslint@9.6.0)(typescript@5.2.2)': dependencies: '@eslint-community/regexpp': 4.10.1 - '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.2.2) - '@typescript-eslint/scope-manager': 7.13.1 - '@typescript-eslint/type-utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.13.1 - eslint: 9.5.0 + '@typescript-eslint/parser': 7.15.0(eslint@9.6.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/type-utils': 7.15.0(eslint@9.6.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.15.0(eslint@9.6.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.15.0 + eslint: 9.6.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -8454,14 +8484,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2)': + '@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.2.2)': dependencies: - '@typescript-eslint/scope-manager': 7.13.1 - '@typescript-eslint/types': 7.13.1 - '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) - '@typescript-eslint/visitor-keys': 7.13.1 + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 7.15.0 debug: 4.3.5 - eslint: 9.5.0 + eslint: 9.6.0 optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -8472,12 +8502,17 @@ snapshots: '@typescript-eslint/types': 7.13.1 '@typescript-eslint/visitor-keys': 7.13.1 - '@typescript-eslint/type-utils@7.13.1(eslint@9.5.0)(typescript@5.2.2)': + '@typescript-eslint/scope-manager@7.15.0': dependencies: - '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 + + '@typescript-eslint/type-utils@7.15.0(eslint@9.6.0)(typescript@5.2.2)': + dependencies: + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.2.2) + '@typescript-eslint/utils': 7.15.0(eslint@9.6.0)(typescript@5.2.2) debug: 4.3.5 - eslint: 9.5.0 + eslint: 9.6.0 ts-api-utils: 1.3.0(typescript@5.2.2) optionalDependencies: typescript: 5.2.2 @@ -8486,6 +8521,8 @@ snapshots: '@typescript-eslint/types@7.13.1': {} + '@typescript-eslint/types@7.15.0': {} + '@typescript-eslint/typescript-estree@7.13.1(typescript@5.2.2)': dependencies: '@typescript-eslint/types': 7.13.1 @@ -8501,13 +8538,39 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@7.13.1(eslint@9.5.0)(typescript@5.2.2)': + '@typescript-eslint/typescript-estree@7.15.0(typescript@5.2.2)': + dependencies: + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/visitor-keys': 7.15.0 + debug: 4.3.5 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.2.2) + optionalDependencies: + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.13.1(eslint@9.6.0)(typescript@5.2.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/types': 7.13.1 '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.2.2) - eslint: 9.5.0 + eslint: 9.6.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@7.15.0(eslint@9.6.0)(typescript@5.2.2)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) + '@typescript-eslint/scope-manager': 7.15.0 + '@typescript-eslint/types': 7.15.0 + '@typescript-eslint/typescript-estree': 7.15.0(typescript@5.2.2) + eslint: 9.6.0 transitivePeerDependencies: - supports-color - typescript @@ -8517,6 +8580,11 @@ snapshots: '@typescript-eslint/types': 7.13.1 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@7.15.0': + dependencies: + '@typescript-eslint/types': 7.15.0 + eslint-visitor-keys: 3.4.3 + '@typescript/vfs@1.5.0': dependencies: debug: 4.3.5 @@ -8527,10 +8595,10 @@ snapshots: '@vitejs/longfilename-aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@file:playground/optimize-deps/longfilename': {} - '@vitejs/plugin-vue@5.0.5(vite@packages+vite)(vue@3.4.30(typescript@5.2.2))': + '@vitejs/plugin-vue@5.0.5(vite@packages+vite)(vue@3.4.31(typescript@5.2.2))': dependencies: vite: link:packages/vite - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) '@vitejs/release-scripts@1.3.1': dependencies: @@ -8613,7 +8681,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) transitivePeerDependencies: - typescript @@ -8621,7 +8689,7 @@ snapshots: dependencies: slash3: slash@3.0.0 slash5: slash@5.1.0 - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) transitivePeerDependencies: - typescript @@ -8750,13 +8818,11 @@ snapshots: loupe: 2.3.7 pretty-format: 29.7.0 - '@volar/language-core@2.3.0': + '@volar/language-core@2.4.0-alpha.12': dependencies: - '@volar/source-map': 2.3.0 + '@volar/source-map': 2.4.0-alpha.12 - '@volar/source-map@2.3.0': - dependencies: - muggle-string: 0.4.1 + '@volar/source-map@2.4.0-alpha.12': {} '@vue/compiler-core@3.2.0': dependencies: @@ -8766,18 +8832,18 @@ snapshots: estree-walker: 2.0.2 source-map: 0.6.1 - '@vue/compiler-core@3.4.29': + '@vue/compiler-core@3.4.30': dependencies: '@babel/parser': 7.24.7 - '@vue/shared': 3.4.29 + '@vue/shared': 3.4.30 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-core@3.4.30': + '@vue/compiler-core@3.4.31': dependencies: '@babel/parser': 7.24.7 - '@vue/shared': 3.4.30 + '@vue/shared': 3.4.31 entities: 4.5.0 estree-walker: 2.0.2 source-map-js: 1.2.0 @@ -8787,61 +8853,62 @@ snapshots: '@vue/compiler-core': 3.2.0 '@vue/shared': 3.2.0 - '@vue/compiler-dom@3.4.29': - dependencies: - '@vue/compiler-core': 3.4.29 - '@vue/shared': 3.4.29 - '@vue/compiler-dom@3.4.30': dependencies: '@vue/compiler-core': 3.4.30 '@vue/shared': 3.4.30 - '@vue/compiler-sfc@3.4.30': + '@vue/compiler-dom@3.4.31': + dependencies: + '@vue/compiler-core': 3.4.31 + '@vue/shared': 3.4.31 + + '@vue/compiler-sfc@3.4.31': dependencies: '@babel/parser': 7.24.7 - '@vue/compiler-core': 3.4.30 - '@vue/compiler-dom': 3.4.30 - '@vue/compiler-ssr': 3.4.30 - '@vue/shared': 3.4.30 + '@vue/compiler-core': 3.4.31 + '@vue/compiler-dom': 3.4.31 + '@vue/compiler-ssr': 3.4.31 + '@vue/shared': 3.4.31 estree-walker: 2.0.2 magic-string: 0.30.10 - postcss: 8.4.38 + postcss: 8.4.39 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.30': + '@vue/compiler-ssr@3.4.31': dependencies: - '@vue/compiler-dom': 3.4.30 - '@vue/shared': 3.4.30 + '@vue/compiler-dom': 3.4.31 + '@vue/shared': 3.4.31 '@vue/devtools-api@6.6.1': {} - '@vue/devtools-api@7.2.1(vue@3.4.30(typescript@5.2.2))': + '@vue/devtools-api@7.2.1(vue@3.4.31(typescript@5.2.2))': dependencies: - '@vue/devtools-kit': 7.2.1(vue@3.4.30(typescript@5.2.2)) + '@vue/devtools-kit': 7.2.1(vue@3.4.31(typescript@5.2.2)) transitivePeerDependencies: - vue - '@vue/devtools-kit@7.2.1(vue@3.4.30(typescript@5.2.2))': + '@vue/devtools-kit@7.2.1(vue@3.4.31(typescript@5.2.2))': dependencies: '@vue/devtools-shared': 7.2.1 hookable: 5.5.3 mitt: 3.0.1 perfect-debounce: 1.0.0 speakingurl: 14.0.1 - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) '@vue/devtools-shared@7.2.1': dependencies: rfdc: 1.3.1 - '@vue/language-core@2.0.21(typescript@5.2.2)': + '@vue/language-core@2.0.24(typescript@5.2.2)': dependencies: - '@volar/language-core': 2.3.0 - '@vue/compiler-dom': 3.4.29 - '@vue/shared': 3.4.30 + '@volar/language-core': 2.4.0-alpha.12 + '@vue/compiler-dom': 3.4.30 + '@vue/shared': 3.4.31 computeds: 0.0.1 minimatch: 9.0.4 + muggle-string: 0.4.1 path-browserify: 1.0.1 vue-template-compiler: 2.7.16 optionalDependencies: @@ -8851,19 +8918,19 @@ snapshots: dependencies: '@vue/shared': 3.2.0 - '@vue/reactivity@3.4.30': + '@vue/reactivity@3.4.31': dependencies: - '@vue/shared': 3.4.30 + '@vue/shared': 3.4.31 '@vue/runtime-core@3.2.0': dependencies: '@vue/reactivity': 3.2.0 '@vue/shared': 3.2.0 - '@vue/runtime-core@3.4.30': + '@vue/runtime-core@3.4.31': dependencies: - '@vue/reactivity': 3.4.30 - '@vue/shared': 3.4.30 + '@vue/reactivity': 3.4.31 + '@vue/shared': 3.4.31 '@vue/runtime-dom@3.2.0': dependencies: @@ -8871,42 +8938,42 @@ snapshots: '@vue/shared': 3.2.0 csstype: 2.6.21 - '@vue/runtime-dom@3.4.30': + '@vue/runtime-dom@3.4.31': dependencies: - '@vue/reactivity': 3.4.30 - '@vue/runtime-core': 3.4.30 - '@vue/shared': 3.4.30 + '@vue/reactivity': 3.4.31 + '@vue/runtime-core': 3.4.31 + '@vue/shared': 3.4.31 csstype: 3.1.3 - '@vue/server-renderer@3.4.30(vue@3.4.30(typescript@5.2.2))': + '@vue/server-renderer@3.4.31(vue@3.4.31(typescript@5.2.2))': dependencies: - '@vue/compiler-ssr': 3.4.30 - '@vue/shared': 3.4.30 - vue: 3.4.30(typescript@5.2.2) + '@vue/compiler-ssr': 3.4.31 + '@vue/shared': 3.4.31 + vue: 3.4.31(typescript@5.2.2) '@vue/shared@3.2.0': {} '@vue/shared@3.4.27': {} - '@vue/shared@3.4.29': {} - '@vue/shared@3.4.30': {} - '@vueuse/core@10.10.0(vue@3.4.30(typescript@5.2.2))': + '@vue/shared@3.4.31': {} + + '@vueuse/core@10.10.0(vue@3.4.31(typescript@5.2.2))': dependencies: '@types/web-bluetooth': 0.0.20 '@vueuse/metadata': 10.10.0 - '@vueuse/shared': 10.10.0(vue@3.4.30(typescript@5.2.2)) - vue-demi: 0.14.7(vue@3.4.30(typescript@5.2.2)) + '@vueuse/shared': 10.10.0(vue@3.4.31(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.31(typescript@5.2.2)) transitivePeerDependencies: - '@vue/composition-api' - vue - '@vueuse/integrations@10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.30(typescript@5.2.2))': + '@vueuse/integrations@10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.31(typescript@5.2.2))': dependencies: - '@vueuse/core': 10.10.0(vue@3.4.30(typescript@5.2.2)) - '@vueuse/shared': 10.10.0(vue@3.4.30(typescript@5.2.2)) - vue-demi: 0.14.7(vue@3.4.30(typescript@5.2.2)) + '@vueuse/core': 10.10.0(vue@3.4.31(typescript@5.2.2)) + '@vueuse/shared': 10.10.0(vue@3.4.31(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.31(typescript@5.2.2)) optionalDependencies: axios: 1.7.2 focus-trap: 7.5.4 @@ -8916,9 +8983,9 @@ snapshots: '@vueuse/metadata@10.10.0': {} - '@vueuse/shared@10.10.0(vue@3.4.30(typescript@5.2.2))': + '@vueuse/shared@10.10.0(vue@3.4.31(typescript@5.2.2))': dependencies: - vue-demi: 0.14.7(vue@3.4.30(typescript@5.2.2)) + vue-demi: 0.14.7(vue@3.4.31(typescript@5.2.2)) transitivePeerDependencies: - '@vue/composition-api' - vue @@ -9036,14 +9103,14 @@ snapshots: asynckit@0.4.0: {} - autoprefixer@10.4.19(postcss@8.4.38): + autoprefixer@10.4.19(postcss@8.4.39): dependencies: browserslist: 4.23.1 caniuse-lite: 1.0.30001600 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.1 - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 axios@1.7.2: @@ -9646,9 +9713,9 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-compat-utils@0.1.2(eslint@9.5.0): + eslint-compat-utils@0.1.2(eslint@9.6.0): dependencies: - eslint: 9.5.0 + eslint: 9.6.0 eslint-import-resolver-node@0.3.9: dependencies: @@ -9658,47 +9725,48 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-es-x@7.5.0(eslint@9.5.0): + eslint-plugin-es-x@7.5.0(eslint@9.6.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@eslint-community/regexpp': 4.10.1 - eslint: 9.5.0 - eslint-compat-utils: 0.1.2(eslint@9.5.0) + eslint: 9.6.0 + eslint-compat-utils: 0.1.2(eslint@9.6.0) - eslint-plugin-import-x@0.5.1(eslint@9.5.0)(typescript@5.2.2): + eslint-plugin-import-x@0.5.3(eslint@9.6.0)(typescript@5.2.2): dependencies: - '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.13.1(eslint@9.6.0)(typescript@5.2.2) debug: 4.3.5 doctrine: 3.0.0 - eslint: 9.5.0 + eslint: 9.6.0 eslint-import-resolver-node: 0.3.9 get-tsconfig: 4.7.5 is-glob: 4.0.3 minimatch: 9.0.4 semver: 7.6.0 + stable-hash: 0.0.4 tslib: 2.6.3 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-n@17.9.0(eslint@9.5.0): + eslint-plugin-n@17.9.0(eslint@9.6.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) enhanced-resolve: 5.17.0 - eslint: 9.5.0 - eslint-plugin-es-x: 7.5.0(eslint@9.5.0) + eslint: 9.6.0 + eslint-plugin-es-x: 7.5.0(eslint@9.6.0) get-tsconfig: 4.7.5 - globals: 15.6.0 + globals: 15.7.0 ignore: 5.3.1 minimatch: 9.0.4 semver: 7.6.0 - eslint-plugin-regexp@2.6.0(eslint@9.5.0): + eslint-plugin-regexp@2.6.0(eslint@9.6.0): dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@eslint-community/regexpp': 4.9.1 comment-parser: 1.4.0 - eslint: 9.5.0 + eslint: 9.6.0 jsdoc-type-pratt-parser: 4.0.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 @@ -9713,13 +9781,13 @@ snapshots: eslint-visitor-keys@4.0.0: {} - eslint@9.5.0: + eslint@9.6.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.6.0) '@eslint-community/regexpp': 4.10.1 - '@eslint/config-array': 0.16.0 + '@eslint/config-array': 0.17.0 '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.5.0 + '@eslint/js': 9.6.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.3.0 '@nodelib/fs.walk': 1.2.8 @@ -9948,11 +10016,11 @@ snapshots: flatted@3.3.1: {} - floating-vue@5.2.2(vue@3.4.30(typescript@5.2.2)): + floating-vue@5.2.2(vue@3.4.31(typescript@5.2.2)): dependencies: '@floating-ui/dom': 1.1.1 - vue: 3.4.30(typescript@5.2.2) - vue-resize: 2.0.0-alpha.1(vue@3.4.30(typescript@5.2.2)) + vue: 3.4.31(typescript@5.2.2) + vue-resize: 2.0.0-alpha.1(vue@3.4.31(typescript@5.2.2)) focus-trap@7.5.4: dependencies: @@ -10123,7 +10191,7 @@ snapshots: globals@14.0.0: {} - globals@15.6.0: {} + globals@15.7.0: {} globby@11.1.0: dependencies: @@ -10225,9 +10293,9 @@ snapshots: safer-buffer: 2.1.2 optional: true - icss-utils@5.1.0(postcss@8.4.38): + icss-utils@5.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 ignore-walk@5.0.1: dependencies: @@ -10859,7 +10927,7 @@ snapshots: mimic-fn@4.0.0: {} - miniflare@3.20240610.1: + miniflare@3.20240620.0: dependencies: '@cspotcode/source-map-support': 0.8.1 acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) @@ -10869,7 +10937,7 @@ snapshots: glob-to-regexp: 0.4.1 stoppable: 1.1.0 undici: 5.28.4 - workerd: 1.20240610.1 + workerd: 1.20240620.1 ws: 8.17.1 youch: 3.2.3 zod: 3.22.4 @@ -11197,75 +11265,75 @@ snapshots: mlly: 1.7.1 pathe: 1.1.2 - playwright-chromium@1.44.1: + playwright-chromium@1.45.0: dependencies: - playwright-core: 1.44.1 + playwright-core: 1.45.0 - playwright-core@1.44.1: {} + playwright-core@1.45.0: {} - postcss-import@15.1.0(postcss@8.4.38): + postcss-import@15.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 - postcss-import@16.1.0(postcss@8.4.38): + postcss-import@16.1.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.4 - postcss-js@4.0.1(postcss@8.4.38): + postcss-js@4.0.1(postcss@8.4.39): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.38 + postcss: 8.4.39 - postcss-load-config@4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)): + postcss-load-config@4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2)): dependencies: lilconfig: 3.0.0 yaml: 2.3.4 optionalDependencies: - postcss: 8.4.38 - ts-node: 10.9.2(@types/node@20.14.8)(typescript@5.2.2) + postcss: 8.4.39 + ts-node: 10.9.2(@types/node@20.14.9)(typescript@5.2.2) - postcss-modules-extract-imports@3.0.0(postcss@8.4.38): + postcss-modules-extract-imports@3.0.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 - postcss-modules-local-by-default@4.0.0(postcss@8.4.38): + postcss-modules-local-by-default@4.0.0(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 postcss-selector-parser: 6.0.11 postcss-value-parser: 4.2.0 - postcss-modules-scope@3.0.0(postcss@8.4.38): + postcss-modules-scope@3.0.0(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.11 - postcss-modules-values@4.0.0(postcss@8.4.38): + postcss-modules-values@4.0.0(postcss@8.4.39): dependencies: - icss-utils: 5.1.0(postcss@8.4.38) - postcss: 8.4.38 + icss-utils: 5.1.0(postcss@8.4.39) + postcss: 8.4.39 - postcss-modules@6.0.0(postcss@8.4.38): + postcss-modules@6.0.0(postcss@8.4.39): dependencies: generic-names: 4.0.0 - icss-utils: 5.1.0(postcss@8.4.38) + icss-utils: 5.1.0(postcss@8.4.39) lodash.camelcase: 4.3.0 - postcss: 8.4.38 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.38) - postcss-modules-local-by-default: 4.0.0(postcss@8.4.38) - postcss-modules-scope: 3.0.0(postcss@8.4.38) - postcss-modules-values: 4.0.0(postcss@8.4.38) + postcss: 8.4.39 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.39) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.39) + postcss-modules-scope: 3.0.0(postcss@8.4.39) + postcss-modules-values: 4.0.0(postcss@8.4.39) string-hash: 1.1.3 - postcss-nested@6.0.1(postcss@8.4.38): + postcss-nested@6.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 postcss-selector-parser: 6.0.11 postcss-selector-parser@6.0.11: @@ -11275,7 +11343,7 @@ snapshots: postcss-value-parser@4.2.0: {} - postcss@8.4.38: + postcss@8.4.39: dependencies: nanoid: 3.3.7 picocolors: 1.0.1 @@ -11676,13 +11744,13 @@ snapshots: shell-quote@1.8.1: {} - shiki@1.6.3: + shiki@1.10.0: dependencies: - '@shikijs/core': 1.6.3 + '@shikijs/core': 1.10.0 - shiki@1.9.0: + shiki@1.6.3: dependencies: - '@shikijs/core': 1.9.0 + '@shikijs/core': 1.6.3 side-channel@1.0.4: dependencies: @@ -11767,6 +11835,8 @@ snapshots: speakingurl@14.0.1: {} + stable-hash@0.0.4: {} + stackback@0.0.2: {} stacktracey@2.1.8: @@ -11846,9 +11916,9 @@ snapshots: pirates: 4.0.5 ts-interface-checker: 0.1.13 - sugarss@4.0.1(postcss@8.4.38): + sugarss@4.0.1(postcss@8.4.39): dependencies: - postcss: 8.4.38 + postcss: 8.4.39 supports-color@5.5.0: dependencies: @@ -11864,7 +11934,7 @@ snapshots: tabbable@6.2.0: {} - tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)): + tailwindcss@3.4.4(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -11880,11 +11950,11 @@ snapshots: normalize-path: 3.0.0 object-hash: 3.0.0 picocolors: 1.0.1 - postcss: 8.4.38 - postcss-import: 15.1.0(postcss@8.4.38) - postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38)(ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2)) - postcss-nested: 6.0.1(postcss@8.4.38) + postcss: 8.4.39 + postcss-import: 15.1.0(postcss@8.4.39) + postcss-js: 4.0.1(postcss@8.4.39) + postcss-load-config: 4.0.2(postcss@8.4.39)(ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2)) + postcss-nested: 6.0.1(postcss@8.4.39) postcss-selector-parser: 6.0.11 resolve: 1.22.4 sucrase: 3.32.0 @@ -11955,14 +12025,14 @@ snapshots: ts-interface-checker@0.1.13: {} - ts-node@10.9.2(@types/node@20.14.8)(typescript@5.2.2): + ts-node@10.9.2(@types/node@20.14.9)(typescript@5.2.2): 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.14.8 + '@types/node': 20.14.9 acorn: 8.12.0(patch_hash=hnu5w2kycvtk742sttg466maj4) acorn-walk: 8.3.2 arg: 4.1.3 @@ -11979,28 +12049,28 @@ snapshots: tslib@2.6.3: {} - tsx@4.15.7: + tsx@4.16.0: dependencies: esbuild: 0.21.5 get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 - twoslash-protocol@0.2.8: {} + twoslash-protocol@0.2.9: {} - twoslash-vue@0.2.8(typescript@5.2.2): + twoslash-vue@0.2.9(typescript@5.2.2): dependencies: - '@vue/language-core': 2.0.21(typescript@5.2.2) - twoslash: 0.2.8(typescript@5.2.2) - twoslash-protocol: 0.2.8 + '@vue/language-core': 2.0.24(typescript@5.2.2) + twoslash: 0.2.9(typescript@5.2.2) + twoslash-protocol: 0.2.9 typescript: 5.2.2 transitivePeerDependencies: - supports-color - twoslash@0.2.8(typescript@5.2.2): + twoslash@0.2.9(typescript@5.2.2): dependencies: '@typescript/vfs': 1.5.0 - twoslash-protocol: 0.2.8 + twoslash-protocol: 0.2.9 typescript: 5.2.2 transitivePeerDependencies: - supports-color @@ -12024,12 +12094,12 @@ snapshots: type@2.7.2: {} - typescript-eslint@7.13.1(eslint@9.5.0)(typescript@5.2.2): + typescript-eslint@7.15.0(eslint@9.6.0)(typescript@5.2.2): dependencies: - '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.2.2))(eslint@9.5.0)(typescript@5.2.2) - '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.2.2) - '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.2.2) - eslint: 9.5.0 + '@typescript-eslint/eslint-plugin': 7.15.0(@typescript-eslint/parser@7.15.0(eslint@9.6.0)(typescript@5.2.2))(eslint@9.6.0)(typescript@5.2.2) + '@typescript-eslint/parser': 7.15.0(eslint@9.6.0)(typescript@5.2.2) + '@typescript-eslint/utils': 7.15.0(eslint@9.6.0)(typescript@5.2.2) + eslint: 9.6.0 optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -12181,26 +12251,26 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress@1.2.3(@algolia/client-search@4.20.0)(axios@1.7.2)(postcss@8.4.38)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2): + vitepress@1.2.3(@algolia/client-search@4.20.0)(axios@1.7.2)(postcss@8.4.39)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.2.2): dependencies: '@docsearch/css': 3.6.0 '@docsearch/js': 3.6.0(@algolia/client-search@4.20.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@shikijs/core': 1.6.3 '@shikijs/transformers': 1.6.3 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@packages+vite)(vue@3.4.30(typescript@5.2.2)) - '@vue/devtools-api': 7.2.1(vue@3.4.30(typescript@5.2.2)) + '@vitejs/plugin-vue': 5.0.5(vite@packages+vite)(vue@3.4.31(typescript@5.2.2)) + '@vue/devtools-api': 7.2.1(vue@3.4.31(typescript@5.2.2)) '@vue/shared': 3.4.27 - '@vueuse/core': 10.10.0(vue@3.4.30(typescript@5.2.2)) - '@vueuse/integrations': 10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.30(typescript@5.2.2)) + '@vueuse/core': 10.10.0(vue@3.4.31(typescript@5.2.2)) + '@vueuse/integrations': 10.10.0(axios@1.7.2)(focus-trap@7.5.4)(vue@3.4.31(typescript@5.2.2)) focus-trap: 7.5.4 mark.js: 8.11.1 minisearch: 6.3.0 shiki: 1.6.3 vite: link:packages/vite - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) optionalDependencies: - postcss: 8.4.38 + postcss: 8.4.39 transitivePeerDependencies: - '@algolia/client-search' - '@types/react' @@ -12221,7 +12291,7 @@ snapshots: - typescript - universal-cookie - vitest@1.6.0(@types/node@20.14.8): + vitest@1.6.0(@types/node@20.14.9): dependencies: '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 @@ -12244,24 +12314,24 @@ snapshots: vite-node: 1.6.0 why-is-node-running: 2.2.2 optionalDependencies: - '@types/node': 20.14.8 + '@types/node': 20.14.9 transitivePeerDependencies: - supports-color void-elements@3.1.0: {} - vue-demi@0.14.7(vue@3.4.30(typescript@5.2.2)): + vue-demi@0.14.7(vue@3.4.31(typescript@5.2.2)): dependencies: - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) - vue-resize@2.0.0-alpha.1(vue@3.4.30(typescript@5.2.2)): + vue-resize@2.0.0-alpha.1(vue@3.4.31(typescript@5.2.2)): dependencies: - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) - vue-router@4.4.0(vue@3.4.30(typescript@5.2.2)): + vue-router@4.4.0(vue@3.4.31(typescript@5.2.2)): dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) vue-template-compiler@2.7.16: dependencies: @@ -12274,20 +12344,20 @@ snapshots: '@vue/runtime-dom': 3.2.0 '@vue/shared': 3.2.0 - vue@3.4.30(typescript@5.2.2): + vue@3.4.31(typescript@5.2.2): dependencies: - '@vue/compiler-dom': 3.4.30 - '@vue/compiler-sfc': 3.4.30 - '@vue/runtime-dom': 3.4.30 - '@vue/server-renderer': 3.4.30(vue@3.4.30(typescript@5.2.2)) - '@vue/shared': 3.4.30 + '@vue/compiler-dom': 3.4.31 + '@vue/compiler-sfc': 3.4.31 + '@vue/runtime-dom': 3.4.31 + '@vue/server-renderer': 3.4.31(vue@3.4.31(typescript@5.2.2)) + '@vue/shared': 3.4.31 optionalDependencies: typescript: 5.2.2 - vuex@4.1.0(vue@3.4.30(typescript@5.2.2)): + vuex@4.1.0(vue@3.4.31(typescript@5.2.2)): dependencies: '@vue/devtools-api': 6.6.1 - vue: 3.4.30(typescript@5.2.2) + vue: 3.4.31(typescript@5.2.2) web-streams-polyfill@3.2.1: {} @@ -12320,13 +12390,13 @@ snapshots: wordwrap@1.0.0: {} - workerd@1.20240610.1: + workerd@1.20240620.1: optionalDependencies: - '@cloudflare/workerd-darwin-64': 1.20240610.1 - '@cloudflare/workerd-darwin-arm64': 1.20240610.1 - '@cloudflare/workerd-linux-64': 1.20240610.1 - '@cloudflare/workerd-linux-arm64': 1.20240610.1 - '@cloudflare/workerd-windows-64': 1.20240610.1 + '@cloudflare/workerd-darwin-64': 1.20240620.1 + '@cloudflare/workerd-darwin-arm64': 1.20240620.1 + '@cloudflare/workerd-linux-64': 1.20240620.1 + '@cloudflare/workerd-linux-arm64': 1.20240620.1 + '@cloudflare/workerd-windows-64': 1.20240620.1 wrap-ansi@7.0.0: dependencies: From 22b299429599834bf1855b53264a28ae5ff8f888 Mon Sep 17 00:00:00 2001 From: bluwy Date: Wed, 3 Jul 2024 12:52:34 +0800 Subject: [PATCH 655/656] release: v5.3.3 --- packages/vite/CHANGELOG.md | 9 +++++++++ packages/vite/package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/vite/CHANGELOG.md b/packages/vite/CHANGELOG.md index fc1101fceeae86..5b6e37c48a0fe2 100644 --- a/packages/vite/CHANGELOG.md +++ b/packages/vite/CHANGELOG.md @@ -1,3 +1,12 @@ +## 5.3.3 (2024-07-03) + +* fix: lazily evaluate __vite__mapDeps files (#17602) ([dafff4a](https://github.com/vitejs/vite/commit/dafff4a)), closes [#17602](https://github.com/vitejs/vite/issues/17602) +* fix(deps): update all non-major dependencies (#17590) ([012490c](https://github.com/vitejs/vite/commit/012490c)), closes [#17590](https://github.com/vitejs/vite/issues/17590) +* fix(lib): remove pure CSS dynamic import (#17601) ([055f1c1](https://github.com/vitejs/vite/commit/055f1c1)), closes [#17601](https://github.com/vitejs/vite/issues/17601) +* fix(proxy): replace changeOrigin changes in 5.3.0 with new rewriteWsOrigin option (#17563) ([14c3d49](https://github.com/vitejs/vite/commit/14c3d49)), closes [#17563](https://github.com/vitejs/vite/issues/17563) + + + ## 5.3.2 (2024-06-27) * fix(client): uniform variable `location` (#17528) ([a8e2f6f](https://github.com/vitejs/vite/commit/a8e2f6f)), closes [#17528](https://github.com/vitejs/vite/issues/17528) diff --git a/packages/vite/package.json b/packages/vite/package.json index 1b1e24657e8dc9..1b032821464ef7 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -1,6 +1,6 @@ { "name": "vite", - "version": "5.3.2", + "version": "5.3.3", "type": "module", "license": "MIT", "author": "Evan You", From 6e2ae460cae43b9684cf1f03487a474ec42b377c Mon Sep 17 00:00:00 2001 From: underfin Date: Fri, 5 Jul 2024 14:19:44 +0800 Subject: [PATCH 656/656] feat(optimizer): using rolldown instead of esbuild --- packages/vite/LICENSE.md | 44 - packages/vite/package.json | 3 +- .../src/node/optimizer/esbuildDepPlugin.ts | 342 ------ packages/vite/src/node/optimizer/index.ts | 323 ++--- .../src/node/optimizer/rolldownDepPlugin.ts | 331 ++++++ packages/vite/src/node/optimizer/scan.ts | 1041 +++++++++++------ .../vite/src/node/plugins/importAnalysis.ts | 10 +- packages/vite/src/node/utils.ts | 8 + .../__tests__/optimize-deps.spec.ts | 5 +- playground/optimize-deps/package.json | 2 +- playground/optimize-deps/vite.config.js | 62 +- pnpm-lock.yaml | 178 +++ 12 files changed, 1443 insertions(+), 906 deletions(-) delete mode 100644 packages/vite/src/node/optimizer/esbuildDepPlugin.ts create mode 100644 packages/vite/src/node/optimizer/rolldownDepPlugin.ts diff --git a/packages/vite/LICENSE.md b/packages/vite/LICENSE.md index ddd5a6209512dc..912e980504e45a 100644 --- a/packages/vite/LICENSE.md +++ b/packages/vite/LICENSE.md @@ -1006,27 +1006,6 @@ License: MIT By: Mathias Bynens Repository: https://github.com/mathiasbynens/cssesc.git -> Copyright Mathias Bynens -> -> Permission is hereby granted, free of charge, to any person obtaining -> a copy of this software and associated documentation files (the -> "Software"), to deal in the Software without restriction, including -> without limitation the rights to use, copy, modify, merge, publish, -> distribute, sublicense, and/or sell copies of the Software, and to -> permit persons to whom the Software is furnished to do so, subject to -> the following conditions: -> -> The above copyright notice and this permission notice shall be -> included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -> MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -> LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -> OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -> WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------- ## debug @@ -2681,29 +2660,6 @@ License: MIT By: Ben Briggs, Chris Eppstein Repository: postcss/postcss-selector-parser -> Copyright (c) Ben Briggs (http://beneb.info) -> -> Permission is hereby granted, free of charge, to any person -> obtaining a copy of this software and associated documentation -> files (the "Software"), to deal in the Software without -> restriction, including without limitation the rights to use, -> copy, modify, merge, publish, distribute, sublicense, and/or sell -> copies of the Software, and to permit persons to whom the -> Software is furnished to do so, subject to the following -> conditions: -> -> The above copyright notice and this permission notice shall be -> included in all copies or substantial portions of the Software. -> -> THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -> EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES -> OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -> NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT -> HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, -> WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING -> FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR -> OTHER DEALINGS IN THE SOFTWARE. - --------------------------------------- ## postcss-value-parser diff --git a/packages/vite/package.json b/packages/vite/package.json index 1b032821464ef7..25550eec9393ec 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -87,7 +87,8 @@ "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.39", - "rollup": "^4.13.0" + "rollup": "^4.13.0", + "rolldown": "^0.10.5" }, "optionalDependencies": { "fsevents": "~2.3.3" diff --git a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts b/packages/vite/src/node/optimizer/esbuildDepPlugin.ts deleted file mode 100644 index 1f4c4dab16748d..00000000000000 --- a/packages/vite/src/node/optimizer/esbuildDepPlugin.ts +++ /dev/null @@ -1,342 +0,0 @@ -import path from 'node:path' -import type { ImportKind, Plugin } from 'esbuild' -import { KNOWN_ASSET_TYPES } from '../constants' -import type { PackageCache } from '../packages' -import { getDepOptimizationConfig } from '../config' -import type { ResolvedConfig } from '../config' -import { - escapeRegex, - flattenId, - isBuiltin, - isExternalUrl, - moduleListContains, - normalizePath, -} from '../utils' -import { browserExternalId, optionalPeerDepId } from '../plugins/resolve' -import { isCSSRequest, isModuleCSSRequest } from '../plugins/css' - -const externalWithConversionNamespace = - 'vite:dep-pre-bundle:external-conversion' -const convertedExternalPrefix = 'vite-dep-pre-bundle-external:' - -const cjsExternalFacadeNamespace = 'vite:cjs-external-facade' -const nonFacadePrefix = 'vite-cjs-external-facade:' - -const externalTypes = [ - 'css', - // supported pre-processor types - 'less', - 'sass', - 'scss', - 'styl', - 'stylus', - 'pcss', - 'postcss', - // wasm - 'wasm', - // known SFC types - 'vue', - 'svelte', - 'marko', - 'astro', - 'imba', - // JSX/TSX may be configured to be compiled differently from how esbuild - // handles it by default, so exclude them as well - 'jsx', - 'tsx', - ...KNOWN_ASSET_TYPES, -] - -export function esbuildDepPlugin( - qualified: Record, - external: string[], - config: ResolvedConfig, - ssr: boolean, -): Plugin { - const { extensions } = getDepOptimizationConfig(config, ssr) - - // remove optimizable extensions from `externalTypes` list - const allExternalTypes = extensions - ? externalTypes.filter((type) => !extensions?.includes('.' + type)) - : externalTypes - - // use separate package cache for optimizer as it caches paths around node_modules - // and it's unlikely for the core Vite process to traverse into node_modules again - const esmPackageCache: PackageCache = new Map() - const cjsPackageCache: PackageCache = new Map() - - // default resolver which prefers ESM - const _resolve = config.createResolver({ - asSrc: false, - scan: true, - packageCache: esmPackageCache, - }) - - // cjs resolver that prefers Node - const _resolveRequire = config.createResolver({ - asSrc: false, - isRequire: true, - scan: true, - packageCache: cjsPackageCache, - }) - - const resolve = ( - id: string, - importer: string, - kind: ImportKind, - resolveDir?: string, - ): Promise => { - let _importer: string - // explicit resolveDir - this is passed only during yarn pnp resolve for - // entries - if (resolveDir) { - _importer = normalizePath(path.join(resolveDir, '*')) - } else { - // map importer ids to file paths for correct resolution - _importer = importer in qualified ? qualified[importer] : importer - } - const resolver = kind.startsWith('require') ? _resolveRequire : _resolve - return resolver(id, _importer, undefined, ssr) - } - - const resolveResult = (id: string, resolved: string) => { - if (resolved.startsWith(browserExternalId)) { - return { - path: id, - namespace: 'browser-external', - } - } - if (resolved.startsWith(optionalPeerDepId)) { - return { - path: resolved, - namespace: 'optional-peer-dep', - } - } - if (ssr && isBuiltin(resolved)) { - return - } - if (isExternalUrl(resolved)) { - return { - path: resolved, - external: true, - } - } - return { - path: path.resolve(resolved), - } - } - - return { - name: 'vite:dep-pre-bundle', - setup(build) { - // clear package cache when esbuild is finished - build.onEnd(() => { - esmPackageCache.clear() - cjsPackageCache.clear() - }) - - // externalize assets and commonly known non-js file types - // See #8459 for more details about this require-import conversion - build.onResolve( - { - filter: new RegExp( - `\\.(` + allExternalTypes.join('|') + `)(\\?.*)?$`, - ), - }, - async ({ path: id, importer, kind }) => { - // if the prefix exist, it is already converted to `import`, so set `external: true` - if (id.startsWith(convertedExternalPrefix)) { - return { - path: id.slice(convertedExternalPrefix.length), - external: true, - } - } - - const resolved = await resolve(id, importer, kind) - if (resolved) { - if (kind === 'require-call') { - // #16116 fix: Import the module.scss path, which is actually module.scss.js - if (resolved.endsWith('.js')) { - return { - path: resolved, - external: false, - } - } - - // here it is not set to `external: true` to convert `require` to `import` - return { - path: resolved, - namespace: externalWithConversionNamespace, - } - } - return { - path: resolved, - external: true, - } - } - }, - ) - build.onLoad( - { filter: /./, namespace: externalWithConversionNamespace }, - (args) => { - // import itself with prefix (this is the actual part of require-import conversion) - const modulePath = `"${convertedExternalPrefix}${args.path}"` - return { - contents: - isCSSRequest(args.path) && !isModuleCSSRequest(args.path) - ? `import ${modulePath};` - : `export { default } from ${modulePath};` + - `export * from ${modulePath};`, - loader: 'js', - } - }, - ) - - function resolveEntry(id: string) { - const flatId = flattenId(id) - if (flatId in qualified) { - return { - path: qualified[flatId], - } - } - } - - build.onResolve( - { filter: /^[\w@][^:]/ }, - async ({ path: id, importer, kind }) => { - if (moduleListContains(external, id)) { - return { - path: id, - external: true, - } - } - - // ensure esbuild uses our resolved entries - let entry: { path: string } | undefined - // if this is an entry, return entry namespace resolve result - if (!importer) { - if ((entry = resolveEntry(id))) return entry - // check if this is aliased to an entry - also return entry namespace - const aliased = await _resolve(id, undefined, true) - if (aliased && (entry = resolveEntry(aliased))) { - return entry - } - } - - // use vite's own resolver - const resolved = await resolve(id, importer, kind) - if (resolved) { - return resolveResult(id, resolved) - } - }, - ) - - build.onLoad( - { filter: /.*/, namespace: 'browser-external' }, - ({ path }) => { - if (config.isProduction) { - return { - contents: 'module.exports = {}', - } - } else { - return { - // Return in CJS to intercept named imports. Use `Object.create` to - // create the Proxy in the prototype to workaround esbuild issue. Why? - // - // In short, esbuild cjs->esm flow: - // 1. Create empty object using `Object.create(Object.getPrototypeOf(module.exports))`. - // 2. Assign props of `module.exports` to the object. - // 3. Return object for ESM use. - // - // If we do `module.exports = new Proxy({}, {})`, step 1 returns empty object, - // step 2 does nothing as there's no props for `module.exports`. The final object - // is just an empty object. - // - // Creating the Proxy in the prototype satisfies step 1 immediately, which means - // the returned object is a Proxy that we can intercept. - // - // Note: Skip keys that are accessed by esbuild and browser devtools. - contents: `\ -module.exports = Object.create(new Proxy({}, { - get(_, key) { - if ( - key !== '__esModule' && - key !== '__proto__' && - key !== 'constructor' && - key !== 'splice' - ) { - console.warn(\`Module "${path}" has been externalized for browser compatibility. Cannot access "${path}.\${key}" in client code. See https://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\`) - } - } -}))`, - } - } - }, - ) - - build.onLoad( - { filter: /.*/, namespace: 'optional-peer-dep' }, - ({ path }) => { - if (config.isProduction) { - return { - contents: 'module.exports = {}', - } - } else { - const [, peerDep, parentDep] = path.split(':') - return { - contents: `throw new Error(\`Could not resolve "${peerDep}" imported by "${parentDep}". Is it installed?\`)`, - } - } - }, - ) - }, - } -} - -const matchesEntireLine = (text: string) => `^${escapeRegex(text)}$` - -// esbuild doesn't transpile `require('foo')` into `import` statements if 'foo' is externalized -// https://github.com/evanw/esbuild/issues/566#issuecomment-735551834 -export function esbuildCjsExternalPlugin( - externals: string[], - platform: 'node' | 'browser', -): Plugin { - return { - name: 'cjs-external', - setup(build) { - const filter = new RegExp(externals.map(matchesEntireLine).join('|')) - - build.onResolve({ filter: new RegExp(`^${nonFacadePrefix}`) }, (args) => { - return { - path: args.path.slice(nonFacadePrefix.length), - external: true, - } - }) - - build.onResolve({ filter }, (args) => { - // preserve `require` for node because it's more accurate than converting it to import - if (args.kind === 'require-call' && platform !== 'node') { - return { - path: args.path, - namespace: cjsExternalFacadeNamespace, - } - } - - return { - path: args.path, - external: true, - } - }) - - build.onLoad( - { filter: /.*/, namespace: cjsExternalFacadeNamespace }, - (args) => ({ - contents: - `import * as m from ${JSON.stringify( - nonFacadePrefix + args.path, - )};` + `module.exports = m;`, - }), - ) - }, - } -} diff --git a/packages/vite/src/node/optimizer/index.ts b/packages/vite/src/node/optimizer/index.ts index e62d78fdf1b956..d8417257751e78 100644 --- a/packages/vite/src/node/optimizer/index.ts +++ b/packages/vite/src/node/optimizer/index.ts @@ -4,13 +4,15 @@ import path from 'node:path' import { promisify } from 'node:util' import { performance } from 'node:perf_hooks' import colors from 'picocolors' -import type { BuildContext, BuildOptions as EsbuildBuildOptions } from 'esbuild' -import esbuild, { build } from 'esbuild' +import type { BuildOptions as EsbuildBuildOptions } from 'esbuild' import { init, parse } from 'es-module-lexer' import glob from 'fast-glob' +import type { RollupOptions } from 'rolldown' +import * as rolldown from 'rolldown' import { getDepOptimizationConfig } from '../config' import type { ResolvedConfig } from '../config' import { + asyncFlatten, createDebugger, flattenId, getHash, @@ -23,12 +25,11 @@ import { unique, } from '../utils' import { - defaultEsbuildSupported, transformWithEsbuild, } from '../plugins/esbuild' import { ESBUILD_MODULES_TARGET, METADATA_FILENAME } from '../constants' import { isWindows } from '../../shared/utils' -import { esbuildCjsExternalPlugin, esbuildDepPlugin } from './esbuildDepPlugin' +import { rolldownCjsExternalPlugin, rolldownDepPlugin } from './rolldownDepPlugin' import { scanImports } from './scan' import { createOptimizeDepsIncludeResolver, expandGlobIds } from './resolve' export { @@ -40,7 +41,7 @@ export { const debug = createDebugger('vite:deps') const jsExtensionRE = /\.js$/i -const jsMapExtensionRE = /\.js\.map$/i +// const jsMapExtensionRE = /\.js\.map$/i export type ExportsData = { hasModuleSyntax: boolean @@ -106,6 +107,8 @@ export interface DepOptimizationConfig { | 'outExtension' | 'metafile' > + + rollupOptions?: RollupOptions /** * List of file extensions that can be optimized. A corresponding esbuild * plugin must exist to handle the specific extension. @@ -194,6 +197,7 @@ export interface OptimizedDepInfo { * data used both to define if interop is needed and when pre-bundling */ exportsData?: Promise + isDynamicEntry?: boolean } export interface DepOptimizationMetadata { @@ -593,7 +597,7 @@ export function runOptimizeDeps( const start = performance.now() - const preparedRun = prepareEsbuildOptimizerRun( + const preparedRun = prepareRolldownOptimizerRun( resolvedConfig, depsInfo, ssr, @@ -601,76 +605,60 @@ export function runOptimizeDeps( optimizerContext, ) - const runResult = preparedRun.then(({ context, idToExports }) => { - function disposeContext() { - return context?.dispose().catch((e) => { - config.logger.error('Failed to dispose esbuild context', { error: e }) - }) - } - if (!context || optimizerContext.cancelled) { - disposeContext() + const runResult = preparedRun.then(({ build, idToExports }) => { + if (!build || optimizerContext.cancelled) { return cancelledResult } - return context - .rebuild() + return build() .then((result) => { - const meta = result.metafile! - - // the paths in `meta.outputs` are relative to `process.cwd()` - const processingCacheDirOutputPath = path.relative( - process.cwd(), - processingCacheDir, - ) - - for (const id in depsInfo) { - const output = esbuildOutputFromId( - meta.outputs, - id, - processingCacheDir, - ) - - const { exportsData, ...info } = depsInfo[id] - addOptimizedDepInfo(metadata, 'optimized', { - ...info, - // We only need to hash the output.imports in to check for stability, but adding the hash - // and file path gives us a unique hash that may be useful for other things in the future - fileHash: getHash( - metadata.hash + - depsInfo[id].file + - JSON.stringify(output.imports), - ), - browserHash: metadata.browserHash, - // After bundling we have more information and can warn the user about legacy packages - // that require manual configuration - needsInterop: needsInterop( - config, - ssr, - id, - idToExports[id], - output, - ), - }) - } - - for (const o of Object.keys(meta.outputs)) { - if (!jsMapExtensionRE.test(o)) { - const id = path - .relative(processingCacheDirOutputPath, o) - .replace(jsExtensionRE, '') - const file = getOptimizedDepPath(id, resolvedConfig, ssr) - if ( - !findOptimizedDepInfoInRecord( - metadata.optimized, - (depInfo) => depInfo.file === file, + for (const chunk of result.output) { + if (chunk.type === 'chunk') { + if (chunk.isEntry) { + // One chunk maybe corresponding multiply entry + const deps = Object.values(depsInfo).filter( + (d) => + d.src === chunk.facadeModuleId!, ) - ) { - addOptimizedDepInfo(metadata, 'chunks', { - id, - file, - needsInterop: false, - browserHash: metadata.browserHash, - }) + for (const { exportsData, file, id, ...info } of deps) { + addOptimizedDepInfo(metadata, 'optimized', { + id, + file, + ...info, + // We only need to hash the output.imports in to check for stability, but adding the hash + // and file path gives us a unique hash that may be useful for other things in the future + fileHash: getHash( + metadata.hash + file + JSON.stringify(chunk.modules), + ), + browserHash: metadata.browserHash, + // After bundling we have more information and can warn the user about legacy packages + // that require manual configuration + needsInterop: needsInterop( + config, + ssr, + id, + idToExports[id], + chunk, + ), + }) + } + } else { + const id = chunk.fileName.replace(jsExtensionRE, '') + const file = getOptimizedDepPath(id, resolvedConfig, ssr) + if ( + !findOptimizedDepInfoInRecord( + metadata.optimized, + (depInfo) => depInfo.file === file, + ) + ) { + addOptimizedDepInfo(metadata, 'chunks', { + id, + file, + needsInterop: false, + browserHash: metadata.browserHash, + isDynamicEntry: chunk.isDynamicEntry, + }) + } } } } @@ -683,16 +671,8 @@ export function runOptimizeDeps( }) .catch((e) => { - if (e.errors && e.message.includes('The build was canceled')) { - // esbuild logs an error when cancelling, but this is expected so - // return an empty result instead - return cancelledResult - } throw e }) - .finally(() => { - return disposeContext() - }) }) runResult.catch(() => { @@ -702,24 +682,23 @@ export function runOptimizeDeps( return { async cancel() { optimizerContext.cancelled = true - const { context } = await preparedRun - await context?.cancel() cleanUp() }, result: runResult, } } -async function prepareEsbuildOptimizerRun( +async function prepareRolldownOptimizerRun( resolvedConfig: ResolvedConfig, depsInfo: Record, ssr: boolean, processingCacheDir: string, optimizerContext: { cancelled: boolean }, ): Promise<{ - context?: BuildContext + build?: () => Promise idToExports: Record }> { + const isBuild = resolvedConfig.command === 'build' const config: ResolvedConfig = { ...resolvedConfig, command: 'build', @@ -736,21 +715,19 @@ async function prepareEsbuildOptimizerRun( const optimizeDeps = getDepOptimizationConfig(config, ssr) - const { plugins: pluginsFromConfig = [], ...esbuildOptions } = - optimizeDeps?.esbuildOptions ?? {} + const { plugins: pluginsFromConfig = [], ...rollupOptions } = + optimizeDeps?.rollupOptions ?? {} + let jsxLoader = false await Promise.all( Object.keys(depsInfo).map(async (id) => { const src = depsInfo[id].src! const exportsData = await (depsInfo[id].exportsData ?? extractExportsData(src, config, ssr)) - if (exportsData.jsxLoader && !esbuildOptions.loader?.['.js']) { + if (exportsData.jsxLoader) { // Ensure that optimization won't fail by defaulting '.js' to the JSX parser. // This is useful for packages such as Gatsby. - esbuildOptions.loader = { - '.js': 'jsx', - ...esbuildOptions.loader, - } + jsxLoader = true } const flatId = flattenId(id) flatIdDeps[flatId] = src @@ -758,10 +735,14 @@ async function prepareEsbuildOptimizerRun( }), ) - if (optimizerContext.cancelled) return { context: undefined, idToExports } + if (optimizerContext.cancelled) return { build: undefined, idToExports } + // In lib mode, we need to keep process.env.NODE_ENV untouched const define = { - 'process.env.NODE_ENV': JSON.stringify(process.env.NODE_ENV || config.mode), + 'process.env.NODE_ENV': + isBuild && config.build.lib + ? 'process.env.NODE_ENV' + : JSON.stringify(process.env.NODE_ENV || config.mode), } const platform = @@ -769,46 +750,86 @@ async function prepareEsbuildOptimizerRun( const external = [...(optimizeDeps?.exclude ?? [])] - const plugins = [...pluginsFromConfig] + if (isBuild) { + let rollupOptionsExternal = config?.build?.rollupOptions?.external + if (rollupOptionsExternal) { + if (typeof rollupOptionsExternal === 'string') { + rollupOptionsExternal = [rollupOptionsExternal] + } + // TODO: decide whether to support RegExp and function options + // They're not supported yet because `optimizeDeps.exclude` currently only accepts strings + if ( + !Array.isArray(rollupOptionsExternal) || + rollupOptionsExternal.some((ext) => typeof ext !== 'string') + ) { + throw new Error( + `[vite] 'build.rollupOptions.external' can only be an array of strings or a string when using esbuild optimization at build time.`, + ) + } + external.push(...(rollupOptionsExternal as string[])) + } + } + + const plugins = await asyncFlatten( + Array.isArray(pluginsFromConfig) ? pluginsFromConfig : [pluginsFromConfig], + ) if (external.length) { - plugins.push(esbuildCjsExternalPlugin(external, platform)) + plugins.push(rolldownCjsExternalPlugin(external, platform)) } - plugins.push(esbuildDepPlugin(flatIdDeps, external, config, ssr)) - - const context = await esbuild.context({ - absWorkingDir: process.cwd(), - entryPoints: Object.keys(flatIdDeps), - bundle: true, - // We can't use platform 'neutral', as esbuild has custom handling - // when the platform is 'node' or 'browser' that can't be emulated - // by using mainFields and conditions - platform, - define, - format: 'esm', - // See https://github.com/evanw/esbuild/issues/1921#issuecomment-1152991694 - banner: - platform === 'node' - ? { - js: `import { createRequire } from 'module';const require = createRequire(import.meta.url);`, - } - : undefined, - target: ESBUILD_MODULES_TARGET, - external, - logLevel: 'error', - splitting: true, - sourcemap: true, - outdir: processingCacheDir, - ignoreAnnotations: true, - metafile: true, - plugins, - charset: 'utf8', - ...esbuildOptions, - supported: { - ...defaultEsbuildSupported, - ...esbuildOptions.supported, + plugins.push(rolldownDepPlugin(flatIdDeps, external, config, ssr)) + plugins.push({ + name: 'optimizer-transform', + async transform(code, id) { + if (/\.(?:m?[jt]s|[jt]sx)$/.test(id)) { + const result = await transformWithEsbuild(code, id, { + sourcemap: true, + sourcefile: id, + loader: jsxLoader && /\.js$/.test(id) ? 'jsx' : undefined, + define, + target: isBuild + ? config.build.target || undefined + : ESBUILD_MODULES_TARGET, + }) + // result.warnings.forEach((m) => { + // this.warn(prettifyMessage(m, code)) + // }) + return { + code: result.code, + map: result.map, + } + } }, }) - return { context, idToExports } + + async function build() { + const bundle = await rolldown.rolldown({ + input: Object.keys(flatIdDeps), + external, + logLevel: 'warn', + plugins, + resolve: { + mainFields: ['module', 'main'], + aliasFields: [['browser']], + extensions: ['.js', '.css'] + }, + ...rollupOptions, + }) + return await bundle.write({ + format: 'esm', + sourcemap: true, + dir: processingCacheDir, + banner: + platform === 'node' + ? (chunk) => + chunk.fileName.endsWith('.js') + ? `import { createRequire } from 'module';const require = createRequire(import.meta.url);` + : '' + : undefined, + ...rollupOptions.output, + }) + } + + return { build, idToExports } } export async function addManuallyIncludedOptimizeDeps( @@ -1009,19 +1030,20 @@ function stringifyDepsOptimizerMetadata( browserHash, optimized: Object.fromEntries( Object.values(optimized).map( - ({ id, src, file, fileHash, needsInterop }) => [ + ({ id, src, file, fileHash, needsInterop, isDynamicEntry }) => [ id, { src, file, fileHash, needsInterop, + isDynamicEntry }, ], ), ), chunks: Object.fromEntries( - Object.values(chunks).map(({ id, file }) => [id, { file }]), + Object.values(chunks).map(({ id, file, isDynamicEntry }) => [id, { file, isDynamicEntry }]), ), }, (key: string, value: string) => { @@ -1036,29 +1058,6 @@ function stringifyDepsOptimizerMetadata( ) } -function esbuildOutputFromId( - outputs: Record, - id: string, - cacheDirOutputPath: string, -): any { - const cwd = process.cwd() - const flatId = flattenId(id) + '.js' - const normalizedOutputPath = normalizePath( - path.relative(cwd, path.join(cacheDirOutputPath, flatId)), - ) - const output = outputs[normalizedOutputPath] - if (output) { - return output - } - // If the root dir was symlinked, esbuild could return output keys as `../cwd/` - // Normalize keys to support this case too - for (const [key, value] of Object.entries(outputs)) { - if (normalizePath(path.relative(cwd, key)) === normalizedOutputPath) { - return value - } - } -} - export async function extractExportsData( filePath: string, config: ResolvedConfig, @@ -1068,18 +1067,20 @@ export async function extractExportsData( const optimizeDeps = getDepOptimizationConfig(config, ssr) - const esbuildOptions = optimizeDeps?.esbuildOptions ?? {} + const rollupOptions = optimizeDeps?.rollupOptions ?? {} if (optimizeDeps.extensions?.some((ext) => filePath.endsWith(ext))) { // For custom supported extensions, build the entry file to transform it into JS, // and then parse with es-module-lexer. Note that the `bundle` option is not `true`, // so only the entry file is being transformed. - const result = await build({ - ...esbuildOptions, - entryPoints: [filePath], - write: false, + const rolldownBuild = await rolldown.rolldown({ + ...rollupOptions, + input: [filePath], + }); + const result = await rolldownBuild.generate({ + ...rollupOptions.output, format: 'esm', - }) - const [, exports, , hasModuleSyntax] = parse(result.outputFiles[0].text) + }); + const [, exports, , hasModuleSyntax] = parse(result.output[0].code) return { hasModuleSyntax, exports: exports.map((e) => e.n), @@ -1093,7 +1094,7 @@ export async function extractExportsData( try { parseResult = parse(entryContent) } catch { - const loader = esbuildOptions.loader?.[path.extname(filePath)] || 'jsx' + const loader = rollupOptions.moduleTypes?.[path.extname(filePath)] || 'jsx' debug?.( `Unable to parse: ${filePath}.\n Trying again with a ${loader} transform.`, ) diff --git a/packages/vite/src/node/optimizer/rolldownDepPlugin.ts b/packages/vite/src/node/optimizer/rolldownDepPlugin.ts new file mode 100644 index 00000000000000..02f03198f80a2a --- /dev/null +++ b/packages/vite/src/node/optimizer/rolldownDepPlugin.ts @@ -0,0 +1,331 @@ +import path from 'node:path' +import type { Plugin, ImportKind } from 'rolldown' +import { KNOWN_ASSET_TYPES } from '../constants' +import type { PackageCache } from '../packages' +import { getDepOptimizationConfig } from '../config' +import type { ResolvedConfig } from '../config' +import { + escapeRegex, + flattenId, + isBuiltin, + isExternalUrl, + moduleListContains, + normalizePath, +} from '../utils' +import { browserExternalId, optionalPeerDepId } from '../plugins/resolve' +import { isCSSRequest, isModuleCSSRequest } from '../plugins/css' + +const externalWithConversionNamespace = + 'vite:dep-pre-bundle:external-conversion' +const convertedExternalPrefix = 'vite-dep-pre-bundle-external:' + +const cjsExternalFacadeNamespace = 'vite:cjs-external-facade' +const nonFacadePrefix = 'vite-cjs-external-facade:' + +const externalTypes = [ + 'css', + // supported pre-processor types + 'less', + 'sass', + 'scss', + 'styl', + 'stylus', + 'pcss', + 'postcss', + // wasm + 'wasm', + // known SFC types + 'vue', + 'svelte', + 'marko', + 'astro', + 'imba', + // JSX/TSX may be configured to be compiled differently from how esbuild + // handles it by default, so exclude them as well + 'jsx', + 'tsx', + ...KNOWN_ASSET_TYPES, +] + + +const optionalPeerDepNamespace = 'optional-peer-dep:' +const browserExternalNamespace = 'browser-external:' + +export function rolldownDepPlugin( + qualified: Record, + external: string[], + config: ResolvedConfig, + ssr: boolean, +): Plugin { + const { extensions } = getDepOptimizationConfig(config, ssr) + + // remove optimizable extensions from `externalTypes` list + const allExternalTypes = extensions + ? externalTypes.filter((type) => !extensions?.includes('.' + type)) + : externalTypes + + // use separate package cache for optimizer as it caches paths around node_modules + // and it's unlikely for the core Vite process to traverse into node_modules again + const esmPackageCache: PackageCache = new Map() + const cjsPackageCache: PackageCache = new Map() + + // default resolver which prefers ESM + const _resolve = config.createResolver({ + asSrc: false, + scan: true, + packageCache: esmPackageCache, + }) + + // cjs resolver that prefers Node + const _resolveRequire = config.createResolver({ + asSrc: false, + isRequire: true, + scan: true, + packageCache: cjsPackageCache, + }) + + const resolve = ( + id: string, + importer: string | undefined, + kind: ImportKind, + resolveDir?: string, + ): Promise => { + let _importer: string | undefined = undefined + // explicit resolveDir - this is passed only during yarn pnp resolve for + // entries + if (resolveDir) { + _importer = normalizePath(path.join(resolveDir, '*')) + } else if (importer) { + // map importer ids to file paths for correct resolution + _importer = importer in qualified ? qualified[importer] : importer + } + const resolver = kind.startsWith('require') ? _resolveRequire : _resolve + return resolver(id, _importer, undefined, ssr) + } + + const resolveResult = (id: string, resolved: string) => { + if (resolved.startsWith(browserExternalId)) { + return { + id: browserExternalNamespace + id, + } + } + if (resolved.startsWith(optionalPeerDepId)) { + return { + id: optionalPeerDepNamespace + resolved, + } + } + if (ssr && isBuiltin(resolved)) { + return + } + if (isExternalUrl(resolved)) { + return { + id: resolved, + external: true, + } + } + return { + id: path.resolve(resolved), + } + } + + const allExternalTypesReg = new RegExp( + `\\.(` + allExternalTypes.join('|') + `)(\\?.*)?$`, + ) + + function resolveEntry(id: string) { + const flatId = flattenId(id) + if (flatId in qualified) { + return { + id: qualified[flatId], + } + } + } + + return { + name: 'vite:dep-pre-bundle', + // clear package cache when build is finished + buildEnd() { + esmPackageCache.clear() + cjsPackageCache.clear() + }, + resolveId: async function (id, importer, options) { + const kind = options.kind + // externalize assets and commonly known non-js file types + // See #8459 for more details about this require-import conversion + if (allExternalTypesReg.test(id)) { + // if the prefix exist, it is already converted to `import`, so set `external: true` + if (id.startsWith(convertedExternalPrefix)) { + return { + id: id.slice(convertedExternalPrefix.length), + external: true, + } + } + + const resolved = await resolve(id, importer, kind) + if (resolved) { + if (kind === 'require-call') { + // #16116 fix: Import the module.scss path, which is actually module.scss.js + if (resolved.endsWith('.js')) { + return { + id: resolved, + external: false, + } + } + + // here it is not set to `external: true` to convert `require` to `import` + return { + id: externalWithConversionNamespace + resolved, + } + } + return { + id: resolved, + external: true, + } + } + } + + if (/^[\w@][^:]/.test(id)) { + if (moduleListContains(external, id)) { + return { + id: id, + external: true, + } + } + + // ensure esbuild uses our resolved entries + let entry: { id: string } | undefined + // if this is an entry, return entry namespace resolve result + if (!importer) { + if ((entry = resolveEntry(id))) return entry + // check if this is aliased to an entry - also return entry namespace + const aliased = await _resolve(id, undefined, true) + if (aliased && (entry = resolveEntry(aliased))) { + return entry + } + } + + // use vite's own resolver + const resolved = await resolve(id, importer, kind) + if (resolved) { + return resolveResult(id, resolved) + } + } + }, + load(id) { + if (id.startsWith(externalWithConversionNamespace)) { + const path = id.slice(externalWithConversionNamespace.length) + // import itself with prefix (this is the actual part of require-import conversion) + const modulePath = `"${convertedExternalPrefix}${path}"` + return { + code: + isCSSRequest(path) && !isModuleCSSRequest(path) + ? `import ${modulePath};` + : `export { default } from ${modulePath};` + + `export * from ${modulePath};`, + } + } + + if (id.startsWith(browserExternalNamespace)) { + const path = id.slice(browserExternalNamespace.length) + if (config.isProduction) { + return { + code: 'module.exports = {}', + } + } else { + // Return in CJS to intercept named imports. Use `Object.create` to + // create the Proxy in the prototype to workaround esbuild issue. Why? + // + // In short, esbuild cjs->esm flow: + // 1. Create empty object using `Object.create(Object.getPrototypeOf(module.exports))`. + // 2. Assign props of `module.exports` to the object. + // 3. Return object for ESM use. + // + // If we do `module.exports = new Proxy({}, {})`, step 1 returns empty object, + // step 2 does nothing as there's no props for `module.exports`. The final object + // is just an empty object. + // + // Creating the Proxy in the prototype satisfies step 1 immediately, which means + // the returned object is a Proxy that we can intercept. + // + // Note: Skip keys that are accessed by esbuild and browser devtools. + return { + code: `\ + module.exports = Object.create(new Proxy({}, { + get(_, key) { + if ( + key !== '__esModule' && + key !== '__proto__' && + key !== 'constructor' && + key !== 'splice' + ) { + console.warn(\`Module "${path}" has been externalized for browser compatibility. Cannot access "${path}.\${key}" in client code. See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.\`) + } + } + }))`, + } + } + } + + if (id.startsWith(optionalPeerDepNamespace)) { + if (config.isProduction) { + return { + code: 'module.exports = {}', + } + } else { + const path = id.slice(externalWithConversionNamespace.length) + const [, peerDep, parentDep] = path.split(':') + return { + code: `throw new Error(\`Could not resolve "${peerDep}" imported by "${parentDep}". Is it installed?\`)`, + } + } + } + }, + } +} + +const matchesEntireLine = (text: string) => `^${escapeRegex(text)}$` + +// esbuild doesn't transpile `require('foo')` into `import` statements if 'foo' is externalized +// https://github.com/evanw/esbuild/issues/566#issuecomment-735551834 +export function rolldownCjsExternalPlugin( + externals: string[], + platform: 'node' | 'browser', +): Plugin { + const filter = new RegExp(externals.map(matchesEntireLine).join('|')) + + return { + name: 'cjs-external', + resolveId(id, importer, options) { + if (id.startsWith(nonFacadePrefix)) { + return { + id: id.slice(nonFacadePrefix.length), + external: true, + } + } + + if (filter.test(id)) { + const kind = options.kind + if (kind === 'require-call' && platform !== 'node') { + return { + id: cjsExternalFacadeNamespace + id, + } + } + + return { + id, + external: true, + } + } + }, + load(id) { + if (id.startsWith(cjsExternalFacadeNamespace)) { + return { + code: + `import * as m from ${JSON.stringify( + nonFacadePrefix + id.slice(cjsExternalFacadeNamespace.length), + )};` + `module.exports = m;`, + } + } + }, + } +} \ No newline at end of file diff --git a/packages/vite/src/node/optimizer/scan.ts b/packages/vite/src/node/optimizer/scan.ts index 1cdef6c339c103..6978e29ad348b3 100644 --- a/packages/vite/src/node/optimizer/scan.ts +++ b/packages/vite/src/node/optimizer/scan.ts @@ -3,14 +3,10 @@ import fsp from 'node:fs/promises' import path from 'node:path' import { performance } from 'node:perf_hooks' import glob from 'fast-glob' -import type { - BuildContext, - Loader, - OnLoadArgs, - OnLoadResult, - Plugin, -} from 'esbuild' -import esbuild, { formatMessages, transform } from 'esbuild' +import type { Plugin } from 'rolldown' +import * as rolldown from 'rolldown' +import type { Loader } from 'esbuild' +import { transform } from 'esbuild' import colors from 'picocolors' import type { ResolvedConfig } from '..' import { @@ -21,6 +17,7 @@ import { } from '../constants' import { arraify, + asyncFlatten, createDebugger, dataUrlRE, externalRE, @@ -30,6 +27,7 @@ import { moduleListContains, multilineCommentsRE, normalizePath, + parseRequest, singlelineCommentsRE, virtualModulePrefix, virtualModuleRE, @@ -38,7 +36,6 @@ import type { PluginContainer } from '../server/pluginContainer' import { createPluginContainer } from '../server/pluginContainer' import { transformGlobImport } from '../plugins/importMetaGlob' import { cleanUrl } from '../../shared/utils' -import { loadTsconfigJsonForFile } from '../plugins/esbuild' type ResolveIdOptions = Parameters[2] @@ -73,9 +70,7 @@ export function scanImports(config: ResolvedConfig): { const scanContext = { cancelled: false } - const esbuildContext: Promise = computeEntries( - config, - ).then((computedEntries) => { + const context = computeEntries(config).then((computedEntries) => { entries = computedEntries if (!entries.length) { @@ -97,22 +92,16 @@ export function scanImports(config: ResolvedConfig): { .map((entry) => `\n ${colors.dim(entry)}`) .join('')}`, ) - return prepareEsbuildScanner(config, entries, deps, missing, scanContext) + return prepareRolldownScanner(config, entries, deps, missing, scanContext) }) - const result = esbuildContext + const result = context .then((context) => { - function disposeContext() { - return context?.dispose().catch((e) => { - config.logger.error('Failed to dispose esbuild context', { error: e }) - }) - } if (!context || scanContext?.cancelled) { - disposeContext() return { deps: {}, missing: {} } } return context - .rebuild() + .build() .then(() => { return { // Ensure a fixed order so hashes are stable and improve logs @@ -120,31 +109,28 @@ export function scanImports(config: ResolvedConfig): { missing, } }) - .finally(() => { - return disposeContext() - }) }) .catch(async (e) => { - if (e.errors && e.message.includes('The build was canceled')) { - // esbuild logs an error when cancelling, but this is expected so - // return an empty result instead - return { deps: {}, missing: {} } - } + // if (e.errors && e.message.includes('The build was canceled')) { + // // esbuild logs an error when cancelling, but this is expected so + // // return an empty result instead + // return { deps: {}, missing: {} } + // } const prependMessage = colors.red(`\ Failed to scan for dependencies from entries: ${entries.join('\n')} `) - if (e.errors) { - const msgs = await formatMessages(e.errors, { - kind: 'error', - color: true, - }) - e.message = prependMessage + msgs.join('\n') - } else { + // if (e.errors) { + // const msgs = await formatMessages(e.errors, { + // kind: 'error', + // color: true, + // }) + // e.message = prependMessage + msgs.join('\n') + // } else { e.message = prependMessage + e.message - } + // } throw e }) .finally(() => { @@ -162,7 +148,7 @@ export function scanImports(config: ResolvedConfig): { return { cancel: async () => { scanContext.cancelled = true - return esbuildContext.then((context) => context?.cancel()) + // return esbuildContext.then((context) => context?.cancel()) }, result, } @@ -202,51 +188,96 @@ async function computeEntries(config: ResolvedConfig) { return entries } -async function prepareEsbuildScanner( +// async function prepareEsbuildScanner( +// config: ResolvedConfig, +// entries: string[], +// deps: Record, +// missing: Record, +// scanContext?: { cancelled: boolean }, +// ): Promise { +// const container = await createPluginContainer(config) + +// if (scanContext?.cancelled) return + +// const plugin = esbuildScanPlugin(config, container, deps, missing, entries) + +// const { plugins = [], ...esbuildOptions } = +// config.optimizeDeps?.esbuildOptions ?? {} + +// // The plugin pipeline automatically loads the closest tsconfig.json. +// // But esbuild doesn't support reading tsconfig.json if the plugin has resolved the path (https://github.com/evanw/esbuild/issues/2265). +// // Due to syntax incompatibilities between the experimental decorators in TypeScript and TC39 decorators, +// // we cannot simply set `"experimentalDecorators": true` or `false`. (https://github.com/vitejs/vite/pull/15206#discussion_r1417414715) +// // Therefore, we use the closest tsconfig.json from the root to make it work in most cases. +// let tsconfigRaw = esbuildOptions.tsconfigRaw +// if (!tsconfigRaw && !esbuildOptions.tsconfig) { +// const tsconfigResult = await loadTsconfigJsonForFile( +// path.join(config.root, '_dummy.js'), +// ) +// if (tsconfigResult.compilerOptions?.experimentalDecorators) { +// tsconfigRaw = { compilerOptions: { experimentalDecorators: true } } +// } +// } + +// return await esbuild.context({ +// absWorkingDir: process.cwd(), +// write: false, +// stdin: { +// contents: entries.map((e) => `import ${JSON.stringify(e)}`).join('\n'), +// loader: 'js', +// }, +// bundle: true, +// format: 'esm', +// logLevel: 'silent', +// plugins: [...plugins, plugin], +// ...esbuildOptions, +// tsconfigRaw, +// }) +// } + +async function prepareRolldownScanner( config: ResolvedConfig, entries: string[], deps: Record, missing: Record, scanContext?: { cancelled: boolean }, -): Promise { +): Promise< + | { + build: () => Promise + } + | undefined +> { const container = await createPluginContainer(config) if (scanContext?.cancelled) return - const plugin = esbuildScanPlugin(config, container, deps, missing, entries) + if (config.optimizeDeps.esbuildOptions) { + config.logger.error( + `You've set "optimizeDeps.esbuildOptions" in your config. ` + + `This is deprecated and vite already use rollup to optimize packages. ` + + `Please use "optimizeDeps.rollupOptions" instead.`, + ) + } - const { plugins = [], ...esbuildOptions } = - config.optimizeDeps?.esbuildOptions ?? {} + const { plugins: pluginsFromConfig = [], ...rollupOptions } = + config.optimizeDeps.rollupOptions ?? {} - // The plugin pipeline automatically loads the closest tsconfig.json. - // But esbuild doesn't support reading tsconfig.json if the plugin has resolved the path (https://github.com/evanw/esbuild/issues/2265). - // Due to syntax incompatibilities between the experimental decorators in TypeScript and TC39 decorators, - // we cannot simply set `"experimentalDecorators": true` or `false`. (https://github.com/vitejs/vite/pull/15206#discussion_r1417414715) - // Therefore, we use the closest tsconfig.json from the root to make it work in most cases. - let tsconfigRaw = esbuildOptions.tsconfigRaw - if (!tsconfigRaw && !esbuildOptions.tsconfig) { - const tsconfigResult = await loadTsconfigJsonForFile( - path.join(config.root, '_dummy.js'), - ) - if (tsconfigResult.compilerOptions?.experimentalDecorators) { - tsconfigRaw = { compilerOptions: { experimentalDecorators: true } } - } + const plugins = await asyncFlatten( + Array.isArray(pluginsFromConfig) ? pluginsFromConfig : [pluginsFromConfig], + ) + + plugins.push(rolldownScanPlugin(config, container, deps, missing, entries)) + + async function build() { + await rolldown.experimental_scan({ + input: entries, + logLevel: 'silent', + plugins, + ...rollupOptions, + }) } - return await esbuild.context({ - absWorkingDir: process.cwd(), - write: false, - stdin: { - contents: entries.map((e) => `import ${JSON.stringify(e)}`).join('\n'), - loader: 'js', - }, - bundle: true, - format: 'esm', - logLevel: 'silent', - plugins: [...plugins, plugin], - ...esbuildOptions, - tsconfigRaw, - }) + return { build } } function orderedDependencies(deps: Record) { @@ -286,7 +317,393 @@ const typeRE = /\btype\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/i const langRE = /\blang\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/i const contextRE = /\bcontext\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/i -function esbuildScanPlugin( +// function esbuildScanPlugin( +// config: ResolvedConfig, +// container: PluginContainer, +// depImports: Record, +// missing: Record, +// entries: string[], +// ): Plugin { +// const seen = new Map() + +// const resolve = async ( +// id: string, +// importer?: string, +// options?: ResolveIdOptions, +// ) => { +// const key = id + (importer && path.dirname(importer)) +// if (seen.has(key)) { +// return seen.get(key) +// } +// const resolved = await container.resolveId( +// id, +// importer && normalizePath(importer), +// { +// ...options, +// scan: true, +// }, +// ) +// const res = resolved?.id +// seen.set(key, res) +// return res +// } + +// const include = config.optimizeDeps?.include +// const exclude = [ +// ...(config.optimizeDeps?.exclude || []), +// '@vite/client', +// '@vite/env', +// ] + +// const isUnlessEntry = (path: string) => !entries.includes(path) + +// const externalUnlessEntry = ({ path }: { path: string }) => ({ +// path, +// external: isUnlessEntry(path), +// }) + +// const doTransformGlobImport = async ( +// contents: string, +// id: string, +// loader: Loader, +// ) => { +// let transpiledContents +// // transpile because `transformGlobImport` only expects js +// if (loader !== 'js') { +// transpiledContents = (await transform(contents, { loader })).code +// } else { +// transpiledContents = contents +// } + +// const result = await transformGlobImport( +// transpiledContents, +// id, +// config.root, +// resolve, +// ) + +// return result?.s.toString() || transpiledContents +// } + +// return { +// name: 'vite:dep-scan', +// setup(build) { +// const scripts: Record = {} + +// // external urls +// build.onResolve({ filter: externalRE }, ({ path }) => ({ +// path, +// external: true, +// })) + +// // data urls +// build.onResolve({ filter: dataUrlRE }, ({ path }) => ({ +// path, +// external: true, +// })) + +// // local scripts (`

    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⋘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%0Dl?`OX>7Zfd?<~GV3vIgbQavIn1Ora zi|DAW%R>RzWuQ>bK;4i;+6~Hj3JkQoSl*(rP&0x(IgSvVSWiu+qAIb(eoG<7GTE5M z-EQMYzxo+{c0a$=VXZbmJ8%eM{g$<0Z2)W&Jr-s}-O%h9(=yUT@l$nyS)TwbQci^m-1CgF-_BpXz}|%pF5LR^y0kM%a(^@{Xxpu(Bilf#ueshO#s)imYy!=} zikxd-=%}QnsmVfUJ`$KdZ!398rr)J1X=xoOjyl=QLzX2wOEo)IWbf~) zEXSNzsglm&BN9zHdl%P}8jcjNwuRZg((NBTwt(iYI2d1SUcN+IUw^rgDc0%iHwX0b}n}gbP7Pacf0aL_`zyQb%pqK1$R%|&@WX;v= znmKN8#7q!Znr@Ek4%}<4!SJ0Ig97NqTodCpw>ob;LAQCRD)mjJ{PBK}-cFD5qwcik zw9CI{FitP@}%Zd?y z&_rwz=Zg;BxxVvQC0c3c?#<4m=~H61b$p##Zd0Zh7$mjS)T=7yX73vFKT@4bkFp_& zU=ohqr&PvAyh+8r?2&Z>m}Pa=Vl-u2!v<$?^~Mi0?DG+7nPtfoXR1q;Bqrxm{+i=@ zT@+=Z8Vol^`+`qzls?WpzUX_}rkqE~ecfsk%$ej^oA3_VtOfbU)zg8x0TI&B22@02 zj1Tnkx&TG1(l`AnO?YesR(W=u7M)KE)3-&DVP>n$-AYwn}dEjW+7$$UK%v^pxGD|mk>`e~_O%sR2P3U*m--t%%{ zt9Ek2pWY>%#}i6ycmCCW;lml$JKqa=Ee+8~T)5J9?6>$7a#Q3?ZKnVKMz7_agpOUl z0&jkQKBm#LRr7Sj;ns3UKqLtHW!X||XucIYt@nh_RL@lDPruiuEL*i8eY!sYMQKr+ z%($O{Qd6Co@_^yvpi9cqGV<=P@Oa)6E!rQeZn!C!wM*|Q_@8F;X?}ABBC$MopAJSD z5)-#}#oZzfgHA%9VyG)_XQB^H0#wX?Vtemvv6rWLiCSGY=Nq zL%lpdCe3=kHeR+;ECEd(!e;Y3bO+DID;7AzpfT_Surz}2Dt#@gcZ1Fmi)bruwzE{$ z?5`ST{`!IHMtnH7(q#VhjxF5wB8rc@dUnSQ*L$x{8Y&>>JdXNB zfDL+l3Yyc_uq9g_qCkFzotG9=CUP08mu;tn{pyevr#H9BG5cwgS%gw2ZtRupeO3U# zAW%)lHI=l*O){wVU>^h?=}dYrE2O0J2gE*NBp2FX8pu(n>0JTc@ftp z*oyjbL(yIW^QwBuPFA97+5HjmiAvN{sc;cR*UQP&#&=F}M8rnA%3Y`HTF{QOn10?> zwc22W3(vxE82)wXlb_9U#lbTk$k<~tt@t6&Rc`@=_CRwL9RB;Ooi_}JtbL`>h7@K$ zW;A0phpaG{Xm^gW;ltR-!8re*u6jVP|kAg#rnnAXf>ir@0PgR;3{_&ERABY zyoM!$uM2OhO@~+wrwV$0TP;#y%_pP{$cjfr=1cpe*_s98xbr`)iMHFGxha4Xkk}sR zl8s)Pwy#^-eC))GVeCLH7E�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

    |#rWmn+mdnZbU9m{$7DPT+k#X`WNerCAbO z%1igTUFEwPLge+_-|XalMoE))hJx?0(-ym~t|acqJq=o>!Yk_|fTpX#8ySk{8V`v^ zUVpIbH^WK$){^n+rC=>GC@<=+xp)f5S;08(?;6yTv zzFm0$*(I^Q-LQGOi#0c@iLrW!5$m*YEf92JyXB1Oa^5ZuuIo!B8fd){9r0{(aRfxy z9ab2NzO4ylo|9r;CcUlU3)#VaBnJx-<&>KVw(z*n+rT+xQGxoVjdfhe??D6dn`HQb z^TKS2c_&5H0F^!)8~VM%F?sGewBA_I%djr-rQbT^RqC+7HK4I?O#}S3k$E|tcM~Dn zc+E6c^4(bB73$z!i?7tqAg%QD`JB%)RK&(Ntnv1I*Dm$!TPSosxNbt;q5*{$CQKJ^ z!S&s#A_F>^}SV-t8$|jsP^4lr9DdF zO+V^nKyd^u+qDgAZh<>(Tl+6K|$&&wTjybVw_+X<&wZph`gZ_@28ybZ- z0(2Hs4MN;S+Frm`jF+GqoR@Yg+U&`}kaRb-Ub$5R)iFdRC6MF_eKDLi{a^6ClzvZnl?|n;Zm=NC=*TXw=M1#gtnt1CP zVIK&*vP{gC!E|A~*N{Xv19lnj2&lVh%LkF+=wa}zrMv7@dz8XEA-f6yUdtj&*YR_D zqD)ASpnGHmuSM346sjvr=kyV#3m=ug)}Xtr@Mca5c;cki2CSD~f>sCf8V3#KK64?~ zYf}S&_h|>4yGWJfj9qJG8ZqOP-lV_og{T~}f6@{~xzu_i0i4y_E6{}(O0R0sz?=OG zDfG%E&VvR&o}}@n$lG^L)Z7AVXS`fOG481YLv+@o<4N1 zMw~TcvEEmj4~+~w18jwB%7upV%Gk1|#D!;bmMgJ$Kx}aHtoQ!i-jAd2CoR0SRz%)a z4yIiVfqf{my__tY8@6g{*!SnJ+P8LgiC6WB!pm8z&Uot)00_G=qali|i`O>aT4J6=fA3Pj^?Z{QdlpGv1X+yeaBx=nc&uFYXdyx0e*& z$?}IPydNK}@q(EH8{o0!n==}w6c>9j=kWgSvcg-zl3F(SLpcENbtLZ;Uh5 ze|aAp>aJ!)IYY|1@>Zsu0UR|v#-<^853wGjSLJV!@>DT0mv-Y=O%sIk+O_?S7;bQ) zx`JZQ4=XKVpH(NQmJ)9$yEWHti-7V9aqY1DYM5UC;8IO0ye^e~v$GB$x+F-v8m*Em zKPj`KUzm&35}hoDW+$?1c?i9lD7-3Kt+ODn5WegG68i2Y=`N>?ig9|OO5rn+wb*KK zT5eKSxqa{yBRjnxP4@My+b2|&L0Eem@EH6wWzC0oKH*HwEw=znI(Yq{uyBrBQCqF0 zNju;D_vxgMzULyN4AhJPGp(@5d3b%|W4ZGFo{fh3E3h#9mYn?|+y(dmTBxB8nqN9jscQF$fJC z%mfS~*_AaC8Cnt~0+UR*A|SN(89@6Ig!3Ak^BQYwWQT~S;MCXtxP7Om*Z2?kRNbn& z)ot@>_HbN%FA8rrzDvH0M%FFH>qf@7PMBc^`TRF()Yy{5D{JN%dX4wTJ@D2b=5`fy+-E+D=z&~8mxAaH?)|;YBZ5I2YBacFUqck@PmvWC`Co< zI*R-yuJ8KzuJ~?$1+f>t%BIXVB5zx}-lGrEMY7Et|1A6s6~9{ZccAhih2Z4ANqDu! zlkweA?@TeSb}M$thQs7D;6KWsyJVl_wV{U58LvsaMPC?KK&wl;gdGXWo2j_(MQnSB z?waqN?TV-By0z!$Pyg_d2F*DK*)_Tgy;bdgZ?P0#KnF0;yS1fKnK|CFZof}`_fh)p z2ipt$I(Y6S98=wu*IB%tdozdm#@n^~2JjyYBM#Zd=E*JuT*;Wb2kIBu^?a7{ipo~ee-MyM8~Mt_b|hoG?&~7yybuzdAAXFxns?tB)6?-ZUWZpQ7%-WH9yVJ@m%WZ^lnCoZi64s zp3Tq=G|bao1q`0MFuj`zw6~}k5O`y^Fv<`XsEYB0uwuDSuw9t0m5yM#qPl8u>qB>v zSOz$+X9jF*tQJpDHw6AyWQSPk3*+A-c5Xvh~Bw&m5R*#qYJxD;4!siHLAlz<0|a<{8` ztvR8g&Lg|g1V+PbBZo#lrXAuF9a~s0@zy*76A3CTA@Qz1+jnaxNys7AMJV?2Ds=B5 z>r%?0S5s`0>H#06jhWk0cvbvOpN73mH0;H8Wx~C=-h6LFSEeW^sL%tn-Hd=U%#`G4 zzNOR_hs_Wh#&E@VzliT1H!abr8lBQM;G^~&PWImU~DZ=CCe^+uJTEqj&1n|XH) zMqlzWN7XxvaNI~#NV$N9Jsq@Y)qIZ@e^BD|2H+jwQf`BFklxgIBj*2kJ@?UC4K&P% zyiG@xwJQH52)%Lg_HIalSFmvP!|A(sXPeA3WTu4gk|ri7wEjxmMU)xC?F3!`hi#iP zmrGPZkC(pBQyP90Q3m71@Ywd4=elxL(A^qjaOZpmfzQ=q2WI7573?oxBpjYeHaEl2 zGTq7fV-!=$3)`(VPj{O;)r89Z5JQy$)!bKV?m{E+w#Sc6G~IBhE?gI?>$F#1{@5=xA@$*rPw>a;;%;>G~-j^B>+GfCE9`#nNtt|_g&6NwO z@A~-edu{3;2l*FxQ-J!`Mz%3`&bvjoJ=$h!^osRH`qppRDCik@Cos=`Z)KHsX@*@c zMtIxt-d!{xz1>hR)EBTH>N__6yU#HVR(kCnZ$;np9O@aA_x$-}^{3fZ6jlTFGlRVR z-)@8dzy16~E%e}q>azJp;)|G@^^C4t(S26oRk~A5saI(ccQSifzf8HT`+g*Zi1?rWe_5E z_X&gL!x`LXzg0uwh3a0WyTNulx=V!ID!p=$foX;S-=?uY%35i+yDPXx7?SF$RK^l) zwKDd2j4021^n&NM;(0B&u9dX1mKT{-JIY?)6_M>s2zDFFu4<0%RYw`h3+a`6Sr!Kx zG1!Z7A4MM08zsGKnJSWi+zXNbLwEC{;iSD{w@;$H>e^_-$@b?F0`DqZ7*?xPSu&|_ zIMiIP!ZPi>%21@SPU(%u!d39yoqlu#;Z+yLOXdi9!#Wl*;bnE0rvTYXpzzA%HO-K$ zRyiJ6tcvp)#`P8RyBQ(8V;J3mE;{-Mia;dYh&f(lytsWrhw+{c!*yOv!2!NXaM?>l z2SvBi#?771S)g4u$RiU%+6^Kr!s~Qb{!b~q`a|MmHyN+%yJq`8$Ng(H*Pvu3S2c^N z#!I4;+*KC4P3XIiwqt-d+)5|6{$};jbOUTMmA)%iwzy%LnOgzH)y~5=;hM6ixfEgN z0q2z`=Y{NYJzvz!HiV6>!nPoZoVV9_o4JN5=dI1$3@@bD!ZMJ8gXStKm_c_h z0M-hvjV5hkhS*mAZcb@{^cL-H4S9E&>^AytQe8LCFx_Igs!?~nIL~!klG}c%Hh(w+ z0INmQ4G*iRewO7S`Kp5QV)ATZ|DJ;73P;st)`jwtwlabx zL8+&_kyGfUP>?$yyM7o^9?~l>17OF^Y_j}njR?I8(4doy*Lj*p8OO-iT!Yq(>;m|T znnuBYo~%OO_0fi4xAIQoMVCpc8_7e@c>9(XO{d_KN#0<(^?l0_``-)@VrS~{Zk)e+ zvM*TpmrFVBPD$h>_L<8{hwjQ8od4YnKcUY;Wia;3P0&CMEf9Jg=Dg5ZKY za=|h^anQZ--6OqXxLLJrcx{J`%q8C3CFQk{6-i4_M(HK|u%x$TxAf@tl$WuX=`qcW zHfRZK8kP&_LUkik4k`0y#mvtr&%?^15}>2bd*{Q z{^6P<3GdZKh4<<|QFr?f)5v!geZ6*uS4%HY^hLm^}UD3TWmg}C@v0IpIqOX2d zH9S|%p6O11)9+xUfiKpu2wy{awZbFFQr`PA@90d@zn~i@3^XCSTpVl$>4n)g=P9s5 zy9N0iVb)`j-G=ij)5y0JEk#|A_g;|{(0W@d4=dt*g#9MzmF*$9zC0$|Rk20!jarCm zBJoz02bC4)h3;x8z)POor|0y(i=vsmlfSEC^h=4geYtmS=L_u2O5?R?a8*~)fyP^O zSH77 zcjSAu{@;Xg+%X8^@t{>!MbCD3?$=%i+cgtBZgh?BX3$9ufB*FHuzoWX%wctg8Ckl|0c(+L55t_wSKbR9~#W{ zGT>0=I8S#GcolX$>b``GpcdRWOxR&CTN$7g4hJ0Z~HBquSCxAu7=6r?v-pozI`p$ln~uJG~M}gc)c~J@bclBm6ze~-1$;4 zj(hha?4t6{O1rStrfdb?zClrK{QpUKe?--PuNDzs1`2OG!>a~X>TZ@5WKk}&P?LHE8SGARHkMep?P>5bL+#vX1Lwk@} ztMr;vS}w|4-@tgCCmO}J(RnjHSrwGG|C&vnhtA7g*yZ2`-+__pNt+OPU6-*zUN78w zl{ZF48;v&@*#KMfUtJ0f_fcd9{pG_l0N>sD`MVFnck3!MG~V`5UI5vhAKA5<7D$P= z!B8(*L;xO!tkjYh;T=!Xq?u=EFbX?wAKb>_z$7#h@4x~{bxTI8LmRYA$9=omjH6vJ ztdkmkCXF{BiYxP26_X8oqg2&|>QV_Ruqn1azdJk80P*w-CKR@IuW&$=_xZF>g%`#v z6JnY{8?)HBSFO^l#(Hxc!fQn+Z+i!^f#%lc8HCh#-#eK5jkhT~steiO-~r>aPI_Z_ zLBU&P6G8V#{X?S;lLMDOW!oX}D)x`Vyqw-(9pAq0s-qh2+fFe6ZA;V5=e4OnB7+t& z!l5SMmvE@>N;9mB>q2_xDQ~;Y)Sg(zTT!hbyruIhT&BAUN_SO|K|YS80J-%-fj*%f z_g$Ldl}D*+k@kkd`y%WT_-YNnaVt^5Yop{Y3h(kfiq^jah4)9{R9J9c+_sDIuACDZ zEON;jhclq=R(0w4-S9GsS^PW}q*tB^KzBiZB$+@4e5^J*&+sl{nV^snw5O3R4l&4| zw93$T8?uYC%Nb;5(UW>>bXQqb%XJ&FdtTw)_tOgPs6zQ3={7d9Jxdmet@~bOSrxV4 zH>o!A41yv=Sc%Ra&UJ1%% zMd9s$n%llF2mDf=pzbOa36>9fVmXW-qw0BO2XUSrG;^%?dyH~J)J1vaSS9E#`mTrT z2wJjwuXCmX1m|1!+cURl?M z_j+KTly}tHg{jVJPT|ddg`wW_b6`e}K(st^4TZ&mw}%BVyqn;&)H$qU6{sh--T0m- z_Iu~(Zk_7DSi_QH3k6W_XkMdQd%!c%x<)?%Z>bm#{F!+sd`H zs#$d{UXApBS9pH}*QM221;Nq+puBaPaCm#$M4ivTWfQPn#W}8fd4>U^i_Z|F<^XQp>8n7`(liH`0vwTlT#OO)4hn3G*k$!{UM6h}8lFx@(XL9yq$<}Jrnfqq+f zltXm`bQ$;~2HKhowH zJQs!6_MU2l*Rviox66*ke@*BO(PGlKs?P8;|v^&-|()CjyDC0W8Nw!e*t$@|F#_A;e*mfZBdp;sLUikFdrl2LJ%7{(Yh!o*+Q`JhOT#5zlh6%yAuneJ68y!nV1A-n!;?#neOFs~G!1$W(+QyP?dVON+}cp2jjS9Jj| z`mP6PFTMUGUb01&oR%5y{ERY^{CiP&TTQoi-z@Pmz{^lW$9Cbn3v?G{*TZWSURfoG zuEO#uWXQW0u9}cVmd~HM8=)QDjatr!YCYAh0=j#a_9n&ksM=RSZB8EZ2J;JY)!HeW zyCLeb6l9=bvb3PKw8BG{h0j_zFWXM?;~z0?ZDIU|kB>^I!Va|<22RDdq+_{usq-?| z(8|4X#9afVH$I?&@T!FK29oo>klxeAuzlJ>JD|KEh8omPmG^XQK>l=1A8sGJKhUQt&TbZMB!*PfCiMx6`7AUei zAo6CV2f=CGO5imw(;M76agro`iXmN?I|v#J4y%JRUk)XM{FdxhTo=SdgG;@swFTq# z3)k#$GH1MnQJgocanLWiamE|Eu3T9mX^`hm-X)$H-Yx5J?{qir_6=$o!mJb8zde5u zAiV#4*ylM7uw74yz05-(=XZk$+r}-66nv8tTaOuEpq3DPR|5@?nyE;6H`p+Ym&xDe z);8gora#NIn~d;AyT*2%<0hN6Ei=8|%sLw$P=S9aGy-o#@8!0tS8`s)8f56a9wO$q zmeixgGSH7Z47MxRt*&DeFS5Y2m1_-+pGQs0ng;yR)4&9vxdaju;a~v6f@(M}|lvlB}Ku>ogmRVRlhpdSJ zzS~?j0Yc9OMRX&|-Rc5ifU>J-E9h>ixGMNGO&gdl3a^J2k3?p3v++lBOs)q_^O0B; zEO)Y_Wl`ZA{Uv2tz<~{n)IQ$Q5>VrjZEH|1;J+mBfxnPf0g;hd&{w8p4rj! zPE9#Lb!TUKNAn$&SA|N2UmtZ zqqdd32L8k>x0s+16==U%(X+TX{8})p5kX{OZYPF%xYw#f3 zm(=Ue-8>SVTL#T4x!ge zc{Ok$r+1NfD@H)#y_=DFsoFtaYAP$fKZUp9xS24a5?ptAtfAywD`axj^0NN;UC1s) ze-_zm72cosCKr~;ZaBiO+1xY(VSad5jxo^Cp1P|vd(Ffj+D#c`7fi`+L8Z&NNp!_- zRWq&Y@GcT>7GN(gHmM>AsUtTPFzxnxX#qCXF4e!Qwhr9hAmXr99p7qD^tPc z69x(nYtTx8My8~d%*tb-81D#5!WERY;j1-aSk+%VD!9E$-CYUdjyBH#bzIvD{RGC# zMQalQCT|Ii&fFX?Bsg_lrgo!+CS*^G0*9v+Be!34^6}kuLwBcI)NXn~>cJJ>BD+{% z1v4lx(_qPb7rZr2;~kChit;8t8TI`XrE%UEYzUI8it8pe>5;--yqK>okk<&m6dl{W zud{4xqCw^YuMys7N%)V?c05@T-angpHrR_4)+|LgTdFdovg;N@zqwOo;od?g@H(FM zAHIC~%lqQHJt=OHJolK)R~swcz1;wA>r?nC0HwyP=@(U*|(4*!kO-s@U$UOsP= z14!?J!W)#gIipuV;Z@jS9pzOh48H9|UIl#RYsDX@W$*`DVI9@tB=36m!3!uMydml` zzYvw9a=S}<3;9LV?V&DbGBC}M-E1QQXMW8LFG8<=qav)8Yj>BN)+3xZD=qoLXKUmt zWKm2jxz=~8@Fwl`a#rDuJcFMw%%D)lDGeB`w-I=wSkQM-cxSn8RWRS>>0JdG0jhgx zoPlYE^W(c%fgPi}{p>D)dwJ@w3L>ZMQGZ_PQb?lN}mofLWFHJ7kKaI0)T4QOtl z2!rZ&A}?Qi$`h+-(z%Q){&Xv#@Lt5)tZOpTP)QaiwxHrRQ@qs#YZB!4&R0I6-CaH5 zsj5yCv^>r{bO-a}QcD;AqrAX0BidRBO4T^LDJ4W~oHMbUna%xt`PuRgR}E6AtRN zDsN2jI;D9Eck^vw*sDj%;Hpecu2=N7&F?aD+@mMF z+#i)UuANtS!8Ho6?aHoeh}W*4*v2Kp9|fbirSg6jK3e%%BfUGLG%oKNlNF!2DYoMg zc{i!9+(Lp1c~|B68-LZUg7!qPx`m)W2f*o*cZj+4mOx@cGFzU6}%6r z&FI?%WO%#L5e$Oqs4Oy?`kB{$q}FSBJL`Ew@QQlE`w_*WDN3p{AwWZ*4`QK zI9SEeWL7tHH!488k#xOe|6^*~5#hFs^6~^*oZ%&g%ewbH-gR>fGI`eWC{c%Ji0_QX z%R`Fq^OOb{FNUxiH4^U(*DZCI0bZ>cb=NRCjLi2v-7VDB!q^m$+;(SvLEeS!%DHO7 ztv`yaJ9pRP%+b5BT}z<2hgOp?uc7x)| z>Or{3r*c%nqdY5r$5y=^jbzI4N_hMt>|Dt}FClp}gS{m0rsgXznfJZXT-)rUfxxR3 z$>Y&h*)}$ErW;zFH;lr6Ji>bwJSRA~o>AUwPftoI-XQTJ^43jBA+i9h?jr13$c3=$6*Q^JExt_$_vU*mIHaK%uV6#GL3uw&;!VPP57%v_ z-ugBBdZBXZz8&^5f2NWF;6!eU;vWB^E7rC=2FcVbTZ)qzO5F|FH!ERA;>}9#frR)A z)r~qrZylol?UWbJD?~>2Md)1ygAGhJ7?Rs6N0hY+FBq^01HJguk{ENQK_xx&MKGnr zAn)Z98wS+fGv|}#VZ3i-N;3N=rLt9cVZgvP)a*E%Oi622<7JO{YoW4i5pZJhQ|eqD z-Svkh;d+GlvX3`9vWv8PiT9G6(0+$Ayg%x^AK(xl$ zrybLc^6M2|EP}21qsZLD!e_@BNFEx%c4ww{n?rV+J>e{TP**X?uAC#r_%@A3kNw$h zP~7elG-s;$Ab2Mav$7UE)f0mY9_6{@uQl^b?KW91iMY2Uv#gz}8sLrL1`m-1#pbj! z`L=3gUNv8E3~bG71~AwKpKc#dmUO7n@yRb9X5yhJZ%p#alq1;c;EZ>dC5$)zK0Pox z;l0_Q@pj*v_`A6YiPxaMU4)=Vmk97`_x2&aWO{fw-S)56aR_UyrMHuEfCs~PGa=1n z%^APkxYpt-tmgh~QwV+cVb}BXLw^h}9G{=zRhM$rX` zCzsU>{lm>@bZQ{e9KZx@h-%Y~%aI}MX zKbWaILP`Z=l#+Xd&x8HASW$}i&RT$dYz z6;0T6SvOQ(50}BrF2q&dp19zJxjjt!s@h94wm@mdnxsO0@{Z%|#C+zJI-O!B&j z1KGXK@r6+vgR<6`j91VbbrORwkgw&_BC@w{A56Iw9&UFz-qvX-_L9-v(`r4~ZS+&v zJ3}3;J20=1Im7xl>tFfM!yxxwMBaq(a$EHU9pT8YV=kXLH^RynPuFd__Rv1=Gg5E!lL4-*t_0Yf#Pv zr3Kk%U>C6ObzL|yv=)-<-lAu|FLbv=T@_)dzVcYwE4PCTWpwO$CFXbmfVG0$l4KUY zn~{c=t3eUt}s1l$MSnlY3&# zAI%UBIGG_bqr3BLSJukCi>z0)7HKyp7^+f~p9l9sG%W$H8-oYMauu|a- (r@t0p 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 };aSumAGf1pNeR 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°P!4Ep% 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%0AnuX)jw_)*eA_2EA% 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