chore(backend) Migrate from Jest to Vitest#2876
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: ⛔ Files ignored due to path filters (264)
📒 Files selected for processing (13)
💤 Files with no reviewable changes (9)
✅ Files skipped from review due to trivial changes (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughThis PR migrates the backend test suite from Jest to Vitest, converting CommonJS test files to ES modules, replacing Jest-specific APIs with Vitest equivalents, removing Jest fixture and mock modules, and updating VS Code editor configurations to reflect the new test runner. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 1 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (1 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
| await advanceTimersAndFlushPromises(syncManagerOpts.interval) | ||
| // When the interval is over a new timeout - in this case - with delay of 0 ms is scheduled. | ||
| // jest.advanceTimersByTime(0) does not trigger setTimeout(..., 0). So use 1(ms) here. | ||
| // vi.advanceTimersByTime(0) does not trigger setTimeout(..., 0). So use 1(ms) here. |
There was a problem hiding this comment.
is this comment still true?
There was a problem hiding this comment.
Yes, the comment is still valid. Here's why:
The @sinonjs/fake-timers library (which Vitest uses under the hood) has a specific behavior: when a setTimeout(..., 0) is scheduled during a tick (i.e., from within
another timer's callback), it applies this logic:
clock.now + (parseInt(String(timer.delay)) || (clock.duringTick ? 1 : 0))
Since parseInt("0") is 0 (falsy), and clock.duringTick is true (the timer is being scheduled from inside the interval callback), the delay becomes 1, not 0. The
timer is effectively scheduled at clock.now + 1.
That's exactly the scenario in this test: the interval fires, and its callback schedules a new setTimeout(..., 0). Because it's scheduled during the tick, the
effective delay is 1ms. So advanceTimersByTime(0) won't reach it, but advanceTimersByTime(1) will.
This is intentional in fake-timers to prevent infinite loops when timers recursively schedule new 0ms timers. The comment is correct and still applies.
|
also fix this warning: |
There was a problem hiding this comment.
Caution
Some comments are outside the diff and can’t be posted inline due to platform limitations.
⚠️ Outside diff range comments (1)
backend/__tests__/acceptance/io.cors.spec.js (1)
30-32:⚠️ Potential issue | 🟠 MajorRestore the same config key you mutate in tests.
Each test mutates
config.websocketAllowedOrigins, but teardown restoresconfig.io. This can leak mutated origin settings into later suites and make results order-dependent.💡 Suggested fix
describe('cors', () => { let agent let socket const ioConfig = config.io + const websocketAllowedOrigins = config.websocketAllowedOrigins afterEach(async () => { Object.defineProperty(config, 'io', { value: ioConfig }) + Object.defineProperty(config, 'websocketAllowedOrigins', { value: websocketAllowedOrigins }) })Also applies to: 40-41, 50-52, 64-66, 78-80, 91-93
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@backend/__tests__/acceptance/io.cors.spec.js` around lines 30 - 32, Tests mutate config.websocketAllowedOrigins but the teardown uses Object.defineProperty(config, 'io', ...) which fails to restore the mutated key; change the afterEach/teardown(s) to restore the exact property mutated by tests by calling Object.defineProperty(config, 'websocketAllowedOrigins', { value: ioConfig }) (or the correct original value variable used in each test), and apply this fix to every occurrence noted (the afterEach blocks that currently restore 'io').
🧹 Nitpick comments (2)
backend/__tests__/acceptance/openapi.spec.js (1)
58-58: AddafterEachhook to restore mocks and ensure test isolation.The spy on line 58 is created but never restored, which will cause brittle test behavior once additional tests are added to this file. Add an
afterEachhook withvi.restoreAllMocks()to clean up after each test.Suggested fix
import { describe, it, expect, vi, beforeAll, afterAll, beforeEach, + afterEach, } from 'vitest' @@ beforeEach(() => { mockRequest.mockReset() }) + + afterEach(() => { + vi.restoreAllMocks() + })🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@backend/__tests__/acceptance/openapi.spec.js` at line 58, The test creates a spy via vi.spyOn(SwaggerParser, 'dereference') (dereferenceStub) but never restores it; add an afterEach hook that calls vi.restoreAllMocks() to restore dereferenceStub and any other mocks between tests to ensure isolation and avoid cross-test leakage.backend/__tests__/acceptance/auth.spec.js (1)
114-130: The redundantmockResolvedValueis intentional but could be cleaner.The comment on lines 128-130 correctly notes that
vi.clearAllMocks()clears call history but notmockResolvedValue, making the re-assignment technically redundant. While the explicit approach is acceptable, you could remove lines 128-130 to reduce noise since the mock is already configured inbeforeAll.♻️ Optional: Remove redundant mock setup
beforeEach(() => { vi.clearAllMocks() - // Re-set the persistent discovery mock (clearAllMocks clears call history - // but not mockResolvedValue, so this is technically redundant - but explicit). - discovery.mockResolvedValue(discoveryConfig) - randomPKCECodeVerifier.mockReturnValueOnce('code-verifier')🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@backend/__tests__/acceptance/auth.spec.js` around lines 114 - 130, Remove the redundant re-assignment of the discovery mock in the beforeEach block: delete the discovery.mockResolvedValue(discoveryConfig) call (and its explanatory comment) inside beforeEach since discovery.mockResolvedValue(discoveryConfig) is already set in beforeAll and vi.clearAllMocks() does not clear the mockResolvedValue; keep the initial setup in beforeAll and leave beforeEach only to call vi.clearAllMocks().
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Outside diff comments:
In `@backend/__tests__/acceptance/io.cors.spec.js`:
- Around line 30-32: Tests mutate config.websocketAllowedOrigins but the
teardown uses Object.defineProperty(config, 'io', ...) which fails to restore
the mutated key; change the afterEach/teardown(s) to restore the exact property
mutated by tests by calling Object.defineProperty(config,
'websocketAllowedOrigins', { value: ioConfig }) (or the correct original value
variable used in each test), and apply this fix to every occurrence noted (the
afterEach blocks that currently restore 'io').
---
Nitpick comments:
In `@backend/__tests__/acceptance/auth.spec.js`:
- Around line 114-130: Remove the redundant re-assignment of the discovery mock
in the beforeEach block: delete the discovery.mockResolvedValue(discoveryConfig)
call (and its explanatory comment) inside beforeEach since
discovery.mockResolvedValue(discoveryConfig) is already set in beforeAll and
vi.clearAllMocks() does not clear the mockResolvedValue; keep the initial setup
in beforeAll and leave beforeEach only to call vi.clearAllMocks().
In `@backend/__tests__/acceptance/openapi.spec.js`:
- Line 58: The test creates a spy via vi.spyOn(SwaggerParser, 'dereference')
(dereferenceStub) but never restores it; add an afterEach hook that calls
vi.restoreAllMocks() to restore dereferenceStub and any other mocks between
tests to ensure isolation and avoid cross-test leakage.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 6c16558d-b104-48cc-ad00-ccf6cb8da22a
⛔ Files ignored due to path filters (265)
.yarn/cache/@babel-code-frame-npm-7.27.1-4dbcabb137-5dd9a18baa.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-compat-data-npm-7.28.0-04d8eecea9-c4e527302b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-core-npm-7.28.3-fb967e901c-e6b3eb830c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-compilation-targets-npm-7.27.2-111dda04b6-f338fa00dc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-globals-npm-7.28.0-8d79c12faf-5a0cd0c0e8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-module-imports-npm-7.27.1-3bf33978f4-e00aace096.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-module-transforms-npm-7.28.3-7b69ec189a-549be62515.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-plugin-utils-npm-7.27.1-4f91e7999b-94cf22c81a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helper-validator-option-npm-7.27.1-7c563f0423-6fec5f006e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-helpers-npm-7.28.3-8e4849da45-03a8f94135.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-async-generators-npm-7.8.4-d10cf993c9-d13efb2828.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-bigint-npm-7.8.3-b05d971e6c-686891b81a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-class-properties-npm-7.12.13-002ee9d930-95168fa186.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-class-static-block-npm-7.14.5-7bdd0ff1b3-4464bf9115.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-import-attributes-npm-7.26.0-7a281ed168-e594c185b1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-import-meta-npm-7.10.4-4a0a0158bc-0b08b5e4c3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-json-strings-npm-7.8.3-6dc7848179-e98f31b2ec.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-jsx-npm-7.27.1-2f6039b8f0-bc5afe6a45.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-logical-assignment-operators-npm-7.10.4-72ae00fdf6-2594cfbe29.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-nullish-coalescing-operator-npm-7.8.3-8a723173b5-2024fbb116.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-numeric-separator-npm-7.10.4-81444be605-c55a82b311.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-object-rest-spread-npm-7.8.3-60bd05b6ae-ee1eab52ea.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-optional-catch-binding-npm-7.8.3-ce337427d8-27e2493ab6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-optional-chaining-npm-7.8.3-f3f3c79579-46edddf2fa.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-private-property-in-object-npm-7.14.5-ee837fdbb2-6982277256.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-top-level-await-npm-7.14.5-60a0a2e83b-14bf6e65d5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-plugin-syntax-typescript-npm-7.27.1-5d60015570-11589b4c89.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-template-npm-7.27.2-77e67eabbd-ed9e902265.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@babel-traverse-npm-7.28.3-7786c501c7-26e95b29a4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-6b80ae4cb3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@codemirror-lang-yaml-npm-6.1.2-9fd6e82b08-fc993c5e24.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@codemirror-language-npm-6.12.2-6ee31ffc4b-7a167eca99.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@codemirror-view-npm-6.40.0-6ba26ec2b7-2e73812f1d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@epic-web-invariant-npm-1.0.0-a4ac7c9c5e-72dbeb026e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@esbuild-darwin-arm64-npm-0.25.1-031a09ef40-10c0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@esbuild-darwin-x64-npm-0.25.1-4877d67bbb-10c0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@esbuild-linux-arm64-npm-0.25.1-ae0b90ca0a-10c0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@esbuild-linux-x64-npm-0.25.1-fca13db7a3-10c0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@eslint-community-eslint-utils-npm-4.7.0-47503bfa2a-c0f4f2bd73.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@eslint-community-eslint-utils-npm-4.9.1-30ad3d49de-dc4ab5e3e3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@isaacs-balanced-match-npm-4.0.1-8965afafe6-7da011805b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@isaacs-brace-expansion-npm-5.0.1-79f48d6db7-e5d67c7bbf.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@istanbuljs-load-nyc-config-npm-1.1.0-42d17c9cb1-dd2a8b0948.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-console-npm-30.1.2-59585f073d-108c8d8919.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-core-npm-30.1.3-f6321d6701-0f934a027b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-diff-sequences-npm-30.0.1-73f863a027-3a840404e6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-environment-npm-30.1.2-3db8ac4eca-41ac75f75d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-expect-npm-30.1.2-8acd0364e9-e441639d90.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-expect-utils-npm-30.1.2-3ab9909660-5b6c4d400a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-fake-timers-npm-30.1.2-adb77b828f-043ac3b5d6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-get-type-npm-30.1.0-1ad604ab7f-3e65fd5015.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-globals-npm-30.1.2-3e4ecdc1d2-f743e83d5b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-pattern-npm-30.0.1-2ce04a6497-32c5a7bfb6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-reporters-npm-30.1.3-f0fe21c846-2b027e7752.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-schemas-npm-30.0.5-e55a4c770e-449dcd7ec5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-snapshot-utils-npm-30.1.2-4434977d9a-bb5bbb3b3d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-source-map-npm-30.0.1-52afc7f781-e7bda2786f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-test-result-npm-30.1.3-455b6dab7b-610982f31d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-test-sequencer-npm-30.1.3-f1c176f09f-ed9b24e3b3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-transform-npm-30.1.2-14cfbd16d5-b427614659.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@jest-types-npm-30.0.5-0475c9b283-fd097a390e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@lezer-common-npm-1.5.1-b2a8c1074a-49baefdfc6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@pkgr-core-npm-0.2.9-c65fc09be3-ac8e4e8138.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@rollup-plugin-commonjs-npm-28.0.6-4944888a9e-67fa297384.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@rollup-plugin-json-npm-6.1.0-df78b06968-9400c431b5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@rollup-plugin-node-resolve-npm-16.0.1-2936474bab-54d3328232.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@rollup-pluginutils-npm-5.1.4-83ce21024f-6d58fbc6f1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinclair-typebox-npm-0.34.41-602ecca817-0fb61fc2f9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-commons-npm-3.0.1-bffb9f5a53-1227a7b5bd.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@sinonjs-fake-timers-npm-13.0.5-b25ae4bd2b-a707476efd.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-babel__core-npm-7.20.5-4d95f75eab-bdee3bb699.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-babel__generator-npm-7.6.8-61be1197d9-f0ba105e7d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-babel__template-npm-7.4.4-f34eba762c-cc84f6c6ab.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-babel__traverse-npm-7.20.6-fac4243243-7ba7db61a5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-fs-extra-npm-8.1.5-77d3a95112-c9f7965bc4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-glob-npm-7.2.0-772334bf9a-a8eb5d5cb5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-3948088654.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-istanbul-lib-report-npm-3.0.3-a5c0ef4b88-247e477bbc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-istanbul-reports-npm-3.0.4-1afa69db29-1647fd402a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-minimatch-npm-5.1.2-aab9c394d3-83cf1c1174.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-resolve-npm-1.20.2-5fccb2ad46-c5b7e1770f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-stack-utils-npm-2.0.3-48a0a03262-1f4658385a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-yargs-npm-17.0.33-1d6cca6a2e-d16937d7ac.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@types-yargs-parser-npm-21.0.3-1d265246a1-e71c3bd9d0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-project-service-npm-8.42.0-113060b364-788b0bc526.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-project-service-npm-8.58.1-2598dcbd0c-c48541a135.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-scope-manager-npm-8.58.1-6d54fcb4b6-c7c67d249a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-tsconfig-utils-npm-8.42.0-2eb5fb2a85-03882eeee2.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-tsconfig-utils-npm-8.58.1-1b734c80ea-dcccf8c64e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-types-npm-8.58.1-d1e6eadeb2-c468e2e374.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-typescript-estree-npm-8.58.1-8a3dc63661-06ad23dc71.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-utils-npm-8.58.1-b5491cba76-99538feaaa.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-visitor-keys-npm-8.42.0-5bbed61ac5-22c942f2a1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@typescript-eslint-visitor-keys-npm-8.58.1-153e78be2e-d2709bfb63.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@vitest-eslint-plugin-npm-1.3.4-711830bb79-26ee3fabfc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/@vitest-eslint-plugin-npm-1.6.15-78dde9faf1-267a5f3a75.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-90ccc50f01.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-escapes-npm-4.3.2-3ad173702f-da917be018.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ansi-styles-npm-5.2.0-72fc7003e3-9c4ca80eb3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/anymatch-npm-3.1.3-bc81d103b1-57b06ae984.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/argparse-npm-1.0.10-528934e59d-b2972c5c23.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/array-union-npm-2.1.0-4e4852b221-429897e681.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/babel-jest-npm-30.1.2-2d68b3440b-c0f25d6377.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/babel-plugin-istanbul-npm-7.0.0-924905ff8c-79c37bd59e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/babel-plugin-jest-hoist-npm-30.0.1-be1f25b566-49087f45c8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/babel-preset-current-node-syntax-npm-1.2.0-a954a29b2b-94a4f81cdd.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/babel-preset-jest-npm-30.0.1-0b8ffd2c88-33da009496.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/balanced-match-npm-4.0.4-fd666b3c7f-07e86102a3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/brace-expansion-npm-5.0.5-b81f6c30d6-4d238e14ed.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/browserslist-npm-4.24.4-2fdeb5face-db7ebc1733.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/bser-npm-2.1.1-cc902055ce-24d8dfb7b6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/buffer-from-npm-1.1.2-03d2f20d7e-124fff9d66.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/camelcase-npm-5.3.1-5db8af62c5-92ff9b443b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/camelcase-npm-6.3.0-e5e42a0d15-0d70165821.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/caniuse-lite-npm-1.0.30001699-aed268ac86-e87b3a0602.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ci-info-npm-4.3.0-2894137978-60d3dfe95d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/cjs-module-lexer-npm-2.1.0-c520790078-91cf28686d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/co-npm-4.6.0-03f2d1feb6-c0e85ea0ca.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/collect-v8-coverage-npm-1.0.2-bd20d0c572-ed7008e2e8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/colorette-npm-1.4.0-7e94b44dc3-4955c8f7da.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/commondir-npm-1.0.1-291b790340-33a124960e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/convert-source-map-npm-2.0.0-7ab664dc4e-8f2f7a27a1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/cross-env-npm-10.0.0-e9b756cae3-d16ffc3734.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/dedent-npm-1.6.0-2a2b4ba2b1-671b8f5e39.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/detect-newline-npm-3.1.0-6d33fa8d37-c38cfc8eeb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/dir-glob-npm-3.0.1-1aea628b1b-dcac00920a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/electron-to-chromium-npm-1.5.97-a5d0e46ea1-79080e3fea.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/emittery-npm-0.13.1-cb6cd1bb03-1573d0ae29.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/error-ex-npm-1.3.2-5654f80c0f-ba827f8936.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/esbuild-npm-0.25.1-d9214fa98d-80fca30dd0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-2530479fe8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/eslint-visitor-keys-npm-5.0.1-30a44b062b-16190bdf2c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/esprima-npm-4.0.1-1084e98778-ad4bab9ead.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/event-target-shim-npm-5.0.1-cb48709025-0255d9f936.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/execa-npm-5.1.1-191347acf5-c8e615235e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/exit-x-npm-0.2.2-c46ac0577e-212a7a095c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/expect-npm-30.1.2-99d1371589-467c1b6954.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/fb-watchman-npm-2.0.2-bcb6f8f831-feae89ac14.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/find-up-npm-4.1.0-c3ccf8d855-0406ee89eb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/flatted-npm-3.3.3-ca455563b2-e957a1c6b0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/fs-extra-npm-8.1.0-197473387f-259f7b814d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-782aba6cba.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/get-package-type-npm-0.1.0-6c70cdc8ab-e34cdf447f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/get-stream-npm-6.0.1-83e51a4642-49825d57d3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/glob-npm-11.0.2-cd5db3a299-49f91c64ca.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/globby-npm-10.0.1-35fa2ba87a-048f8e19a5.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/human-signals-npm-2.1.0-f75815481d-695edb3edf.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/import-local-npm-3.2.0-bf54ec7842-94cd6367a6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/is-arrayish-npm-0.2.1-23927dfb15-e7fb686a73.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/is-generator-fn-npm-2.1.0-37895c2d2b-2957cab387.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/is-module-npm-1.0.0-79ba918283-795a3914bc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/is-plain-object-npm-3.0.1-15b47fb6eb-eac88599d3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/is-reference-npm-1.2.1-87ca1743c8-7dc819fc8d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/is-stream-npm-2.0.1-c802db55e7-7c28424131.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/istanbul-lib-instrument-npm-6.0.3-959dca7404-a1894e060d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jackspeak-npm-4.1.0-8f220eaf6d-08a6a24a36.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-changed-files-npm-30.0.5-7d8d9ad654-41ce090f32.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-circus-npm-30.1.3-ab9758c6bf-9bea7baf7d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-cli-npm-30.1.3-6ba2316843-e15e811b0a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-config-npm-30.1.3-8804ae4604-9e347a2223.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-date-mock-npm-1.0.10-ab130876a0-ff594e9fbf.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-diff-npm-30.1.2-5285cea394-5baba5c54d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-docblock-npm-30.0.1-86756f2942-f9bad2651d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-each-npm-30.1.0-6b3a23bc2b-2db0fe6df0.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-environment-node-npm-30.1.2-f48cd7c0ed-6298269ba9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-haste-map-npm-30.1.0-8189548adb-a6001e350b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-leak-detector-npm-30.1.0-fc51367c07-a0b0c30988.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-matcher-utils-npm-30.1.2-5f3f132018-c4f81fc7d7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-message-util-npm-30.1.0-d5a5fa5bef-3884f7e772.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-mock-npm-30.0.5-0573f7a688-207fd79297.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-npm-30.1.3-ba9bff049d-6f0c18d8c9.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-pnp-resolver-npm-1.2.3-70e06bf27c-86eec0c784.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-regex-util-npm-30.0.1-af482a9a29-f30c70524e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-resolve-dependencies-npm-30.1.3-f44a9a74dc-1fc144c310.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-resolve-npm-30.1.3-b81d4ca502-ba84ac234a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-runner-npm-30.1.3-69ac625b3e-867f878892.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-runtime-npm-30.1.3-2202cf4ce5-2b5fe84685.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-snapshot-npm-30.1.2-4e0b099b0d-deca264b65.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-util-npm-30.0.5-8940b46e20-d3808b5f77.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-validate-npm-30.1.0-021223f62b-6b8dd92e91.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-watcher-npm-30.1.3-20a9daaaf2-6783c17813.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jest-worker-npm-30.1.0-b4a01545e6-305a9c64d3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/js-yaml-npm-3.14.1-b968c6095e-6746baaaea.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/json-parse-even-better-errors-npm-2.3.1-144d62256e-140932564c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/jsonfile-npm-4.0.0-10ce3aea15-7dc94b628d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/leven-npm-3.1.0-b7697736a3-cd778ba3fb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/lines-and-columns-npm-1.2.4-d6c7cc5799-3da6ee62d4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/locate-path-npm-5.0.0-46580c43e4-33a1c5247e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/lru-cache-npm-11.1.0-3de771fc22-85c312f711.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/lru-cache-npm-5.1.1-f475882a51-89b2ef2ef4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/makeerror-npm-1.0.12-69abf085d7-b0e6e59978.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/merge-stream-npm-2.0.0-2ac83efea5-867fdbb30a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/mimic-fn-npm-2.1.0-4fbeb3abb4-b26f5479d7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/minimatch-npm-10.0.3-23e96438f0-e43e4a905c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/minimatch-npm-10.2.5-f1c8297822-6bb058bd63.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/netmask-npm-2.0.2-2299510a4d-cafd28388e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/netmask-npm-2.1.1-eace0c3dfd-c78e31869b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/node-int64-npm-0.4.0-0dc04ec3b2-a6a4d8369e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/node-releases-npm-2.0.19-b123ed6240-52a0dbd25c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/normalize-path-npm-3.0.0-658ba7d77f-e008c8142b.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/npm-run-path-npm-4.0.1-7aebd8bab3-6f9353a952.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/onetime-npm-5.1.2-3ed148fa42-ffcef6fbb2.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/p-limit-npm-2.3.0-94a0310039-8da01ac53e.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/p-locate-npm-4.1.0-eec6872537-1b476ad69a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/p-try-npm-2.2.0-e0390dbaf8-c36c199077.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/parse-json-npm-5.2.0-00a63b1199-77947f2253.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/path-scurry-npm-2.0.0-5a556e8161-3da4adedaa.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/path-type-npm-4.0.0-10d47fc86a-666f6973f3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/picomatch-npm-2.3.1-c782cfd986-26c02b8d06.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/pirates-npm-4.0.7-5e4ee2f078-a51f108dd8.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/pkg-dir-npm-4.2.0-2b5d0a8d32-c56bda7769.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/pretty-format-npm-30.0.5-12c8203223-9f6cf1af5c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/pure-rand-npm-7.0.1-c1074fa9ee-9cade41030.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/react-is-npm-18.3.1-370a81e1e9-f2f1e60010.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/resolve-cwd-npm-3.0.0-e6f4e296bf-e608a3ebd1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/resolve-from-npm-5.0.0-15c9db4d33-b21cb7f1fb.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/rimraf-npm-6.0.1-2d0b0aeb1b-b30b6b0727.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/rollup-plugin-copy-npm-3.5.0-a5e02864e9-163a27756f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/signal-exit-npm-3.0.7-bd270458a3-25d272fa73.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/slash-npm-3.0.0-b87de2279a-e18488c6a4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/socket.io-parser-npm-4.2.4-bf87f78bcd-9383b30358.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/source-map-npm-0.6.1-1a3621db16-ab55398007.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/source-map-support-npm-0.5.13-377dfd7321-137539f8c4.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/sprintf-js-npm-1.0.3-73f0a322fa-ecadcfe4c7.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/stack-utils-npm-2.0.6-2be1099696-651c9f8766.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/string-length-npm-4.0.2-675173c7a2-1cd77409c3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/strip-bom-npm-4.0.0-97d367a64d-26abad1172.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/strip-final-newline-npm-2.0.0-340c4f7c66-bddf8ccd47.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/supports-color-npm-8.1.1-289e937149-ea1d3c275d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/synckit-npm-0.11.11-415ad819d7-f076149595.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/test-exclude-npm-6.0.0-3fb03d69df-019d33d81a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/tmpl-npm-1.0.5-d399ba37e2-f935537799.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/ts-api-utils-npm-2.5.0-6bde2b2eb9-767849383c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/type-detect-npm-4.0.8-8d8127b901-8fb9a51d3f.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/type-fest-npm-0.21.3-5ff2a9c6fd-902bd57bfa.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/undici-npm-7.24.6-57102c8005-0f5413ccb2.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/universalify-npm-0.1.2-9b22d31d2d-e70e0339f6.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/update-browserslist-db-npm-1.1.2-59b122fef6-9cb353998d.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/v8-to-istanbul-npm-9.3.0-35fef658c9-968bcf1c7c.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/vite-npm-7.1.11-fb19835f08-c4aa7f47b1.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/vue-router-npm-5.0.3-3b160d99bd-ccb465bf62.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/vuetify-npm-3.12.3-97035921e1-a65987e60a.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/walker-npm-1.0.8-b0a05b9478-a17e037bcc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/write-file-atomic-npm-5.0.1-52283db6ee-e8c850a8e3.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/yallist-npm-3.1.1-a568a556b4-c66a5c46bc.zipis excluded by!**/.yarn/**,!**/*.zip.yarn/cache/yaml-npm-2.8.2-6cbf7c73c4-703e4dc1e3.zipis excluded by!**/.yarn/**,!**/*.zipbackend/__tests__/__snapshots__/markdown.spec.cjs.snapis excluded by!**/*.snapbackend/__tests__/__snapshots__/markdown.spec.js.snapis excluded by!**/*.snapbackend/__tests__/__snapshots__/services.projects.spec.cjs.snapis excluded by!**/*.snapbackend/__tests__/__snapshots__/services.projects.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.cloudProviderCredentials.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.cloudprofiles.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.controllerregistrations.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.info.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.managedseeds.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.members.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.resourceQuotas.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.seeds.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.shoots.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.terminals.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.tickets.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/api.user.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/auth.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/config.spec.js.snapis excluded by!**/*.snapbackend/__tests__/acceptance/__snapshots__/io.spec.js.snapis excluded by!**/*.snap
📒 Files selected for processing (35)
.pnp.cjs.yarnrc.ymlbackend/__fixtures__/env.cjsbackend/__fixtures__/index.cjsbackend/__mocks__/@gardener-dashboard/kube-client.cjsbackend/__mocks__/@gardener-dashboard/kube-config.cjsbackend/__mocks__/@gardener-dashboard/logger.cjsbackend/__mocks__/@gardener-dashboard/markdown.cjsbackend/__mocks__/@gardener-dashboard/monitor.cjsbackend/__mocks__/p-limit.cjsbackend/__test_helpers__/p-event.cjsbackend/__tests__/acceptance/api.cloudProviderCredentials.spec.jsbackend/__tests__/acceptance/api.cloudprofiles.spec.jsbackend/__tests__/acceptance/api.controllerregistrations.spec.jsbackend/__tests__/acceptance/api.info.spec.jsbackend/__tests__/acceptance/api.managedseeds.spec.jsbackend/__tests__/acceptance/api.members.spec.jsbackend/__tests__/acceptance/api.projects.spec.jsbackend/__tests__/acceptance/api.resourceQuotas.spec.jsbackend/__tests__/acceptance/api.seeds.spec.jsbackend/__tests__/acceptance/api.shoots.spec.jsbackend/__tests__/acceptance/api.terminals.spec.jsbackend/__tests__/acceptance/api.tickets.spec.jsbackend/__tests__/acceptance/api.user.spec.jsbackend/__tests__/acceptance/auth.spec.jsbackend/__tests__/acceptance/config.spec.jsbackend/__tests__/acceptance/healthz.spec.jsbackend/__tests__/acceptance/io.cors.spec.jsbackend/__tests__/acceptance/io.spec.jsbackend/__tests__/acceptance/openapi.spec.jsbackend/__tests__/acceptance/webhook.spec.jsbackend/__tests__/cache.spec.jsbackend/__tests__/cache.tickets.spec.jsbackend/__tests__/config.spec.jsbackend/__tests__/debug.spec.js
💤 Files with no reviewable changes (9)
- backend/mocks/@gardener-dashboard/markdown.cjs
- backend/fixtures/env.cjs
- backend/test_helpers/p-event.cjs
- backend/mocks/p-limit.cjs
- backend/mocks/@gardener-dashboard/monitor.cjs
- backend/mocks/@gardener-dashboard/kube-client.cjs
- backend/mocks/@gardener-dashboard/logger.cjs
- backend/mocks/@gardener-dashboard/kube-config.cjs
- backend/fixtures/index.cjs
…nd and /packages/*
- Moved Tests to __tests__ folders - Removed common js transpilation (rollup) - Rewired scripts to execute vitest with test / coverage commands
…als instead of manually listing vitest globals
- Fixed charts coverage - Removed obsolete snapshot
- .vscode/settings.json — removed jestrunner.* settings, added vitest.nodeExecutable + vitest.configSearchPatternExclude - .vscode/extensions.json — replaced firsttris.vscode-jest-runner with vitest.explorer - frontend/vitest.config.js — new, standalone test config (extracted from vite.config.js, avoids vuetify plugin PnP issues) - frontend/vite.config.js — removed dead if (mode === 'test') block (now in dedicated vitest config) - scripts/vitest-node.sh — new, PnP wrapper for vitest.explorer (loads .pnp.cjs before Node) - scripts/test.cjs — deleted, jest-runner wrapper no longer needed - scripts/helper.cjs — deleted, only used by test.cjs Dependency fixes: - package.json (root) — added vitest + jsdom as devDependencies (needed by vitest.explorer for PnP resolution) - backend/package.json — added missing cross-env devDependency - packages/test-utils/package.json — removed unused eslint-plugin-jest Docs: - docs/development/testing.md — rewritten from Jest to Vitest Auto-generated: - .pnp.cjs, yarn.lock, .yarn/cache/* — dependency changes - diagram/*.html
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: petersutter The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
LGTM label has been added. DetailsGit tree hash: d03f3d9f75a14595498f8eb79701ff32fd7a92ec |
What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:
Release note:
Summary by CodeRabbit
Release Notes