Skip to content

Audit use of vendor prefix mixins #957

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Fields

Priority

None yet

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions