From a7ea957cac3d12c19054388164cacb66dc7813a2 Mon Sep 17 00:00:00 2001 From: SukkaW Date: Thu, 11 Sep 2025 01:27:08 +0800 Subject: [PATCH 1/2] refactor: minor changes follows #1348 - Only enable package cache when the cache feature is availiable - We don't read "package.json" if previous version "cache" field is used --- src/main.ts | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/main.ts b/src/main.ts index 01e58e05..0859587a 100644 --- a/src/main.ts +++ b/src/main.ts @@ -67,19 +67,26 @@ export async function run() { auth.configAuthentication(registryUrl, alwaysAuth); } - const resolvedPackageManager = getNameFromPackageManagerField(); const cacheDependencyPath = core.getInput('cache-dependency-path'); - if (cache && isCacheFeatureAvailable()) { - core.saveState(State.CachePackageManager, cache); - await restoreCache(cache, cacheDependencyPath); - } else if (resolvedPackageManager && packagemanagercache) { - core.info( - "Detected package manager from package.json's packageManager field: " + - resolvedPackageManager + - '. Auto caching has been enabled for it. If you want to disable it, set package-manager-cache input to false' - ); - core.saveState(State.CachePackageManager, resolvedPackageManager); - await restoreCache(resolvedPackageManager, cacheDependencyPath); + if (isCacheFeatureAvailable()) { + // we only determine the package manager type if we can cache in the first place + if (cache) { + // in previous version of setup-node, user can explictly specify what package manager they are using, we prefer that + core.saveState(State.CachePackageManager, cache); + await restoreCache(cache, cacheDependencyPath); + } else if (packagemanagercache) { + // only if user hasn't specify the "cache" (introduced in the previous version) we read the "package-manager-cache" field + const resolvedPackageManager = getNameFromPackageManagerField(); // only then we look for "package.json" for package manager + if (resolvedPackageManager) { + core.info( + "Detected package manager from package.json's packageManager field: " + + resolvedPackageManager + + '. Auto caching has been enabled for it. If you want to disable it, set package-manager-cache input to false' + ); + core.saveState(State.CachePackageManager, resolvedPackageManager); + await restoreCache(resolvedPackageManager, cacheDependencyPath); + } + } } const matchersPath = path.join(__dirname, '../..', '.github'); From 2504c6551f57eb3d075a2133ff62ab4767f0f927 Mon Sep 17 00:00:00 2001 From: Sukka Date: Thu, 11 Sep 2025 01:31:08 +0800 Subject: [PATCH 2/2] fix typo by github copilot Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- src/main.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main.ts b/src/main.ts index 0859587a..e0f221ad 100644 --- a/src/main.ts +++ b/src/main.ts @@ -71,7 +71,7 @@ export async function run() { if (isCacheFeatureAvailable()) { // we only determine the package manager type if we can cache in the first place if (cache) { - // in previous version of setup-node, user can explictly specify what package manager they are using, we prefer that + // in previous version of setup-node, user can explicitly specify what package manager they are using, we prefer that core.saveState(State.CachePackageManager, cache); await restoreCache(cache, cacheDependencyPath); } else if (packagemanagercache) {