-
Notifications
You must be signed in to change notification settings - Fork 3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore: fix latest compile TS and Node 20 workflow failures #7512
base: master
Are you sure you want to change the base?
chore: fix latest compile TS and Node 20 workflow failures #7512
Conversation
☁️ Nx Cloud ReportCI is running/has finished running commands for commit 72884e2. As they complete they will appear below. Click to see the status, the terminal output, and the build insights. 📂 See all runs for this CI Pipeline Execution ✅ Successfully ran 1 targetSent with 💌 from NxCloud. |
Ha, so this did indeed fix v20, but has caused v18 to fail... I will see if I can repro locally. Perhaps it just needs a few retries on the GC check... |
It turns out
I decided to go with the latter, but let me know if you would prefer the former. |
Fixed in commit 72884e2 |
Description:
In PR #7511 I discovered that Node 18 tests are working fine, but it looks like the latest Node 20 (
20.18.0
) which the Node 20 job is configured to use, has actually implementedFinalizationRegistry
which was added to the tests 4 years ago (!) but has not actually been in use because of it not being present globally in Node until now.This is obviously a very surprising discovery that this test code has not actually ever been executed in the last 4 years, and in reading the MDN entry for
FinalizationRegistry
(a thing I was not familiar with at all), it seems like something we'd want to avoid in deterministic tests across multiple environments.Therefore I replaced its usage entirely with a
WeakRef
which should hopefully cover the desired logic on Node v20.(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/FinalizationRegistry)
The PR then ultimately also fixes the long standing TS compilation issues with latest TS.