feat(packages/sui-decorators): Create @Deprecated() decorator #1785
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.
Description
Frontend Tech Community has agreed to create, use, and standardize the
@Deprecated()
decorator. It will help us to manage the death code and monitor it to keep our code as clean as possible.New decorator:
@Deprecated()
Imagine you are refactoring a code, or disabling a functionality. How sure you are, that your code is not being used? For those cases, if you use the
@Deprecated()
decorator, you will be able to see aconsole.warn
on your terminal or browser console (it's disabled on production by default).If you want to monitor the health of your code, this decorator brings you the possibility to integrate yourself into your application and send it to your desired platform.
This decorator has 2 required parameters:
key
: Used to enable you the possibility of monitoring and know how many times the deprecated code has been called.message
: Used to display the message into the terminal or browser console. It's enabled only fornon-production
environments.Linting Rules
With this Pull Request, also we will add some linting rules for this decorator to help the DX and make our life easier.
The linting rules are:
@Deprecated()
decorator MUST be used only onClasses
andMethods
.@Deprecated()
decorator MUST have akey
provided.key
will appear with the current method/class name.@Deprecated()
decorator MUST have amessage
provided.key
will appear with the current method/class name.@Deprecated()
decorator, will be highlighted as a warning.Example of usage:
Example of visualisation on your Browser Console
Example
Client test ✅
Server test ✅