Here's what we need to make sure we do:
- Developers can avoid installing and outdated component;
- Developers can know to stop using a component; and
- Components aren't removed so existing sites continue to function.
How to deprecate an entire component
- In the
component-name.config.yml
file add:status: deprecated
component-type: deprecated
hidden: true
- In the
component-name.scss
file wrap the sass with:html:not(.vf-disable-deprecated) {
- Update
README.md
with:- why the component has been deprecated
- what component(s) developers should instead use
- Use this template in the README.md file
This component has been <span style="color: rgb(228, 0, 70);">deprecated</span>. Please use the <a class="vf-link" href="#">new</a> component.
- Publish on npm
- see
PUBLISHING.md
- see
- Remove the component from
vf-core
- Deprecate on npm
npm deprecate @visual-framework/component "no longer supported use the @visual-framework/component instead"
Need to deprecate just one variant of a component?
- Add a note to the
--variant.njk
- Use this template
This variant has been <span style="color: rgb(228, 0, 70);">deprecated</span>. Please use the <a class="vf-link" href="#">new</a> component.
- Wrap the relevant Sass in
html:not(.vf-disable-deprecated) {
- Hide the variant tab in
.config.yml
:
variants:
- name: deprecated-variant
hidden: true
See also: example vf-deprecated
component