test: adjust for array like devEngines

Co-authored-by: Grigory <grigory.orlov.set@gmail.com>
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
This commit is contained in:
Ferdinand Thiessen 2025-06-21 14:51:59 +02:00
parent 88483fd687
commit 25df5cda4f
No known key found for this signature in database
GPG key ID: 45FAE7268762B400
6 changed files with 61 additions and 24 deletions

View file

@ -27,11 +27,15 @@ export function getNodeVersionFromFile(versionFilePath: string): string | null {
}
// support devEngines from npm 11
if (
manifest.devEngines?.runtime?.name === 'node' &&
manifest.devEngines.runtime.version
) {
return manifest.devEngines.runtime.version;
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) {