Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transition to Sass Modules #8

Open
mattrosno opened this issue Jun 10, 2021 · 1 comment
Open

Transition to Sass Modules #8

mattrosno opened this issue Jun 10, 2021 · 1 comment
Labels
carbon components Library: component styles and vanilla JavaScript carbon elements Library: IBM Design Language elements like colors, type, iconography, and more
Milestone

Comments

@mattrosno
Copy link
Member

mattrosno commented Jun 10, 2021

Summary

Towards the end of 2020, there was an announcement that LibSass, and the corresponding ecosystem, was officially deprecated. As a result, it seemed important that we take a look at leveraging Dart Sass as opposed to Node Sass in our upcoming release. In addition, we have several existing problems that we'd like to see addressed in our upcoming release:

  • Projects that include Carbon's Sass in their build tool (webpack, parcel) experience long cold-start and recompilation times, upwards of a minute
  • It is unclear what parts of the project are public or private, in other words what parts do we intend for developers to leverage and what parts do we intend to keep internal
  • It is confusing for developers to know how to properly configure Carbon using our global flags
  • Our default stylesheets for several components are large and/or contain high amounts of specificity that we'd like to lower

Links and resources:

Job stories

  1. When using Carbon component Sass, I want my imports (now @use rules) to be simple and deterministic so my imports no longer look like @import 'carbon-components/scss/globals/scss/vendor/@carbon/type/scss/font-family.scss'.

Success measures

  1. All elements and components are converted to Sass Modules
  2. @carbon/import-once is deprecated
  3. Reference docs are updated
  4. Migration docs are complete

Sponsoring team

Carbon team

@mattrosno mattrosno added carbon components Library: component styles and vanilla JavaScript carbon elements Library: IBM Design Language elements like colors, type, iconography, and more labels Jun 10, 2021
@mattrosno mattrosno added this to the v11 release milestone Jun 10, 2021
@carbon-design-system carbon-design-system locked and limited conversation to collaborators Jun 10, 2021
@mattrosno
Copy link
Member Author

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
carbon components Library: component styles and vanilla JavaScript carbon elements Library: IBM Design Language elements like colors, type, iconography, and more
Projects
None yet
Development

No branches or pull requests

1 participant