@@ -12,6 +12,8 @@ export default async function () {
1212 const npmRegistry : string = getGlobalVariable ( 'package-registry' ) ;
1313 const npmrc = join ( tempRoot , '.npmrc' ) ;
1414 const yarnrc = join ( tempRoot , '.yarnrc' ) ;
15+ const npmCacheFolder = join ( tempRoot , 'npm-cache-folder' ) ;
16+ const yarnCacheFolder = join ( tempRoot , 'yarn-cache-folder' ) ;
1517
1618 // Change the npm+yarn userconfig to the sandboxed npmrc to override the default ~
1719 process . env . NPM_CONFIG_USERCONFIG = npmrc ;
@@ -24,6 +26,10 @@ export default async function () {
2426 process . env . NPM_CONFIG_PREFIX = npmModulesPrefix ;
2527 process . env . YARN_CONFIG_PREFIX = yarnModulesPrefix ;
2628
29+ // Package cache diretories
30+ process . env . NPM_CONFIG_CACHE = npmCacheFolder ;
31+ process . env . YARN_CACHE_FOLDER = yarnCacheFolder ;
32+
2733 // Snapshot builds may contain versions that are not yet released (e.g., RC phase main branch).
2834 // In this case peer dependency ranges may not resolve causing npm 7+ to fail during tests.
2935 // To support this case, legacy peer dependency mode is enabled for snapshot builds.
@@ -32,11 +38,19 @@ export default async function () {
3238 }
3339
3440 // Configure the registry and prefix used within the test sandbox via rc files
35- await writeFile ( npmrc , `registry=${ npmRegistry } \nprefix=${ npmModulesPrefix } ` ) ;
36- await writeFile ( yarnrc , `registry ${ npmRegistry } \nprefix ${ yarnModulesPrefix } ` ) ;
41+ await writeFile (
42+ npmrc ,
43+ `registry=${ npmRegistry } \nprefix=${ npmModulesPrefix } \ncache=${ npmCacheFolder } ` ,
44+ ) ;
45+ await writeFile (
46+ yarnrc ,
47+ `registry ${ npmRegistry } \nprefix ${ yarnModulesPrefix } \ncache-folder ${ yarnCacheFolder } ` ,
48+ ) ;
3749
3850 await mkdir ( npmModulesPrefix ) ;
3951 await mkdir ( yarnModulesPrefix ) ;
52+ await mkdir ( npmCacheFolder ) ;
53+ await mkdir ( yarnCacheFolder ) ;
4054
4155 setGlobalVariable ( 'npm-global' , npmModulesPrefix ) ;
4256 setGlobalVariable ( 'yarn-global' , yarnModulesPrefix ) ;
0 commit comments