diff --git a/dist/cache-save/index.js b/dist/cache-save/index.js index 3a152770..7912bcd0 100644 --- a/dist/cache-save/index.js +++ b/dist/cache-save/index.js @@ -71877,6 +71877,17 @@ function getNodeVersionFromFile(versionFilePath) { if (manifest.volta?.node) { return manifest.volta.node; } + // support devEngines from npm 11 + if (manifest.devEngines?.runtime) { + // find an entry with name set to node and having set a version. + // the devEngines.runtime can either be an object or an array of objects + const nodeEntry = [manifest.devEngines.runtime] + .flat() + .find(({ name, version }) => name?.toLowerCase() === 'node' && version); + if (nodeEntry) { + return nodeEntry.version; + } + } if (manifest.engines?.node) { return manifest.engines.node; } diff --git a/dist/setup/index.js b/dist/setup/index.js index 42a3e507..6e2cb3e7 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -82415,6 +82415,17 @@ function getNodeVersionFromFile(versionFilePath) { if (manifest.volta?.node) { return manifest.volta.node; } + // support devEngines from npm 11 + if (manifest.devEngines?.runtime) { + // find an entry with name set to node and having set a version. + // the devEngines.runtime can either be an object or an array of objects + const nodeEntry = [manifest.devEngines.runtime] + .flat() + .find(({ name, version }) => name?.toLowerCase() === 'node' && version); + if (nodeEntry) { + return nodeEntry.version; + } + } if (manifest.engines?.node) { return manifest.engines.node; }