From 533b184c7ab183b6e9900640c668871f7b41746b Mon Sep 17 00:00:00 2001 From: Jonas Geiler Date: Tue, 28 Apr 2026 22:32:23 +0200 Subject: [PATCH] feat(sv): improve `vitest` v3 detection --- .changeset/tangy-pears-unite.md | 5 +++++ packages/sv/src/addons/vitest-addon.ts | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 .changeset/tangy-pears-unite.md diff --git a/.changeset/tangy-pears-unite.md b/.changeset/tangy-pears-unite.md new file mode 100644 index 000000000..d0104035d --- /dev/null +++ b/.changeset/tangy-pears-unite.md @@ -0,0 +1,5 @@ +--- +'sv': patch +--- + +feat(sv): improve `vitest` v3 detection diff --git a/packages/sv/src/addons/vitest-addon.ts b/packages/sv/src/addons/vitest-addon.ts index 2d6657d1c..34a77cb03 100644 --- a/packages/sv/src/addons/vitest-addon.ts +++ b/packages/sv/src/addons/vitest-addon.ts @@ -1,4 +1,4 @@ -import { color, createPrinter, dedent, transforms } from '@sveltejs/sv-utils'; +import { coerceVersion, color, createPrinter, dedent, transforms } from '@sveltejs/sv-utils'; import { defineAddon, defineAddonOptions } from '../core/config.ts'; const options = defineAddonOptions() @@ -27,10 +27,10 @@ export default defineAddon({ const unitTesting = options.usages.includes('unit'); const componentTesting = options.usages.includes('component'); - vitestV3Installed = (dependencyVersion('vitest') ?? '') - .replaceAll('^', '') - .replaceAll('~', '') - ?.startsWith('3.'); + const vitestVersion = dependencyVersion('vitest'); + if (vitestVersion) { + vitestV3Installed = coerceVersion(vitestVersion).major === 3; + } sv.devDependency('vitest', '^4.1.3');