Make tests use a dynamic / non-hardcoded (outdated) version(s) of Node #1534
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The build fails on Node 10:
In #1321 the tests were updated to:
(except for
code_quality.yml
, which was left on 12)However, the version of
sinonjs/fake-timers
we use (dependency ofnise
which is a dependency ofsinon
) uses optional chaining syntax, requiring Node >=14.Instead of hardcoding Node version(s), we can take the original logic (newest/oldest supported versions) and compute that dynamically instead based on the NodeJS release metadata.
The net result of this change is that (today), tests that run on a range of versions will run on
18
&22
, with tests on a specific version using22
.Example execution showing it now successfully compiles with the dynamic versions (other test failures out of scope).