Component milestones & lifecycle

How we track component lifecycles in Fuegokit React

Components that ship into Fueogkit React are tracked according to the following lifecycle statuses.

Experimental

Proof of concept, which might have been built outside of Fuegokit or inside the library.

  • Could exist in a product as a one-off, or could exist as an experimental live version in non-deployed or non-application environment.
  • No support is implied, and breaking changes should be expected.
  • Some experimental components can be quite polished, but the expectation should generally be that you should not use experimental status components in production.

We publish experimental components in the experimental bundle.

We use these to collect direct feedback from people using the library.

Experimental doesn't always indicate that something is unstable -- often these components already have robust unit test coverage.

The Experimental classification is often used when components are developed in parallel, and there may already be an existing component shipped in the main bundle.

import {RuleBuilderStep} from '@fuegokit/react/experimental'

Alpha

Component is ready for preliminary usage, with breaking changes expected.

  • Component props are documented on Docs site
  • Component does not have any unnecessary third-party dependencies.
  • Component can adapt to different themes.
  • Component can adapt to different screen sizes.
  • Component has 100% test coverage.

Beta

  • Component meets most of the criteria needed to be considered mature enough to be used in most scenarios.
  • Component is used in a production application.
  • Common usage examples are documented on Docs site
  • Common usage examples are documented in Storybook stories.
  • Component has been reviewed by a designer and any resulting issues have been addressed.
  • Component has been manually reviewed by accessibility working group, and any resulting issues have been addressed.

Stable

  • Component is mature and usage is strongly encouraged, with long-term support expected.
  • Component API has been stable with no breaking changes for at least one month.
  • Feedback on API usability has been sought from developers using the component and any resulting issues have been addressed.
  • Component has corresponding Figma component in the Figma library.
  • Soon: Component has corresponding design guidelines documented in the Interface Guidelines site (don’t have that on the roadmap)

Deprecated

The component will be removed in the future and should be avoided.

  • Documentation exists for the deprecation, including any alternative components to use instead.
  • When using the component, a warning is shown to the consumer.

Removed

The component no longer exists in Fuegokit.

  • The removal date has been announced and is at least one month away from the release date of the package that removes the component.
  • Manual and automated migration paths are documented and have been available for at least one month.