@@ -67,19 +67,26 @@ export async function run() {
6767 auth . configAuthentication ( registryUrl , alwaysAuth ) ;
6868 }
6969
70- const resolvedPackageManager = getNameFromPackageManagerField ( ) ;
7170 const cacheDependencyPath = core . getInput ( 'cache-dependency-path' ) ;
72- if ( cache && isCacheFeatureAvailable ( ) ) {
73- core . saveState ( State . CachePackageManager , cache ) ;
74- await restoreCache ( cache , cacheDependencyPath ) ;
75- } else if ( resolvedPackageManager && packagemanagercache ) {
76- core . info (
77- "Detected package manager from package.json's packageManager field: " +
78- resolvedPackageManager +
79- '. Auto caching has been enabled for it. If you want to disable it, set package-manager-cache input to false'
80- ) ;
81- core . saveState ( State . CachePackageManager , resolvedPackageManager ) ;
82- await restoreCache ( resolvedPackageManager , cacheDependencyPath ) ;
71+ if ( isCacheFeatureAvailable ( ) ) {
72+ // we only determine the package manager type if we can cache in the first place
73+ if ( cache ) {
74+ // in previous version of setup-node, user can explictly specify what package manager they are using, we prefer that
75+ core . saveState ( State . CachePackageManager , cache ) ;
76+ await restoreCache ( cache , cacheDependencyPath ) ;
77+ } else if ( packagemanagercache ) {
78+ // only if user hasn't specify the "cache" (introduced in the previous version) we read the "package-manager-cache" field
79+ const resolvedPackageManager = getNameFromPackageManagerField ( ) ; // only then we look for "package.json" for package manager
80+ if ( resolvedPackageManager ) {
81+ core . info (
82+ "Detected package manager from package.json's packageManager field: " +
83+ resolvedPackageManager +
84+ '. Auto caching has been enabled for it. If you want to disable it, set package-manager-cache input to false'
85+ ) ;
86+ core . saveState ( State . CachePackageManager , resolvedPackageManager ) ;
87+ await restoreCache ( resolvedPackageManager , cacheDependencyPath ) ;
88+ }
89+ }
8390 }
8491
8592 const matchersPath = path . join ( __dirname , '../..' , '.github' ) ;
0 commit comments