From dfbeb97de65aa1a222039634a721ae828daf2827 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20S=C3=A4=C3=A4vuori?= Date: Tue, 19 Nov 2024 19:54:06 +0200 Subject: [PATCH] refactor: better and faster e2e tests --- .github/workflows/tests.yml | 37 +++++++---- CHANGES.md | 5 ++ package.json | 12 ++-- playwright.config.ts | 6 +- pnpm-lock.yaml | 126 ++++++++++++++++++------------------ 5 files changed, 100 insertions(+), 86 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 549c28c..b1a8345 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,5 +1,5 @@ name: Tests - +# this should run w cache now 3 on: push: branches: @@ -24,9 +24,9 @@ concurrency: jobs: tests: runs-on: ubuntu-latest - - env: - PLAYWRIGHT_BROWSERS_PATH: 0 + strategy: + matrix: + browser: [webkit, firefox, chromium] steps: - uses: actions/checkout@v4.2.2 @@ -40,23 +40,34 @@ jobs: node-version: 22 cache: 'pnpm' + - uses: actions/cache@v4.1.2 + id: playwright-cache + with: + path: | + ~/.cache/ms-playwright + key: ${{ runner.os }}-${{ matrix.browser }}-playwright-${{ hashFiles('**/pnpm-lock.yaml') }} + - name: Install deps run: pnpm install --frozen-lockfile - name: Type Check run: pnpm ts - - name: Install Playwright browsers - run: pnpm exec playwright install --with-deps + - name: Run unit tests + run: pnpm vitest run --coverage + + - run: pnpm exec playwright install --with-deps ${{ matrix.browser }} + if: steps.playwright-cache.outputs.cache-hit != 'true' - - name: Run e2e tests - run: | - pnpm build - pnpm test:ci-e2e + - run: pnpm exec playwright install-deps ${{ matrix.browser }} + if: steps.playwright-cache.outputs.cache-hit == 'true' - - name: Run unit tests - run: pnpm test:ci + - name: Build + run: pnpm vite build + + - name: Run e2e tests + run: pnpm playwright test --project="${{ matrix.browser }}" - name: Coverage uses: davelosert/vitest-coverage-report-action@v2.8.0 - if: ${{ always() }} + if: ${{ matrix.browser == 'webkit' && success() }} diff --git a/CHANGES.md b/CHANGES.md index 69b4b9b..cbe95dd 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -1,5 +1,10 @@ # Changelog +## 7.2.0 (2024-11-19) + +- Feat: allow manual dispatch for tests. +- Refactor: make e2e tests run parallel and cache the browsers for extra speed. + ## 7.1.0 (2024-11-19) - Refactor: renamed `type-check` command to `ts`. diff --git a/package.json b/package.json index 6453a0b..13ff1f1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "vite-ts-tailwind-starter", - "version": "7.1.0", + "version": "7.2.0", "type": "module", "scripts": { "dev": "cross-env DEBUG=0 vite", @@ -9,10 +9,8 @@ "preview": "vite build && vite preview", "start": "pnpm dev & wait-on tcp:3000 -v", "test": "vitest", - "coverage": "vitest run --coverage", "test-e2e": "playwright test --headed", - "test:ci": "vitest run --coverage", - "test:ci-e2e": "playwright test", + "coverage": "vitest run --coverage", "lint": "eslint . --fix", "ts": "vue-tsc --build --force" }, @@ -24,7 +22,7 @@ }, "devDependencies": { "@egoist/tailwindcss-icons": "1.8.1", - "@iconify/json": "2.2.273", + "@iconify/json": "2.2.274", "@iconify/types": "2.0.0", "@pinia/testing": "0.1.7", "@playwright/test": "1.49.0", @@ -36,7 +34,7 @@ "@tsconfig/node22": "22.0.0", "@types/jsdom": "21.1.7", "@types/lodash-es": "4.17.12", - "@types/node": "22.9.0", + "@types/node": "22.9.1", "@typescript-eslint/eslint-plugin": "8.15.0", "@vitejs/plugin-vue": "5.2.0", "@vitest/coverage-v8": "2.1.5", @@ -61,7 +59,7 @@ "prettier": "3.3.3", "tailwindcss": "3.4.15", "typescript": "5.6.3", - "unplugin-auto-import": "0.18.4", + "unplugin-auto-import": "0.18.5", "unplugin-vue-components": "0.27.4", "vite": "5.4.11", "vite-plugin-vue-devtools": "7.6.4", diff --git a/playwright.config.ts b/playwright.config.ts index 50ac18e..413056d 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -40,21 +40,21 @@ export default defineConfig({ }, projects: [ { - name: 'iPhone SE', + name: 'webkit', use: { browserName: 'webkit', ...devices['iPhone SE'], }, }, { - name: 'Macbook 11', + name: 'firefox', use: { browserName: 'firefox', ...devices['Macbook 11'], }, }, { - name: 'Desktop', + name: 'chromium', use: { browserName: 'chromium', ...devices['Macbook Pro'], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0814ff6..566057b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,8 +25,8 @@ importers: specifier: 1.8.1 version: 1.8.1(tailwindcss@3.4.15) '@iconify/json': - specifier: 2.2.273 - version: 2.2.273 + specifier: 2.2.274 + version: 2.2.274 '@iconify/types': specifier: 2.0.0 version: 2.0.0 @@ -61,20 +61,20 @@ importers: specifier: 4.17.12 version: 4.17.12 '@types/node': - specifier: 22.9.0 - version: 22.9.0 + specifier: 22.9.1 + version: 22.9.1 '@typescript-eslint/eslint-plugin': specifier: 8.15.0 version: 8.15.0(@typescript-eslint/parser@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3) '@vitejs/plugin-vue': specifier: 5.2.0 - version: 5.2.0(vite@5.4.11(@types/node@22.9.0))(vue@3.5.13(typescript@5.6.3)) + version: 5.2.0(vite@5.4.11(@types/node@22.9.1))(vue@3.5.13(typescript@5.6.3)) '@vitest/coverage-v8': specifier: 2.1.5 - version: 2.1.5(vitest@2.1.5(@types/node@22.9.0)(jsdom@25.0.1)) + version: 2.1.5(vitest@2.1.5(@types/node@22.9.1)(jsdom@25.0.1)) '@vitest/eslint-plugin': specifier: 1.1.10 - version: 1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.9.0)(jsdom@25.0.1)) + version: 1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.9.1)(jsdom@25.0.1)) '@vue/eslint-config-prettier': specifier: 10.1.0 version: 10.1.0(eslint@9.15.0(jiti@2.4.0))(prettier@3.3.3) @@ -136,20 +136,20 @@ importers: specifier: 5.6.3 version: 5.6.3 unplugin-auto-import: - specifier: 0.18.4 - version: 0.18.4(rollup@4.27.3) + specifier: 0.18.5 + version: 0.18.5(rollup@4.27.3) unplugin-vue-components: specifier: 0.27.4 version: 0.27.4(@babel/parser@7.26.2)(rollup@4.27.3)(vue@3.5.13(typescript@5.6.3)) vite: specifier: 5.4.11 - version: 5.4.11(@types/node@22.9.0) + version: 5.4.11(@types/node@22.9.1) vite-plugin-vue-devtools: specifier: 7.6.4 - version: 7.6.4(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.0))(vue@3.5.13(typescript@5.6.3)) + version: 7.6.4(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.1))(vue@3.5.13(typescript@5.6.3)) vitest: specifier: 2.1.5 - version: 2.1.5(@types/node@22.9.0)(jsdom@25.0.1) + version: 2.1.5(@types/node@22.9.1)(jsdom@25.0.1) vue-tsc: specifier: 2.1.10 version: 2.1.10(typescript@5.6.3) @@ -527,8 +527,8 @@ packages: resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} engines: {node: '>=18.18'} - '@iconify/json@2.2.273': - resolution: {integrity: sha512-HTnvNpfeFxrMu39VaSTU+UE+ai75Yxa5BbuHmQz9EAtgyPqTqxLgBXPX1sPeMQP8Fxc2X9UrmDwbH5dOEaWthw==} + '@iconify/json@2.2.274': + resolution: {integrity: sha512-wU4zS3eMLZgPFHieCRGile/sVz7QXD3jiCaaQ72quMH4Tf8FzO2WH10un1g96YaNLY8CTKDV4MNZDO2/LtkwFA==} '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -751,8 +751,8 @@ packages: '@types/lodash@4.17.13': resolution: {integrity: sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==} - '@types/node@22.9.0': - resolution: {integrity: sha512-vuyHg81vvWA1Z1ELfvLko2c8f34gyA0zaic0+Rllc5lbCnbSyuvb2Oxpm6TAUAC/2xZN3QGqxBNggD1nNR2AfQ==} + '@types/node@22.9.1': + resolution: {integrity: sha512-p8Yy/8sw1caA8CdRIQBG5tiLHmxtQKObCijiAa9Ez+d4+PRffM4054xbju0msf+cvhJpnFEeNjxmVT/0ipktrg==} '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} @@ -1782,8 +1782,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + local-pkg@0.5.1: + resolution: {integrity: sha512-9rrA30MRRP3gBD3HTGnC6cDFpaE1kVDWxWgqWJUN0RvDNAo+Nz/9GxB+nHOH0ifbVFy0hSA1V6vFDvnx54lTEQ==} engines: {node: '>=14'} locate-path@6.0.0: @@ -2601,8 +2601,8 @@ packages: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - unplugin-auto-import@0.18.4: - resolution: {integrity: sha512-I+QAZPQn5lfH3HYa6HTgpcz30XGY0H1g6QenEB+sgBjgfvgJ33UI907dlNkgOSm/CFHZyNmTKVHf+O2qTnfNKw==} + unplugin-auto-import@0.18.5: + resolution: {integrity: sha512-ZUnayBRlOwNuN9hrM1PymSZK5qDEI8heDD0E3U8Tq4FS6bUxd9VMfJ8tCwWTG5ir6g1yThe/4SVHbFUZQwplOw==} engines: {node: '>=14'} peerDependencies: '@nuxt/kit': ^3.2.2 @@ -2852,8 +2852,8 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yaml@2.6.0: - resolution: {integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==} + yaml@2.6.1: + resolution: {integrity: sha512-7r0XPzioN/Q9kXBro/XPnA6kznR73DHq+GXh5ON7ZozRO6aMjbmiBuKste2wslTFkC5d1dw0GooOCepZXJ2SAg==} engines: {node: '>= 14'} hasBin: true @@ -3213,7 +3213,7 @@ snapshots: '@humanwhocodes/retry@0.4.1': {} - '@iconify/json@2.2.273': + '@iconify/json@2.2.274': dependencies: '@iconify/types': 2.0.0 pathe: 1.1.2 @@ -3227,7 +3227,7 @@ snapshots: '@iconify/types': 2.0.0 debug: 4.3.7 kolorist: 1.8.0 - local-pkg: 0.5.0 + local-pkg: 0.5.1 mlly: 1.7.3 transitivePeerDependencies: - supports-color @@ -3394,7 +3394,7 @@ snapshots: '@types/jsdom@21.1.7': dependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.1 '@types/tough-cookie': 4.0.5 parse5: 7.2.1 @@ -3406,7 +3406,7 @@ snapshots: '@types/lodash@4.17.13': {} - '@types/node@22.9.0': + '@types/node@22.9.1': dependencies: undici-types: 6.19.8 @@ -3517,12 +3517,12 @@ snapshots: unhead: 1.11.11 vue: 3.5.13(typescript@5.6.3) - '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.0))(vue@3.5.13(typescript@5.6.3))': + '@vitejs/plugin-vue@5.2.0(vite@5.4.11(@types/node@22.9.1))(vue@3.5.13(typescript@5.6.3))': dependencies: - vite: 5.4.11(@types/node@22.9.0) + vite: 5.4.11(@types/node@22.9.1) vue: 3.5.13(typescript@5.6.3) - '@vitest/coverage-v8@2.1.5(vitest@2.1.5(@types/node@22.9.0)(jsdom@25.0.1))': + '@vitest/coverage-v8@2.1.5(vitest@2.1.5(@types/node@22.9.1)(jsdom@25.0.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -3536,17 +3536,17 @@ snapshots: std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.5(@types/node@22.9.0)(jsdom@25.0.1) + vitest: 2.1.5(@types/node@22.9.1)(jsdom@25.0.1) transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.9.0)(jsdom@25.0.1))': + '@vitest/eslint-plugin@1.1.10(@typescript-eslint/utils@8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3))(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3)(vitest@2.1.5(@types/node@22.9.1)(jsdom@25.0.1))': dependencies: '@typescript-eslint/utils': 8.15.0(eslint@9.15.0(jiti@2.4.0))(typescript@5.6.3) eslint: 9.15.0(jiti@2.4.0) optionalDependencies: typescript: 5.6.3 - vitest: 2.1.5(@types/node@22.9.0)(jsdom@25.0.1) + vitest: 2.1.5(@types/node@22.9.1)(jsdom@25.0.1) '@vitest/expect@2.1.5': dependencies: @@ -3555,13 +3555,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.9.0))': + '@vitest/mocker@2.1.5(vite@5.4.11(@types/node@22.9.1))': dependencies: '@vitest/spy': 2.1.5 estree-walker: 3.0.3 magic-string: 0.30.13 optionalDependencies: - vite: 5.4.11(@types/node@22.9.0) + vite: 5.4.11(@types/node@22.9.1) '@vitest/pretty-format@2.1.5': dependencies: @@ -3667,14 +3667,14 @@ snapshots: '@vue/devtools-api@6.6.4': {} - '@vue/devtools-core@7.6.4(vite@5.4.11(@types/node@22.9.0))(vue@3.5.13(typescript@5.6.3))': + '@vue/devtools-core@7.6.4(vite@5.4.11(@types/node@22.9.1))(vue@3.5.13(typescript@5.6.3))': dependencies: '@vue/devtools-kit': 7.6.4 '@vue/devtools-shared': 7.6.4 mitt: 3.0.1 nanoid: 3.3.7 pathe: 1.1.2 - vite-hot-client: 0.2.3(vite@5.4.11(@types/node@22.9.0)) + vite-hot-client: 0.2.3(vite@5.4.11(@types/node@22.9.1)) vue: 3.5.13(typescript@5.6.3) transitivePeerDependencies: - vite @@ -4576,7 +4576,7 @@ snapshots: lines-and-columns@1.2.4: {} - local-pkg@0.5.0: + local-pkg@0.5.1: dependencies: mlly: 1.7.3 pkg-types: 1.2.1 @@ -4878,7 +4878,7 @@ snapshots: postcss-load-config@4.0.2(postcss@8.4.49): dependencies: lilconfig: 3.1.2 - yaml: 2.6.0 + yaml: 2.6.1 optionalDependencies: postcss: 8.4.49 @@ -5345,7 +5345,7 @@ snapshots: escape-string-regexp: 5.0.0 estree-walker: 3.0.3 fast-glob: 3.3.2 - local-pkg: 0.5.0 + local-pkg: 0.5.1 magic-string: 0.30.13 mlly: 1.7.3 pathe: 1.1.2 @@ -5358,12 +5358,12 @@ snapshots: universalify@2.0.1: {} - unplugin-auto-import@0.18.4(rollup@4.27.3): + unplugin-auto-import@0.18.5(rollup@4.27.3): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.27.3) fast-glob: 3.3.2 - local-pkg: 0.5.0 + local-pkg: 0.5.1 magic-string: 0.30.13 minimatch: 9.0.5 unimport: 3.13.2(rollup@4.27.3) @@ -5378,7 +5378,7 @@ snapshots: chokidar: 3.6.0 debug: 4.3.7 fast-glob: 3.3.2 - local-pkg: 0.5.0 + local-pkg: 0.5.1 magic-string: 0.30.13 minimatch: 9.0.5 mlly: 1.7.3 @@ -5407,17 +5407,17 @@ snapshots: util-deprecate@1.0.2: {} - vite-hot-client@0.2.3(vite@5.4.11(@types/node@22.9.0)): + vite-hot-client@0.2.3(vite@5.4.11(@types/node@22.9.1)): dependencies: - vite: 5.4.11(@types/node@22.9.0) + vite: 5.4.11(@types/node@22.9.1) - vite-node@2.1.5(@types/node@22.9.0): + vite-node@2.1.5(@types/node@22.9.1): dependencies: cac: 6.7.14 debug: 4.3.7 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.9.0) + vite: 5.4.11(@types/node@22.9.1) transitivePeerDependencies: - '@types/node' - less @@ -5429,7 +5429,7 @@ snapshots: - supports-color - terser - vite-plugin-inspect@0.8.7(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.0)): + vite-plugin-inspect@0.8.7(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.1)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.3(rollup@4.27.3) @@ -5440,28 +5440,28 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 2.0.4 - vite: 5.4.11(@types/node@22.9.0) + vite: 5.4.11(@types/node@22.9.1) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-devtools@7.6.4(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.0))(vue@3.5.13(typescript@5.6.3)): + vite-plugin-vue-devtools@7.6.4(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.1))(vue@3.5.13(typescript@5.6.3)): dependencies: - '@vue/devtools-core': 7.6.4(vite@5.4.11(@types/node@22.9.0))(vue@3.5.13(typescript@5.6.3)) + '@vue/devtools-core': 7.6.4(vite@5.4.11(@types/node@22.9.1))(vue@3.5.13(typescript@5.6.3)) '@vue/devtools-kit': 7.6.4 '@vue/devtools-shared': 7.6.4 execa: 8.0.1 sirv: 3.0.0 - vite: 5.4.11(@types/node@22.9.0) - vite-plugin-inspect: 0.8.7(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.0)) - vite-plugin-vue-inspector: 5.2.0(vite@5.4.11(@types/node@22.9.0)) + vite: 5.4.11(@types/node@22.9.1) + vite-plugin-inspect: 0.8.7(rollup@4.27.3)(vite@5.4.11(@types/node@22.9.1)) + vite-plugin-vue-inspector: 5.2.0(vite@5.4.11(@types/node@22.9.1)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.2.0(vite@5.4.11(@types/node@22.9.0)): + vite-plugin-vue-inspector@5.2.0(vite@5.4.11(@types/node@22.9.1)): dependencies: '@babel/core': 7.26.0 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0) @@ -5472,23 +5472,23 @@ snapshots: '@vue/compiler-dom': 3.5.13 kolorist: 1.8.0 magic-string: 0.30.13 - vite: 5.4.11(@types/node@22.9.0) + vite: 5.4.11(@types/node@22.9.1) transitivePeerDependencies: - supports-color - vite@5.4.11(@types/node@22.9.0): + vite@5.4.11(@types/node@22.9.1): dependencies: esbuild: 0.21.5 postcss: 8.4.49 rollup: 4.27.3 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.1 fsevents: 2.3.3 - vitest@2.1.5(@types/node@22.9.0)(jsdom@25.0.1): + vitest@2.1.5(@types/node@22.9.1)(jsdom@25.0.1): dependencies: '@vitest/expect': 2.1.5 - '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.9.0)) + '@vitest/mocker': 2.1.5(vite@5.4.11(@types/node@22.9.1)) '@vitest/pretty-format': 2.1.5 '@vitest/runner': 2.1.5 '@vitest/snapshot': 2.1.5 @@ -5504,11 +5504,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.9.0) - vite-node: 2.1.5(@types/node@22.9.0) + vite: 5.4.11(@types/node@22.9.1) + vite-node: 2.1.5(@types/node@22.9.1) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.9.0 + '@types/node': 22.9.1 jsdom: 25.0.1 transitivePeerDependencies: - less @@ -5630,7 +5630,7 @@ snapshots: yallist@3.1.1: {} - yaml@2.6.0: {} + yaml@2.6.1: {} yocto-queue@0.1.0: {}