diff --git a/tests/waku.ts b/tests/waku.ts index cfaf0931..311bd6c3 100644 --- a/tests/waku.ts +++ b/tests/waku.ts @@ -9,5 +9,13 @@ export async function test(options: RunOptions) { build: 'compile', beforeTest: 'pnpm playwright install chromium', test: 'test-vite-ecosystem-ci', + overrides: { + // It uses Vitest 3.2+ so we don't need to inject the overrides. + // If we inject overrides, the following error happens due to how waku sets overrides for the test. + // + // npm error code EINVALIDTAGNAME + // npm error Invalid tag name "<3.2.0>vite" of package "vitest@<3.2.0>vite": Tags may not have any characters that encodeURIComponent encodes. + vitest: false, + }, }) } diff --git a/utils.ts b/utils.ts index 99db206f..8c81a611 100644 --- a/utils.ts +++ b/utils.ts @@ -286,7 +286,11 @@ export async function runInRepo(options: RunOptions & RepoOptions) { overrides.vite = options.release } - if (overrides.rollup !== false || overrides.esbuild === true) { + if ( + overrides.rollup !== false || + overrides.esbuild === true || + overrides.vitest !== false + ) { const viteManifest = await pacote.manifest(`vite@${options.release}`, { retry: { // enable retry with same options with pnpm (https://pnpm.io/settings#fetchretries) @@ -306,6 +310,11 @@ export async function runInRepo(options: RunOptions & RepoOptions) { if (overrides.esbuild === true) { overrides.esbuild = viteManifest.dependencies!.esbuild } + + // skip if `overrides.vitest` is `false` + if (overrides.vitest !== false && agent === 'pnpm') { + overrides['vitest@<3.2.0>vite'] = '^6.3.5' + } } } else { overrides.vite ||= `${options.vitePath}/packages/vite` @@ -330,6 +339,11 @@ export async function runInRepo(options: RunOptions & RepoOptions) { overrides.esbuild = vitePackageInfo.dependencies.esbuild.version } + // skip if `overrides.vitest` is `false` + if (overrides.vitest !== false && agent === 'pnpm') { + overrides['vitest@<3.2.0>vite'] = '^6.3.5' + } + // build and apply local overrides const localOverrides = await buildOverrides(pkg, options, overrides) cd(dir) // buildOverrides changed dir, change it back