refactor: remove redundant AC polyfill and use built-in UUID generator
Why
- AbortController has been available since Node 14.17, there is no longer a need to polyfill it. Node 12 has been EOL for quite some time and is considered dangerous to use. There is no longer a need for
uuidas a package, since Node 16.7.0 thecryptomodule provides a safe generator for UUIDs. - Smaller supply chain, avoidance of downloading and loading unnecessary polyfills.
How
Removed both of the packages and replaced them with native functionality.
Additional Notes (Optional)
Tests pass locally on Node 18 / 20 / 22. Can't test on Node 16 because corepack is not compatible with it.
Thanks. Always great to get rid of dependencies!
oops, forgot to replace uuid in tests, gimme a moment
it seems like there are still some references to the uuid module. Btw, we will need to decide if this can be merged in current major version or if we will need to make a breaking release as there are potential users out there using lower than 16 in production.
it seems like there are still some references to the uuid module. Btw, we will need to decide if this can be merged in current major version or if we will need to make a breaking release as there are potential users out there using lower than 16 in production.
I'd say a breaking change would be better, as well as settings engines.node to >=16.7
or in case you'd like to drop all EOL, >=18
@manast do I set the engines.node field to Node 16? or there is a better approach
I think the engines.node is the most established way of doing this.
@manast just added engines.node
Is there anything to be done on this PR besides conflict merging?
Is there anything to be done on this PR besides conflict merging?
No, but it is a breaking change so we must wait until next major release.