-
Notifications
You must be signed in to change notification settings - Fork 20
Open
Labels
DocumentationIncludes Storybook and Github READMEIncludes Storybook and Github README
Description
Why:
As we are doing design sync stuff, we will have to change the style or behavior which might cause a breaking change.
How:
For any potential breaking change, before we merge the change into v4, we should
- Ensure the change being backward compatible.
- Use
console.warningto warn the developer about the legacy props. - Mark deprecated codes with
@deprecatedtag so the other developers can easily be aware of it from IDE. - Add the announcement about the legacy stuff on the storybook and slack (after merging into v4).
- Create an issue for removing legacy features.
So the breaking changes won't break the production or block the other features and we won't be forced to migrate it on the projects asap.
After we migrate the breaking change on projects and merge the branch into staging, we can start to remove the legacy codes on glints-aries.
Example:
The two examples below both blocked the other features release before because we didn't make the change be backward compatible.
-
Color:
- Slack: https://glints.slack.com/archives/CS09D0LJX/p1612494365026900
- PR: Remove Deprecated Colors #583
- Breaking change: Some color variables got renamed or removed.
- How should we do:
- Add new colors and still keep the deprecated colors in
src/Utils/Colors.ts. - Remove deprecated colors from the storybook.
- Merge branch into v4 and announce the coming breaking changes on slack.
- Upgrade glints-aries and replace the legacy color variables with new ones on projects.
- After we merge the breaking change migration into staging, we can remove the legacy colors on glints-aries.
- Add new colors and still keep the deprecated colors in
-
TextField:
- Slack: https://glints.slack.com/archives/CS09D0LJX/p1610432559027600?thread_ts=1607424021.047700&cid=CS09D0LJX
- PR: Update Textfield according to the new design system. #553
- Breaking change: The style of
TextFieldgot totally redesigned. - How should we do:
- Add a new component called
TextInputaccording to the design guideline. - Add description on
TextFieldstorybook about this component that has been deprecated from the design system and what is the alternative. - Announce the change on slack after the merge.
- Add a new component called
- Why don't we remove
TextField:
BecauseTextFieldis still used at many places and probably has feature or bug request in the future. Therefore, we should still maintain theTextFieldinglints-aries.
Metadata
Metadata
Assignees
Labels
DocumentationIncludes Storybook and Github READMEIncludes Storybook and Github README