[RFC] Deprecate carbon-components
and carbon-components-react
#12179
Replies: 2 comments 2 replies
-
As someone who's worked through migrating to v11, I think this plan looks great. However, if it's going to result in an influx of devs trying to upgrade to v11 in December, I think the v11 docs could be firmed up a bit more especially with the change in Sass confusing people on top of the changes in Carbon. The migration guide on the website and the markdown migration guides in Github can be confusing and inconsistent for some things. For example, sometimes it suggests I use Just my 2 cents after a month or two of working through the migration and having people reach out to me with questions about it. |
Beta Was this translation helpful? Give feedback.
-
These packages are now marked as deprecated on npm. More info is available on our website at https://carbondesignsystem.com/deprecations |
Beta Was this translation helpful? Give feedback.
-
This is a Request For Comments regarding the intent to deprecate the
carbon-components
andcarbon-components-react
packages.An umbrella issue has been opened for this work:
Why these packages are being deprecated
In v11
@carbon/styles
and@carbon/react
were introduced. These are the primary packages intended to be used moving forward. They replace the need forcarbon-components
andcarbon-components-react
.In addition, since releasing v11 we have noticed that having these packages around creates confusion. Project teams are unsure of the relationships between packages, when to use one over the other, and why. Deprecating
carbon-components
andcarbon-components-react
should elimitate some of this confusion as the deprecation mechanisms and messaging will point users towards moving to use@carbon/styles
and@carbon/react
instead.Proposed timeline
As originally stated in the v11 changelog, we intend to deprecate
carbon-components
andcarbon-components-react
in v11, then remove as part of v121@carbon/styles
and@carbon/react
. To facilitate transition,carbon-components
andcarbon-components-react
are bumped to a new major version and reconfigured to re-export everything from@carbon/styles
and@carbon/react
, respectively.carbon-components
,carbon-components-react
, request for comments (this issue).December 2022January 2023March 2023carbon-components
andcarbon-components
react in the terminal stating our recommendation to move to@carbon/styles
and@carbon/react
. The message will link back to this issue for information on the package strategy, deprecation, and plan of action.carbon-components
andcarbon-components-react
on npm, #12496. These packages will no longer receive updates.packages/carbon-components
andpackages/carbon-components-react
are removed from themain
branch of this repositoryCurrent package strategy explained
The packages published are linked in the following ways:
@carbon/[email protected]
The
@carbon/react
package is the flagship offering that houses everything you need to get started building a react app with the Carbon Design System. It includes:For most use cases, when using
@carbon/react
, you should not need the following packages:@carbon/styles
carbon-components
carbon-components-react
@carbon/icons
@carbon/icons-react
@carbon/colors
@carbon/grid
@carbon/layout
@carbon/motion
@carbon/themes
@carbon/type
It's recommended to start with
@carbon/react
and to not install other Carbon packages until you find it necessary. If a project was previously using those packages, it may be able to replace usages to instead use@carbon/react
and then remove these packages.Everything from
@carbon/styles
is included, therefore all styles from the elements packages is included.@carbon/[email protected]
The
@carbon/styles
package is dedicated to providing the styles associated with the Carbon Design System. The styles are authored in sass and use the sass module system. It is the successor tocarbon-components
and recommended to be used instead ofcarbon-components
when you are only in need of styles.It includes most everything one would need from the elements packages, including the styles, tokens, mixins, etc. from:
@carbon/colors
@carbon/grid
@carbon/layout
@carbon/motion
@carbon/themes
@carbon/type
When using
@carbon/styles
, it should not be necessary to install any of the above elements packages unless you need to use the javascript exports from those packages.[email protected]
We recommend using
@carbon/styles
instead. This package re-exports everything from@carbon/styles
.[email protected]
We recommend using
@carbon/react
instead. This package re-exports everything from@carbon/react
.@carbon/elements
This package re-exports everything from all the elements packages packages. We recommend installing the individual packages that make up elements as you need them, rather than installing this package.
Elements packages
These packages make up the different elemental building blocks of the system and are organized into logical categories. Each includes styles as well as javascript exports. When using
@carbon/react
or@carbon/styles
, we recommend not installing these packages until you deem it necessary.Footnotes
There is currently no formal plan or release schedule for v12. This is simply a statement of intent. ↩ ↩2
Beta Was this translation helpful? Give feedback.
All reactions