diff --git a/.nvmrc b/.nvmrc index a45fd52cc5..7273c0fa8c 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -24 +25 diff --git a/package.json b/package.json index a8e3e84f56..1ad12fed40 100644 --- a/package.json +++ b/package.json @@ -206,8 +206,8 @@ "zod-to-json-schema": "catalog:" }, "engines": { - "node": "24.x", - "pnpm": ">=11" + "node": ">=25", + "pnpm": ">=11.3" }, - "packageManager": "pnpm@11.1.1" + "packageManager": "pnpm@11.3.0" } diff --git a/vite.config.mts b/vite.config.mts index 4313a0111c..848a07a3b6 100644 --- a/vite.config.mts +++ b/vite.config.mts @@ -651,6 +651,13 @@ export default defineConfig({ test: { globals: true, environment: 'happy-dom', + // Node 25+ enables the Web Storage API by default, which shadows + // happy-dom's localStorage/sessionStorage with a non-functional Proxy. + // See https://github.com/capricorn86/happy-dom/issues/1950 + execArgv: + Number(process.versions.node.split('.')[0]) >= 25 + ? ['--no-experimental-webstorage'] + : [], setupFiles: ['./vitest.setup.ts'], retry: process.env.CI ? 2 : 0, include: [