You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When scaffolding a new app with TypeScript and Vitest using npm init vue@latest, there's a TypeScript error in vitest.config.ts related with the usage of mergeConfig.
Argument of type 'UserConfigExport' is not assignable to parameter of type 'UserConfig | Promise'.
Type 'UserConfigFn' is not assignable to type 'UserConfig | Promise'.ts(2345)
It seems the actual types in use for the "mergeConfig" arguments are UserConfigExport, but "mergeConfig" is expecting them to be of type UserConfig.
Here are the prompt selections:
After installing dependencies, the following error shows up in vitest.config.ts:
The text was updated successfully, but these errors were encountered:
Fixes compatibility with `mergeConfig`, as reported in vuejs/create-vue#313
Before the change, `defineConfig` would return `UserConfigExport`, which
is a union type. This would cause `mergeConfig` to fail, as it doesn't
accept the `UserConfigFn` type in the union. (vitejs#13135)
After the change, `defineConfig` returns the same type that it receives,
so it would exclude `UserConfigFn` from the return type whenever
possible.
Ported from vitejs/vite#13792
Fully fixes issues like vuejs/create-vue#317
and vuejs/create-vue#313
For an easy reproduction, please refer to https://github.com/sodatea/viteste-define-config-bug-repro
I didn't include a test in this PR because:
1. The reproduction is a bit complicated, it only fails on the very
latest Vite versions, but updating Vite would mess up the lockfile.
2. By not updating the dependencies, we can make sure that this fix is
compatible with older versions of Vite, too.
When scaffolding a new app with TypeScript and Vitest using
npm init vue@latest
, there's a TypeScript error in vitest.config.ts related with the usage of mergeConfig.It seems the actual types in use for the "mergeConfig" arguments are UserConfigExport, but "mergeConfig" is expecting them to be of type UserConfig.
Here are the prompt selections:

After installing dependencies, the following error shows up in vitest.config.ts:

The text was updated successfully, but these errors were encountered: