Currently, the runtime deprecation warning phase is immediately followed by the complete removal of a deprecated feature.
In some cases, user code that relies on a deprecated feature continues to work after the End-of-Life phase but produces different results, which is usually worse than failing with explicit error.
To mitigate this, we could introduce an additional phase (namely 'throwing deprecation'). This phase would force users to update their code (or cap the max supported Node.js version) while still keeping End-of-Life with complete removal in next major release as the final goal.
Currently, the runtime deprecation warning phase is immediately followed by the complete removal of a deprecated feature.
In some cases, user code that relies on a deprecated feature continues to work after the
End-of-Lifephase but produces different results, which is usually worse than failing with explicit error.To mitigate this, we could introduce an additional phase (namely 'throwing deprecation'). This phase would force users to update their code (or cap the max supported Node.js version) while still keeping
End-of-Lifewith complete removal in next major release as the final goal.