Skip to content

Commit 9a8bc78

Browse files
authored
fix: inherit fsModuleCachePath by default (#9063)
1 parent c3befb0 commit 9a8bc78

File tree

4 files changed

+16
-2
lines changed

4 files changed

+16
-2
lines changed

docs/api/advanced/plugin.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,4 +170,4 @@ export function plugin(options: PluginOptions) {
170170
}
171171
```
172172

173-
If the `false` is returned, the module will not be cached on the file system.
173+
If `false` is returned, the module will not be cached on the file system.

docs/api/advanced/vitest.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -614,4 +614,4 @@ This method will [collect tests](#parsespecification) from an array of specifica
614614
function experimental_clearCache(): Promise<void>
615615
```
616616

617-
Deletes all Vitest caches, including [`experimental.fsModuleCache`](/config/experimental#fsmodulecache).
617+
Deletes all Vitest caches, including [`experimental.fsModuleCache`](/config/experimental#experimental-fsmodulecache).

packages/vitest/src/node/plugins/workspace.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,10 @@ export function WorkspaceVitestPlugin(
102102
vitestConfig.experimental ??= {}
103103
vitestConfig.experimental.fsModuleCache = project.vitest.config.experimental.fsModuleCache
104104
}
105+
if (testConfig.experimental?.fsModuleCachePath == null && project.vitest.config.experimental?.fsModuleCachePath !== null) {
106+
vitestConfig.experimental ??= {}
107+
vitestConfig.experimental.fsModuleCachePath = project.vitest.config.experimental.fsModuleCachePath
108+
}
105109

106110
return {
107111
base: '/',

test/config/test/override.test.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import type { UserConfig as ViteUserConfig } from 'vite'
22
import type { TestUserConfig } from 'vitest/node'
3+
import { resolve } from 'pathe'
34
import { describe, expect, it, onTestFinished } from 'vitest'
45
import { createVitest, parseCLI } from 'vitest/node'
56

@@ -94,6 +95,7 @@ it('experimental fsModuleCache is inherited in a project', async () => {
9495
const v = await vitest({}, {
9596
experimental: {
9697
fsModuleCache: true,
98+
fsModuleCachePath: './node_modules/custom-cache-path',
9799
},
98100
projects: [
99101
{
@@ -105,24 +107,32 @@ it('experimental fsModuleCache is inherited in a project', async () => {
105107
})
106108
expect(v.config.experimental.fsModuleCache).toBe(true)
107109
expect(v.projects[0].config.experimental.fsModuleCache).toBe(true)
110+
111+
expect(v.config.experimental.fsModuleCachePath).toBe(resolve('./node_modules/custom-cache-path'))
112+
expect(v.projects[0].config.experimental.fsModuleCachePath).toBe(resolve('./node_modules/custom-cache-path'))
108113
})
109114

110115
it('project overrides experimental fsModuleCache', async () => {
111116
const v = await vitest({}, {
112117
experimental: {
113118
fsModuleCache: true,
119+
fsModuleCachePath: './node_modules/custom-cache-path',
114120
},
115121
projects: [
116122
{
117123
test: {
118124
name: 'project',
119125
experimental: {
120126
fsModuleCache: false,
127+
fsModuleCachePath: './node_modules/project-cache-path',
121128
},
122129
},
123130
},
124131
],
125132
})
126133
expect(v.config.experimental.fsModuleCache).toBe(true)
127134
expect(v.projects[0].config.experimental.fsModuleCache).toBe(false)
135+
136+
expect(v.config.experimental.fsModuleCachePath).toBe(resolve('./node_modules/custom-cache-path'))
137+
expect(v.projects[0].config.experimental.fsModuleCachePath).toBe(resolve('./node_modules/project-cache-path'))
128138
})

0 commit comments

Comments
 (0)