XS⚠️ ◾ Restore Node 20 Runtime Compatibility#791
Conversation
PR Metrics✔ Thanks for keeping your pull request small.
Metrics computed by PR Metrics. Add it to your Azure DevOps and GitHub PRs! |
There was a problem hiding this comment.
Pull request overview
This PR restores compatibility for Azure DevOps Server agents that still execute the task under a Node 20 handler by removing use of a Node 21+ runtime API (Object.groupBy) and replacing it with an equivalent manual grouping implementation in the metrics file-pattern logic.
Changes:
- Replaced
Object.groupByusage with a Node 20-compatible loop-based grouping implementation for file matching patterns.
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Super-linter summary
All files and directories linted successfully For more information, see the GitHub Actions workflow run Powered by Super-linter |
Summary
Some Azure DevOps Server agents execute the task under a Node 20 handler even when Node 24 is declared as the execution target. A recently introduced runtime API requires Node 21 or later and crashed the task on those agents.
This change replaces the call with a back-compatible implementation that works on any supported Node runtime.
Impact
Restores task execution on Azure DevOps Server agents that route to a Node 20 runtime. No behavioural change on Node 24 or later.
Fixes #790