Allow passing a custom handler to flushDeprecations #207
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.
Running
flushDeprecations()
will always emit a config where all detected deprecations are silenced. But that is not always what you want. E.g. when you want your config to havethrowOnUnhandled
enabled, you might want to have all known deprecations to be listed (so they don't throw), but with alog
handler.This is now possible by running
flushDeprecations({ handler: 'log' })
instead. The default remainssilence
, so this is a non-breaking change.--
Edit:
Internally, this is removing support for deprecations that don't have an ID. Having an ID is asserted for since this PR, which landed way before the earliest version of 3.28 which we support here.
This simplifies the internal collector logic, to just add IDs to a
Set
and always emitting a config withmatchId
, instead of having to support bothmatchId
andmatchMessage
(which was only used when no ID was present)