]> git.ipfire.org Git - thirdparty/vuejs/core.git/commitdiff
Merge branch 'minor' into vapor
authoredison <daiwei521@126.com>
Tue, 1 Apr 2025 13:01:53 +0000 (21:01 +0800)
committerGitHub <noreply@github.com>
Tue, 1 Apr 2025 13:01:53 +0000 (21:01 +0800)
13 files changed:
1  2 
.github/workflows/test.yml
package.json
packages-private/sfc-playground/src/App.vue
packages/compiler-sfc/package.json
packages/reactivity/src/ref.ts
packages/runtime-core/src/apiCreateApp.ts
packages/runtime-core/src/components/KeepAlive.ts
packages/runtime-core/src/helpers/useTemplateRef.ts
packages/runtime-core/src/index.ts
packages/runtime-core/src/renderer.ts
packages/vue/__tests__/e2e/Transition.spec.ts
pnpm-lock.yaml
pnpm-workspace.yaml

Simple merge
diff --cc package.json
index 2967aa4d4d30bcb4a48961ae32bd23fe7d5cf45f,a25a3150db60cab01417065a2d122b0ff52ba390..53173749350e67006ca18b34f86103de84187e88
      "@babel/parser": "catalog:",
      "@babel/types": "catalog:",
      "@rollup/plugin-alias": "^5.1.1",
-     "@rollup/plugin-commonjs": "^28.0.2",
+     "@rollup/plugin-commonjs": "^28.0.3",
      "@rollup/plugin-json": "^6.1.0",
-     "@rollup/plugin-node-resolve": "^16.0.0",
+     "@rollup/plugin-node-resolve": "^16.0.1",
      "@rollup/plugin-replace": "5.0.4",
-     "@swc/core": "^1.10.8",
+     "@swc/core": "^1.11.12",
      "@types/hash-sum": "^1.0.2",
-     "@types/node": "^22.10.7",
+     "@types/node": "^22.13.13",
      "@types/semver": "^7.5.8",
      "@types/serve-handler": "^6.1.4",
-     "@vitest/coverage-v8": "^3.0.2",
 +    "@vitest/ui": "^3.0.2",
+     "@vitest/coverage-v8": "^3.0.9",
+     "@vitest/eslint-plugin": "^1.1.38",
      "@vue/consolidate": "1.0.0",
      "conventional-changelog-cli": "^5.0.0",
      "enquirer": "^2.4.1",
Simple merge
Simple merge
index 9540f25c4df4038fa2ea699ca0e89def08cb56da,f516d14c9bd8c229a398d9e0f0f1a924a8fff934..8ba4409c52a61f4441f6877d35d71dadc568e995
@@@ -5,10 -5,12 +5,12 @@@ import { EMPTY_OBJ } from '@vue/shared
  
  export const knownTemplateRefs: WeakSet<ShallowRef> = new WeakSet()
  
+ export type TemplateRef<T = unknown> = Readonly<ShallowRef<T | null>>
  export function useTemplateRef<T = unknown, Keys extends string = string>(
    key: Keys,
 -): TemplateRef<T> {
 -  const i = getCurrentInstance()
 +): Readonly<ShallowRef<T | null>> {
 +  const i = getCurrentGenericInstance()
    const r = shallowRef(null)
    if (i) {
      const refs = i.refs === EMPTY_OBJ ? (i.refs = {}) : i.refs
Simple merge
Simple merge
index 51a6d0b348f7e9e2bc7fc119db95203b39262889,14441bd823b84a1df298315d45228eee6dab579c..0d46e03566d8ab2c389934fb10c2c56fc8ccdfb7
@@@ -1,5 -1,4 +1,6 @@@
 +// @vitest-environment jsdom
 +
+ import type { ElementHandle } from 'puppeteer'
  import { E2E_TIMEOUT, setupPuppeteer } from './e2eUtils'
  import path from 'node:path'
  import { Transition, createApp, h, nextTick, ref } from 'vue'
diff --cc pnpm-lock.yaml
index ef91ac8188a043ff30e1cbc5b30cb654c1e59ee4,43bd730f692f300f92cde26fe930d77f7e41e766..bc4e5a164ba497c1fcfc9ef8e276cae1d37392f7
@@@ -174,33 -171,14 +174,33 @@@ importers
          specifier: ~5.6.2
          version: 5.6.2
        typescript-eslint:
-         specifier: ^8.20.0
-         version: 8.20.0(eslint@9.18.0)(typescript@5.6.2)
+         specifier: ^8.27.0
+         version: 8.27.0(eslint@9.23.0)(typescript@5.6.2)
        vite:
          specifier: 'catalog:'
 -        version: 5.4.14(@types/node@22.13.13)(sass@1.86.0)
 +        version: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
        vitest:
 -        specifier: ^3.0.9
 -        version: 3.0.9(@types/node@22.13.13)(jsdom@26.0.0)(sass@1.86.0)
 +        specifier: ^3.0.2
 +        version: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 +
 +  packages-private/benchmark:
 +    dependencies:
 +      '@vitejs/plugin-vue':
 +        specifier: 'catalog:'
 +        version: https://pkg.pr.new/@vitejs/plugin-vue@c156992(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))(vue@3.5.13(typescript@5.6.2))
 +      connect:
 +        specifier: ^3.7.0
 +        version: 3.7.0
 +      sirv:
 +        specifier: ^2.0.4
 +        version: 2.0.4
 +      vite:
 +        specifier: 'catalog:'
 +        version: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 +    devDependencies:
 +      '@types/connect':
 +        specifier: ^3.4.38
 +        version: 3.4.38
  
    packages-private/dts-built-test:
      dependencies:
@@@ -1196,68 -1126,123 +1238,124 @@@ packages
      cpu: [x64]
      os: [freebsd]
  
-   '@rollup/rollup-linux-arm-gnueabihf@4.31.0':
-     resolution: {integrity: sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==}
+   '@rollup/rollup-freebsd-x64@4.37.0':
+     resolution: {integrity: sha512-SZMxNttjPKvV14Hjck5t70xS3l63sbVwl98g3FlVVx2YIDmfUIy29jQrsw06ewEYQ8lQSuY9mpAPlmgRD2iSsA==}
+     cpu: [x64]
+     os: [freebsd]
+   '@rollup/rollup-linux-arm-gnueabihf@4.34.2':
+     resolution: {integrity: sha512-lfqTpWjSvbgQP1vqGTXdv+/kxIznKXZlI109WkIFPbud41bjigjNmOAAKoazmRGx+k9e3rtIdbq2pQZPV1pMig==}
      cpu: [arm]
      os: [linux]
-     libc: [glibc]
  
-   '@rollup/rollup-linux-arm-musleabihf@4.31.0':
-     resolution: {integrity: sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==}
+   '@rollup/rollup-linux-arm-gnueabihf@4.37.0':
+     resolution: {integrity: sha512-hhAALKJPidCwZcj+g+iN+38SIOkhK2a9bqtJR+EtyxrKKSt1ynCBeqrQy31z0oWU6thRZzdx53hVgEbRkuI19w==}
+     cpu: [arm]
+     os: [linux]
+   '@rollup/rollup-linux-arm-musleabihf@4.34.2':
+     resolution: {integrity: sha512-RGjqULqIurqqv+NJTyuPgdZhka8ImMLB32YwUle2BPTDqDoXNgwFjdjQC59FbSk08z0IqlRJjrJ0AvDQ5W5lpw==}
      cpu: [arm]
      os: [linux]
-     libc: [musl]
  
-   '@rollup/rollup-linux-arm64-gnu@4.31.0':
-     resolution: {integrity: sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==}
+   '@rollup/rollup-linux-arm-musleabihf@4.37.0':
+     resolution: {integrity: sha512-jUb/kmn/Gd8epbHKEqkRAxq5c2EwRt0DqhSGWjPFxLeFvldFdHQs/n8lQ9x85oAeVb6bHcS8irhTJX2FCOd8Ag==}
+     cpu: [arm]
+     os: [linux]
+   '@rollup/rollup-linux-arm64-gnu@4.34.2':
+     resolution: {integrity: sha512-ZvkPiheyXtXlFqHpsdgscx+tZ7hoR59vOettvArinEspq5fxSDSgfF+L5wqqJ9R4t+n53nyn0sKxeXlik7AY9Q==}
+     cpu: [arm64]
+     os: [linux]
+   '@rollup/rollup-linux-arm64-gnu@4.37.0':
+     resolution: {integrity: sha512-oNrJxcQT9IcbcmKlkF+Yz2tmOxZgG9D9GRq+1OE6XCQwCVwxixYAa38Z8qqPzQvzt1FCfmrHX03E0pWoXm1DqA==}
      cpu: [arm64]
      os: [linux]
-     libc: [glibc]
  
-   '@rollup/rollup-linux-arm64-musl@4.31.0':
-     resolution: {integrity: sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==}
+   '@rollup/rollup-linux-arm64-musl@4.34.2':
+     resolution: {integrity: sha512-UlFk+E46TZEoxD9ufLKDBzfSG7Ki03fo6hsNRRRHF+KuvNZ5vd1RRVQm8YZlGsjcJG8R252XFK0xNPay+4WV7w==}
+     cpu: [arm64]
+     os: [linux]
+   '@rollup/rollup-linux-arm64-musl@4.37.0':
+     resolution: {integrity: sha512-pfxLBMls+28Ey2enpX3JvjEjaJMBX5XlPCZNGxj4kdJyHduPBXtxYeb8alo0a7bqOoWZW2uKynhHxF/MWoHaGQ==}
      cpu: [arm64]
      os: [linux]
 +    libc: [musl]
  
-   '@rollup/rollup-linux-loongarch64-gnu@4.31.0':
-     resolution: {integrity: sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==}
+   '@rollup/rollup-linux-loongarch64-gnu@4.34.2':
+     resolution: {integrity: sha512-hJhfsD9ykx59jZuuoQgYT1GEcNNi3RCoEmbo5OGfG8RlHOiVS7iVNev9rhLKh7UBYq409f4uEw0cclTXx8nh8Q==}
+     cpu: [loong64]
+     os: [linux]
+   '@rollup/rollup-linux-loongarch64-gnu@4.37.0':
+     resolution: {integrity: sha512-yCE0NnutTC/7IGUq/PUHmoeZbIwq3KRh02e9SfFh7Vmc1Z7atuJRYWhRME5fKgT8aS20mwi1RyChA23qSyRGpA==}
      cpu: [loong64]
      os: [linux]
-     libc: [glibc]
  
-   '@rollup/rollup-linux-powerpc64le-gnu@4.31.0':
-     resolution: {integrity: sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==}
+   '@rollup/rollup-linux-powerpc64le-gnu@4.34.2':
+     resolution: {integrity: sha512-g/O5IpgtrQqPegvqopvmdCF9vneLE7eqYfdPWW8yjPS8f63DNam3U4ARL1PNNB64XHZDHKpvO2Giftf43puB8Q==}
+     cpu: [ppc64]
+     os: [linux]
+   '@rollup/rollup-linux-powerpc64le-gnu@4.37.0':
+     resolution: {integrity: sha512-NxcICptHk06E2Lh3a4Pu+2PEdZ6ahNHuK7o6Np9zcWkrBMuv21j10SQDJW3C9Yf/A/P7cutWoC/DptNLVsZ0VQ==}
      cpu: [ppc64]
      os: [linux]
-     libc: [glibc]
  
-   '@rollup/rollup-linux-riscv64-gnu@4.31.0':
-     resolution: {integrity: sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==}
+   '@rollup/rollup-linux-riscv64-gnu@4.34.2':
+     resolution: {integrity: sha512-bSQijDC96M6PuooOuXHpvXUYiIwsnDmqGU8+br2U7iPoykNi9JtMUpN7K6xml29e0evK0/g0D1qbAUzWZFHY5Q==}
+     cpu: [riscv64]
+     os: [linux]
+   '@rollup/rollup-linux-riscv64-gnu@4.37.0':
+     resolution: {integrity: sha512-PpWwHMPCVpFZLTfLq7EWJWvrmEuLdGn1GMYcm5MV7PaRgwCEYJAwiN94uBuZev0/J/hFIIJCsYw4nLmXA9J7Pw==}
+     cpu: [riscv64]
+     os: [linux]
+   '@rollup/rollup-linux-riscv64-musl@4.37.0':
+     resolution: {integrity: sha512-DTNwl6a3CfhGTAOYZ4KtYbdS8b+275LSLqJVJIrPa5/JuIufWWZ/QFvkxp52gpmguN95eujrM68ZG+zVxa8zHA==}
      cpu: [riscv64]
      os: [linux]
-     libc: [glibc]
  
-   '@rollup/rollup-linux-s390x-gnu@4.31.0':
-     resolution: {integrity: sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==}
+   '@rollup/rollup-linux-s390x-gnu@4.34.2':
+     resolution: {integrity: sha512-49TtdeVAsdRuiUHXPrFVucaP4SivazetGUVH8CIxVsNsaPHV4PFkpLmH9LeqU/R4Nbgky9lzX5Xe1NrzLyraVA==}
+     cpu: [s390x]
+     os: [linux]
+   '@rollup/rollup-linux-s390x-gnu@4.37.0':
+     resolution: {integrity: sha512-hZDDU5fgWvDdHFuExN1gBOhCuzo/8TMpidfOR+1cPZJflcEzXdCy1LjnklQdW8/Et9sryOPJAKAQRw8Jq7Tg+A==}
      cpu: [s390x]
      os: [linux]
-     libc: [glibc]
  
-   '@rollup/rollup-linux-x64-gnu@4.31.0':
-     resolution: {integrity: sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==}
+   '@rollup/rollup-linux-x64-gnu@4.34.2':
+     resolution: {integrity: sha512-j+jFdfOycLIQ7FWKka9Zd3qvsIyugg5LeZuHF6kFlXo6MSOc6R1w37YUVy8VpAKd81LMWGi5g9J25P09M0SSIw==}
      cpu: [x64]
      os: [linux]
-     libc: [glibc]
  
-   '@rollup/rollup-linux-x64-musl@4.31.0':
-     resolution: {integrity: sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==}
+   '@rollup/rollup-linux-x64-gnu@4.37.0':
+     resolution: {integrity: sha512-pKivGpgJM5g8dwj0ywBwe/HeVAUSuVVJhUTa/URXjxvoyTT/AxsLTAbkHkDHG7qQxLoW2s3apEIl26uUe08LVQ==}
      cpu: [x64]
      os: [linux]
-     libc: [musl]
  
-   '@rollup/rollup-win32-arm64-msvc@4.31.0':
-     resolution: {integrity: sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==}
+   '@rollup/rollup-linux-x64-musl@4.34.2':
+     resolution: {integrity: sha512-aDPHyM/D2SpXfSNCVWCxyHmOqN9qb7SWkY1+vaXqMNMXslZYnwh9V/UCudl6psyG0v6Ukj7pXanIpfZwCOEMUg==}
+     cpu: [x64]
+     os: [linux]
+   '@rollup/rollup-linux-x64-musl@4.37.0':
+     resolution: {integrity: sha512-E2lPrLKE8sQbY/2bEkVTGDEk4/49UYRVWgj90MY8yPjpnGBQ+Xi1Qnr7b7UIWw1NOggdFQFOLZ8+5CzCiz143w==}
+     cpu: [x64]
+     os: [linux]
+   '@rollup/rollup-win32-arm64-msvc@4.34.2':
+     resolution: {integrity: sha512-LQRkCyUBnAo7r8dbEdtNU08EKLCJMgAk2oP5H3R7BnUlKLqgR3dUjrLBVirmc1RK6U6qhtDw29Dimeer8d5hzQ==}
+     cpu: [arm64]
+     os: [win32]
+   '@rollup/rollup-win32-arm64-msvc@4.37.0':
+     resolution: {integrity: sha512-Jm7biMazjNzTU4PrQtr7VS8ibeys9Pn29/1bm4ph7CP2kf21950LgN+BaE2mJ1QujnvOc6p54eWWiVvn05SOBg==}
      cpu: [arm64]
      os: [win32]
  
      engines: {node: '>=10'}
      cpu: [arm64]
      os: [linux]
 +    libc: [glibc]
  
-   '@swc/core-linux-arm64-musl@1.10.8':
-     resolution: {integrity: sha512-wI0Hny8fHbBK/OjJ7eFYP0uDKiCMMMr5OBWGKMRRUvWs2zlGeJQZbwUeCnWuLLXzDfL+feMfh5TieYlqKTTtRw==}
+   '@swc/core-linux-arm64-musl@1.11.12':
+     resolution: {integrity: sha512-3dlHowBgYBgi23ZBSvFHe/tD3PowEhxfVAy08NckWBeaG/e4dyrYMhAiccfuy6jkDYXEF1L2DtpRtxGImxoaPg==}
      engines: {node: '>=10'}
      cpu: [arm64]
      os: [linux]
 +    libc: [musl]
  
-   '@swc/core-linux-x64-gnu@1.10.8':
-     resolution: {integrity: sha512-24FCRUFO8gzPP2eu3soHTm3lk+ktcsIhdM2DTOlXGA+2TBYFWgAZX/yZV+eeRrtIZYSr4OcOWsNWnQ5Ma4budA==}
+   '@swc/core-linux-x64-gnu@1.11.12':
+     resolution: {integrity: sha512-ToEWzLA5lXlYCbGNzMow6+uy4zhpXKQyFb3RHM8AYVb0n4pNPWvwF+8ybWDimeGBBaHJLgRQsUMuJ4NV6urSrA==}
      engines: {node: '>=10'}
      cpu: [x64]
      os: [linux]
 +    libc: [glibc]
  
-   '@swc/core-linux-x64-musl@1.10.8':
-     resolution: {integrity: sha512-mBo7M/FmUhoWpUG17MLbS98iRA7t6ThxQBWDJZd322whkN1GqrvumYm2wvvjmoMTeDOPwAL3hIIa5H+Q4vb1zA==}
+   '@swc/core-linux-x64-musl@1.11.12':
+     resolution: {integrity: sha512-N5xF+MDZr79e8gvVXX3YP1bMeaRL16Kst/R7bGUQvvCq1UGD86qMUtSr5KfCl0h5SNKP2YKtkN98HQLnGEikow==}
      engines: {node: '>=10'}
      cpu: [x64]
      os: [linux]
 +    libc: [musl]
  
-   '@swc/core-win32-arm64-msvc@1.10.8':
-     resolution: {integrity: sha512-rXJ9y77JZZXoZkgFR0mObKa3TethRBJ6Exs/pwhScl9pz4qsfxhj/bQbEu1g1i/ihmd0l+IKZwGSC7Ibh3HA2Q==}
+   '@swc/core-win32-arm64-msvc@1.11.12':
+     resolution: {integrity: sha512-/PYiyYWSQRtMoOamMfhAfq0y3RWk9LpUZ49yetJn2XI85TRkL5u2DTLLNkTPvoTiCfo0eZOJF9t5b7Z6ly0iHQ==}
      engines: {node: '>=10'}
      cpu: [arm64]
      os: [win32]
        vite:
          optional: true
  
-   '@vitest/pretty-format@3.0.2':
-     resolution: {integrity: sha512-yBohcBw/T/p0/JRgYD+IYcjCmuHzjC3WLAKsVE4/LwiubzZkE8N49/xIQ/KGQwDRA8PaviF8IRO8JMWMngdVVQ==}
-   '@vitest/pretty-format@3.0.4':
-     resolution: {integrity: sha512-ts0fba+dEhK2aC9PFuZ9LTpULHpY/nd6jhAQ5IMU7Gaj7crPCTdCFfgvXxruRBLFS+MLraicCuFXxISEq8C93g==}
+   '@vitest/pretty-format@3.0.9':
+     resolution: {integrity: sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==}
  
-   '@vitest/runner@3.0.2':
-     resolution: {integrity: sha512-GHEsWoncrGxWuW8s405fVoDfSLk6RF2LCXp6XhevbtDjdDme1WV/eNmUueDfpY1IX3MJaCRelVCEXsT9cArfEg==}
+   '@vitest/runner@3.0.9':
+     resolution: {integrity: sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==}
  
-   '@vitest/snapshot@3.0.2':
-     resolution: {integrity: sha512-h9s67yD4+g+JoYG0zPCo/cLTabpDqzqNdzMawmNPzDStTiwxwkyYM1v5lWE8gmGv3SVJ2DcxA2NpQJZJv9ym3g==}
+   '@vitest/snapshot@3.0.9':
+     resolution: {integrity: sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==}
  
-   '@vitest/spy@3.0.2':
-     resolution: {integrity: sha512-8mI2iUn+PJFMT44e3ISA1R+K6ALVs47W6eriDTfXe6lFqlflID05MB4+rIFhmDSLBj8iBsZkzBYlgSkinxLzSQ==}
-   '@vitest/ui@3.0.4':
-     resolution: {integrity: sha512-e+s2F9e9FUURkZ5aFIe1Fi3Y8M7UF6gEuShcaV/ur7y/Ldri+1tzWQ1TJq9Vas42NXnXvCAIrU39Z4U2RyET6g==}
-     peerDependencies:
-       vitest: 3.0.4
+   '@vitest/spy@3.0.9':
+     resolution: {integrity: sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==}
  
-   '@vitest/utils@3.0.2':
-     resolution: {integrity: sha512-Qu01ZYZlgHvDP02JnMBRpX43nRaZtNpIzw3C1clDXmn8eakgX6iQVGzTQ/NjkIr64WD8ioqOjkaYRVvHQI5qiw==}
+   '@vitest/utils@3.0.9':
+     resolution: {integrity: sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==}
  
 +  '@vitest/utils@3.0.4':
 +    resolution: {integrity: sha512-8BqC1ksYsHtbWH+DfpOAKrFw3jl3Uf9J7yeFh85Pz52IWuh1hBBtyfEbRNNZNjl8H8A5yMLH9/t+k7HIKzQcZQ==}
 +
 +  '@vue/compiler-core@3.5.13':
 +    resolution: {integrity: sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==}
 +
 +  '@vue/compiler-dom@3.5.13':
 +    resolution: {integrity: sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==}
 +
 +  '@vue/compiler-sfc@3.5.13':
 +    resolution: {integrity: sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==}
 +
 +  '@vue/compiler-ssr@3.5.13':
 +    resolution: {integrity: sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==}
 +
    '@vue/consolidate@1.0.0':
      resolution: {integrity: sha512-oTyUE+QHIzLw2PpV14GD/c7EohDyP64xCniWTcqcEmTd699eFqTIwOmtDYjcO1j3QgdXoJEoWv1/cCdLrRoOfg==}
      engines: {node: '>= 0.12.0'}
      resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
      engines: {node: '>= 0.8'}
  
-   commander@12.1.0:
-     resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==}
+   commander@13.1.0:
+     resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==}
      engines: {node: '>=18'}
  
 +  commander@2.20.3:
 +    resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
 +
    commondir@1.0.1:
      resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
  
      resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
      engines: {node: '>=14'}
  
-   simple-git-hooks@2.11.1:
-     resolution: {integrity: sha512-tgqwPUMDcNDhuf1Xf6KTUsyeqGdgKMhzaH4PAZZuzguOgTl5uuyeYe/8mWgAr6IBxB5V06uqEf6Dy37gIWDtDg==}
+   simple-git-hooks@2.12.1:
+     resolution: {integrity: sha512-NB3V4XyCOrWTIhjh85DyEoVlM3adHWwqQXKYHmuegy/108bJPP6YxuPGm4ZKBq1+GVKRbKJuzNY//09cMJYp+A==}
      hasBin: true
  
 +  sirv@2.0.4:
 +    resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==}
 +    engines: {node: '>= 10'}
 +
 +  sirv@3.0.0:
 +    resolution: {integrity: sha512-BPwJGUeDaDCHihkORDchNyyTvWFhcusy1XMmhEVTQTwGeybFbp8YEmB+njbPnth1FibULBSBVwCQni25XlCUDg==}
 +    engines: {node: '>=18'}
 +
    slice-ansi@5.0.0:
      resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==}
      engines: {node: '>=12'}
      engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
      hasBin: true
  
-   vite-plugin-inspect@0.8.7:
-     resolution: {integrity: sha512-/XXou3MVc13A5O9/2Nd6xczjrUwt7ZyI9h8pTnUMkr5SshLcb0PJUOVq2V+XVkdeU4njsqAtmK87THZuO2coGA==}
-     engines: {node: '>=14'}
-     peerDependencies:
-       '@nuxt/kit': '*'
-       vite: ^3.1.0 || ^4.0.0 || ^5.0.0-0
-     peerDependenciesMeta:
-       '@nuxt/kit':
-         optional: true
-   vite@5.4.8:
-     resolution: {integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==}
+   vite@5.4.14:
+     resolution: {integrity: sha512-EK5cY7Q1D8JNhSaPKVK4pwBFvaTmZxEnoKXLG/U9gmdDcihQGNzFlgIvaxezFR4glP1LsuiedwMBqCXH3wZccA==}
      engines: {node: ^18.0.0 || >=20.0.0}
      hasBin: true
-     peerDependencies:
-       '@types/node': ^18.0.0 || >=20.0.0
-       less: '*'
-       lightningcss: ^1.21.0
-       sass: '*'
-       sass-embedded: '*'
-       stylus: '*'
-       sugarss: '*'
-       terser: ^5.4.0
-     peerDependenciesMeta:
-       '@types/node':
-         optional: true
-       less:
-         optional: true
-       lightningcss:
-         optional: true
-       sass:
-         optional: true
-       sass-embedded:
-         optional: true
-       stylus:
-         optional: true
-       sugarss:
-         optional: true
-       terser:
-         optional: true
-   vite@6.1.0:
-     resolution: {integrity: sha512-RjjMipCKVoR4hVfPY6GQTgveinjNuyLw+qruksLDvA5ktI1150VmcMBKmQaEWJhg/j6Uaf6dNCNA0AfdzUb/hQ==}
-     engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
-     hasBin: true
      peerDependencies:
 -      '@types/node': ^18.0.0 || >=20.0.0
 +      '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
 +      jiti: '>=1.21.0'
        less: '*'
        lightningcss: ^1.21.0
        sass: '*'
          optional: true
        terser:
          optional: true
 +      tsx:
 +        optional: true
 +      yaml:
 +        optional: true
  
-   vitest@3.0.2:
-     resolution: {integrity: sha512-5bzaHakQ0hmVVKLhfh/jXf6oETDBtgPo8tQCHYB+wftNgFJ+Hah67IsWc8ivx4vFL025Ow8UiuTf4W57z4izvQ==}
+   vitest@3.0.9:
+     resolution: {integrity: sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==}
      engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
      hasBin: true
      peerDependencies:
@@@ -4518,22 -4336,20 +4622,22 @@@ snapshots
  
    '@types/trusted-types@2.0.7': {}
  
 +  '@types/web-bluetooth@0.0.20': {}
 +
    '@types/yauzl@2.10.3':
      dependencies:
-       '@types/node': 22.10.7
+       '@types/node': 22.13.13
      optional: true
  
-   '@typescript-eslint/eslint-plugin@8.20.0(@typescript-eslint/parser@8.20.0(eslint@9.18.0)(typescript@5.6.2))(eslint@9.18.0)(typescript@5.6.2)':
+   '@typescript-eslint/eslint-plugin@8.27.0(@typescript-eslint/parser@8.27.0(eslint@9.23.0)(typescript@5.6.2))(eslint@9.23.0)(typescript@5.6.2)':
      dependencies:
        '@eslint-community/regexpp': 4.12.1
-       '@typescript-eslint/parser': 8.20.0(eslint@9.18.0)(typescript@5.6.2)
-       '@typescript-eslint/scope-manager': 8.20.0
-       '@typescript-eslint/type-utils': 8.20.0(eslint@9.18.0)(typescript@5.6.2)
-       '@typescript-eslint/utils': 8.20.0(eslint@9.18.0)(typescript@5.6.2)
-       '@typescript-eslint/visitor-keys': 8.20.0
-       eslint: 9.18.0
+       '@typescript-eslint/parser': 8.27.0(eslint@9.23.0)(typescript@5.6.2)
+       '@typescript-eslint/scope-manager': 8.27.0
+       '@typescript-eslint/type-utils': 8.27.0(eslint@9.23.0)(typescript@5.6.2)
+       '@typescript-eslint/utils': 8.27.0(eslint@9.23.0)(typescript@5.6.2)
+       '@typescript-eslint/visitor-keys': 8.27.0
+       eslint: 9.23.0
        graphemer: 1.4.0
        ignore: 5.3.1
        natural-compare: 1.4.0
      dependencies:
        tinyspy: 3.0.2
  
-   '@vitest/ui@3.0.4(vitest@3.0.2)':
-     dependencies:
-       '@vitest/utils': 3.0.4
-       fflate: 0.8.2
-       flatted: 3.3.2
-       pathe: 2.0.2
-       sirv: 3.0.0
-       tinyglobby: 0.2.10
-       tinyrainbow: 2.0.0
-       vitest: 3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
-   '@vitest/utils@3.0.2':
+   '@vitest/utils@3.0.9':
      dependencies:
-       '@vitest/pretty-format': 3.0.2
-       loupe: 3.1.2
+       '@vitest/pretty-format': 3.0.9
+       loupe: 3.1.3
        tinyrainbow: 2.0.0
  
 +  '@vitest/utils@3.0.4':
 +    dependencies:
 +      '@vitest/pretty-format': 3.0.4
 +      loupe: 3.1.2
 +      tinyrainbow: 2.0.0
 +
 +  '@vue/compiler-core@3.5.13':
 +    dependencies:
 +      '@babel/parser': 7.26.2
 +      '@vue/shared': 3.5.13
 +      entities: 4.5.0
 +      estree-walker: 2.0.2
 +      source-map-js: 1.2.1
 +
 +  '@vue/compiler-dom@3.5.13':
 +    dependencies:
 +      '@vue/compiler-core': 3.5.13
 +      '@vue/shared': 3.5.13
 +
 +  '@vue/compiler-sfc@3.5.13':
 +    dependencies:
 +      '@babel/parser': 7.26.2
 +      '@vue/compiler-core': 3.5.13
 +      '@vue/compiler-dom': 3.5.13
 +      '@vue/compiler-ssr': 3.5.13
 +      '@vue/shared': 3.5.13
 +      estree-walker: 2.0.2
 +      magic-string: 0.30.17
 +      postcss: 8.5.1
 +      source-map-js: 1.2.1
 +
 +  '@vue/compiler-ssr@3.5.13':
 +    dependencies:
 +      '@vue/compiler-dom': 3.5.13
 +      '@vue/shared': 3.5.13
 +
    '@vue/consolidate@1.0.0': {}
  
-   '@vue/reactivity@3.5.13':
-     dependencies:
-       '@vue/shared': 3.5.13
    '@vue/repl@4.5.1': {}
  
-   '@vue/runtime-core@3.5.13':
-     dependencies:
-       '@vue/reactivity': 3.5.13
-       '@vue/shared': 3.5.13
-   '@vue/runtime-dom@3.5.13':
-     dependencies:
-       '@vue/reactivity': 3.5.13
-       '@vue/runtime-core': 3.5.13
-       '@vue/shared': 3.5.13
-       csstype: 3.1.3
-   '@vue/server-renderer@3.5.13(vue@3.5.13(typescript@5.6.2))':
-     dependencies:
-       '@vue/compiler-ssr': 3.5.13
-       '@vue/shared': 3.5.13
-       vue: 3.5.13(typescript@5.6.2)
-   '@vue/shared@3.5.13': {}
-   '@vueuse/core@11.1.0(vue@packages+vue)':
-     dependencies:
-       '@types/web-bluetooth': 0.0.20
-       '@vueuse/metadata': 11.1.0
-       '@vueuse/shared': 11.1.0(vue@packages+vue)
-       vue-demi: 0.14.10(vue@packages+vue)
-     transitivePeerDependencies:
-       - '@vue/composition-api'
-       - vue
-   '@vueuse/metadata@11.1.0': {}
-   '@vueuse/shared@11.1.0(vue@packages+vue)':
-     dependencies:
-       vue-demi: 0.14.10(vue@packages+vue)
-     transitivePeerDependencies:
-       - '@vue/composition-api'
-       - vue
    '@zeit/schemas@2.36.0': {}
  
    accepts@1.3.8:
      dependencies:
        delayed-stream: 1.0.0
  
-   commander@12.1.0: {}
+   commander@13.1.0: {}
  
 +  commander@2.20.3:
 +    optional: true
 +
    commondir@1.0.1: {}
  
    compare-func@2.0.0:
  
    concat-map@0.0.1: {}
  
 +  connect@3.7.0:
 +    dependencies:
 +      debug: 2.6.9
 +      finalhandler: 1.1.2
 +      parseurl: 1.3.3
 +      utils-merge: 1.0.1
 +    transitivePeerDependencies:
 +      - supports-color
 +
    constantinople@4.0.1:
      dependencies:
-       '@babel/parser': 7.26.2
-       '@babel/types': 7.26.0
+       '@babel/parser': 7.26.10
+       '@babel/types': 7.26.10
  
    content-disposition@0.5.2: {}
  
  
    monaco-editor@0.52.2: {}
  
 +  mrmime@2.0.0: {}
 +
    ms@2.0.0: {}
  
-   ms@2.1.2: {}
    ms@2.1.3: {}
  
    nanoid@3.3.8: {}
  
    signal-exit@4.1.0: {}
  
-   simple-git-hooks@2.11.1: {}
+   simple-git-hooks@2.12.1: {}
  
 +  sirv@2.0.4:
 +    dependencies:
 +      '@polka/url': 1.0.0-next.25
 +      mrmime: 2.0.0
 +      totalist: 3.0.1
 +
 +  sirv@3.0.0:
 +    dependencies:
 +      '@polka/url': 1.0.0-next.25
 +      mrmime: 2.0.0
 +      totalist: 3.0.1
 +
    slice-ansi@5.0.0:
      dependencies:
        ansi-styles: 6.2.1
        cac: 6.7.14
        debug: 4.4.0
        es-module-lexer: 1.6.0
-       pathe: 2.0.2
-       vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
+       pathe: 2.0.3
+       vite: 5.4.14(@types/node@22.13.13)(sass@1.86.0)
      transitivePeerDependencies:
        - '@types/node'
 +      - jiti
        - less
        - lightningcss
        - sass
        - sugarss
        - supports-color
        - terser
 +      - tsx
 +      - yaml
 +
 +  vite-plugin-inspect@0.8.7(rollup@4.31.0)(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)):
 +    dependencies:
 +      '@antfu/utils': 0.7.10
 +      '@rollup/pluginutils': 5.1.0(rollup@4.31.0)
 +      debug: 4.4.0
 +      error-stack-parser-es: 0.1.5
 +      fs-extra: 11.2.0
 +      open: 10.1.0
 +      perfect-debounce: 1.0.0
 +      picocolors: 1.1.1
 +      sirv: 2.0.4
 +      vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
 +    transitivePeerDependencies:
 +      - rollup
 +      - supports-color
  
-   vite@5.4.8(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0):
-     dependencies:
-       esbuild: 0.21.5
-       postcss: 8.5.1
-       rollup: 4.31.0
-     optionalDependencies:
-       '@types/node': 22.10.7
-       fsevents: 2.3.3
-       sass: 1.83.4
-       terser: 5.33.0
-   vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1):
+   vite@5.4.14(@types/node@22.13.13)(sass@1.86.0):
      dependencies:
 -      esbuild: 0.21.5
 +      esbuild: 0.24.2
        postcss: 8.5.1
-       rollup: 4.31.0
+       rollup: 4.34.2
      optionalDependencies:
-       '@types/node': 22.10.7
+       '@types/node': 22.13.13
        fsevents: 2.3.3
-       sass: 1.83.4
-       terser: 5.33.0
-       yaml: 2.6.1
-   vitest@3.0.2(@types/node@22.10.7)(@vitest/ui@3.0.4)(jsdom@26.0.0)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1):
-     dependencies:
-       '@vitest/expect': 3.0.2
-       '@vitest/mocker': 3.0.2(vite@6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1))
-       '@vitest/pretty-format': 3.0.2
-       '@vitest/runner': 3.0.2
-       '@vitest/snapshot': 3.0.2
-       '@vitest/spy': 3.0.2
-       '@vitest/utils': 3.0.2
-       chai: 5.1.2
+       sass: 1.86.0
+   vitest@3.0.9(@types/node@22.13.13)(jsdom@26.0.0)(sass@1.86.0):
+     dependencies:
+       '@vitest/expect': 3.0.9
+       '@vitest/mocker': 3.0.9(vite@5.4.14(@types/node@22.13.13)(sass@1.86.0))
+       '@vitest/pretty-format': 3.0.9
+       '@vitest/runner': 3.0.9
+       '@vitest/snapshot': 3.0.9
+       '@vitest/spy': 3.0.9
+       '@vitest/utils': 3.0.9
+       chai: 5.2.0
        debug: 4.4.0
        expect-type: 1.1.0
        magic-string: 0.30.17
        tinyexec: 0.3.2
        tinypool: 1.0.2
        tinyrainbow: 2.0.0
-       vite: 6.1.0(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
-       vite-node: 3.0.2(@types/node@22.10.7)(sass@1.83.4)(terser@5.33.0)(yaml@2.6.1)
+       vite: 5.4.14(@types/node@22.13.13)(sass@1.86.0)
+       vite-node: 3.0.9(@types/node@22.13.13)(sass@1.86.0)
        why-is-node-running: 2.3.0
      optionalDependencies:
-       '@types/node': 22.10.7
-       '@vitest/ui': 3.0.4(vitest@3.0.2)
+       '@types/node': 22.13.13
        jsdom: 26.0.0
      transitivePeerDependencies:
 +      - jiti
        - less
        - lightningcss
        - msw
index 9754a377ae77a2e3e3683a8430b8a26b70a34d07,87bb7aa2267c4e518e641d7c3026b86154105429..11843f72bdb1b85e7fdd972f270acd2d0ae0dcdf
@@@ -3,10 -3,10 +3,10 @@@ packages
    - 'packages-private/*'
  
  catalog:
-   '@babel/parser': ^7.25.3
-   '@babel/types': ^7.25.2
+   '@babel/parser': ^7.26.10
+   '@babel/types': ^7.26.10
    'estree-walker': ^2.0.2
-   'magic-string': ^0.30.11
-   'source-map-js': ^1.2.0
 +  'vite': ^6.1.0
 +  '@vitejs/plugin-vue': https://pkg.pr.new/@vitejs/plugin-vue@c156992
+   'magic-string': ^0.30.17
+   'source-map-js': ^1.2.1
 -  'vite': ^5.4.14
 -  '@vitejs/plugin-vue': ^5.2.3