This repository has been archived by the owner on Jan 13, 2025. It is now read-only.
refactor: migrate to Sass module system (wip) #5354
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
DO NOT MERGE. This PR is just designed to demonstrate the result of the migration script and discuss the changes that are necessary.
This PR was generated by running this script on top of #5337. It migrates most components (excluding chips, select, and textfield) to the Sass module system, removing manual
mdc-$component
prefixes and implicit dependencies between files (though still leaving both intact for users still using@import
).The Sass migrator focuses on correctness and the API that each files exposes, so the code it outputs may not always conform to your preferred style. In most cases, those style changes should be applied on top of the migrator's output, but if there's something style-related that you think it makes sense for the migrator to handle, we could add that support.
Changes to the general structure of the code after migration will require changes to the script, which should then be re-run on top of master.
High-level overview of the changes made here:
mdc-button-
) for each component have been removed from all variables, functions, and mixins within the code. Prefixes on CSS selectors are unaffected.@use
, only members directly declared in that file are available.mdc-button.scss
exposes the button mixins, but not the theme mixins, for example)@import
previously, so existing users that still use@import
shouldn't break as a result of these changes. These files will then be used by the migrator when those users later migrate to the module system themselves.