diff --git a/packages/factory/src/helpers/vite-version.test.ts b/packages/factory/src/helpers/vite-version.test.ts index e0ab82d5c..1cb161911 100644 --- a/packages/factory/src/helpers/vite-version.test.ts +++ b/packages/factory/src/helpers/vite-version.test.ts @@ -7,27 +7,28 @@ import vitePluginPackage from '../../../published/vite-plugin/package.json'; import { getUnsupportedViteWarning, MAX_VITE_MAJOR, MIN_VITE_VERSION } from './vite-version'; const floor = MIN_VITE_VERSION.split('.').slice(0, 2).join('.'); -const deprecated = (version: string) => - `Vite ${version} is deprecated in Datadog's Vite plugin: please upgrade to Vite ${floor} or later.`; -const untested = (version: string) => - `Datadog's Vite plugin is tested up to Vite ${MAX_VITE_MAJOR}.x (found ${version}).`; +const supported = (version: string) => + `Datadog's Vite plugin supports Vite ${MIN_VITE_VERSION} to ${MAX_VITE_MAJOR}.x (found ${version})`; +const below = (version: string) => + `${supported(version)}: please upgrade to Vite ${floor} or later.`; +const above = (version: string) => `${supported(version)}.`; describe('getUnsupportedViteWarning', () => { const cases: { version: unknown; expected: string | undefined }[] = [ - { version: '4.5.3', expected: deprecated('4.5.3') }, - { version: '5.4.21', expected: deprecated('5.4.21') }, - { version: '6.0.0', expected: deprecated('6.0.0') }, - { version: '6.3.9', expected: deprecated('6.3.9') }, - { version: '6.4.0-beta.1', expected: deprecated('6.4.0-beta.1') }, + { version: '4.5.3', expected: below('4.5.3') }, + { version: '5.4.21', expected: below('5.4.21') }, + { version: '6.0.0', expected: below('6.0.0') }, + { version: '6.3.9', expected: below('6.3.9') }, + { version: '6.4.0-beta.1', expected: below('6.4.0-beta.1') }, { version: MIN_VITE_VERSION, expected: undefined }, { version: '6.4.3', expected: undefined }, { version: '6.10.0', expected: undefined }, { version: '7.0.0-beta.1', expected: undefined }, { version: '8.3.4', expected: undefined }, - { version: '9.0.0', expected: untested('9.0.0') }, - { version: '9.0.0-beta.1', expected: untested('9.0.0-beta.1') }, - { version: '10.1.0', expected: untested('10.1.0') }, - { version: 'v5.4.21', expected: deprecated('v5.4.21') }, + { version: '9.0.0', expected: above('9.0.0') }, + { version: '9.0.0-beta.1', expected: above('9.0.0-beta.1') }, + { version: '10.1.0', expected: above('10.1.0') }, + { version: 'v5.4.21', expected: below('v5.4.21') }, { version: '6.3', expected: undefined }, { version: '', expected: undefined }, { version: 'not-a-version', expected: undefined }, @@ -40,9 +41,8 @@ describe('getUnsupportedViteWarning', () => { expect(warning).toBe(expected); }); - // Versions below the floor stay in the peer range while deprecated. - test('Should share its upper bound with the peer range the Vite plugin declares', () => { - const upperBound = new RegExp(`<= ?${MAX_VITE_MAJOR}\\.x$`); - expect(vitePluginPackage.peerDependencies.vite).toMatch(upperBound); + test('Should match the peer range the Vite plugin declares', () => { + const peerRange = `>=${MIN_VITE_VERSION} <${MAX_VITE_MAJOR + 1}`; + expect(vitePluginPackage.peerDependencies.vite).toBe(peerRange); }); }); diff --git a/packages/factory/src/helpers/vite-version.ts b/packages/factory/src/helpers/vite-version.ts index e2ff65cdf..9d8c5ae19 100644 --- a/packages/factory/src/helpers/vite-version.ts +++ b/packages/factory/src/helpers/vite-version.ts @@ -17,12 +17,13 @@ export const getUnsupportedViteWarning = (version: unknown): string | undefined return undefined; } + const supported = `Datadog's Vite plugin supports Vite ${MIN_VITE_VERSION} to ${MAX_VITE_MAJOR}.x (found ${version})`; if (semver.lt(parsed, MIN_VITE_VERSION)) { - return `Vite ${version} is deprecated in Datadog's Vite plugin: please upgrade to Vite ${MIN_VITE_LINE} or later.`; + return `${supported}: please upgrade to Vite ${MIN_VITE_LINE} or later.`; } if (parsed.major > MAX_VITE_MAJOR) { - return `Datadog's Vite plugin is tested up to Vite ${MAX_VITE_MAJOR}.x (found ${version}).`; + return `${supported}.`; } return undefined; diff --git a/packages/published/vite-plugin/package.json b/packages/published/vite-plugin/package.json index 296e013fd..8e3d4b256 100644 --- a/packages/published/vite-plugin/package.json +++ b/packages/published/vite-plugin/package.json @@ -92,7 +92,7 @@ "@babel/parser": "^7.24.5", "@babel/traverse": "^7.24.5", "@babel/types": "^7.24.5", - "vite": ">= 5.x <= 8.x" + "vite": ">=6.4.0 <9" }, "peerDependenciesMeta": { "@babel/parser": { diff --git a/yarn.lock b/yarn.lock index 13cefe523..a26a718f0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1890,7 +1890,7 @@ __metadata: "@babel/parser": ^7.24.5 "@babel/traverse": ^7.24.5 "@babel/types": ^7.24.5 - vite: ">= 5.x <= 8.x" + vite: ">=6.4.0 <9" peerDependenciesMeta: "@babel/parser": optional: true