Skip to content

Audit use of vendor prefix mixins #957

@janbrasna

Description

@janbrasna

There are a handful of utility mixins sometimes serving "interesting" prefixed rules:

@mixin align-items($align: stretch) {
-webkit-box-align: $align;
align-items: $align;
}
@mixin justify-content($justify: flex-start) {
-webkit-box-pack: $justify;
justify-content: $justify;
}
@mixin background-size($sizes...) {
-webkit-background-size: $sizes;
background-size: $sizes;
}

(e.g. align-items is unprefixed since Safari 9, and Safari 8 had it prefixed, but the fallback to *-box-align i.e. another experimental property sounds rather complex for today's use; -webkit-background-size had a different logic applied to param count and didn't understand a handful of values etc.)

While definitely intriguing piece of code that must have been really helpful in the past decade, some bits are probably no longer relevant or necessary, and if used, only inflating the compiled output with no positive impact. Maybe it's time to audit if/where these are being used, and plan a decommission path to have them removed one day.

If a major/breaking release is coming up, that might help justifying some of the mixin removal, if they no longer serve the purpose and would just need to be kept around passing through the stable property for backwards compatibility of the API.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions