VulCode

Autoprefixer: nasze zmiany w projekcie open source

Wtyczka PostCSS, która dodaje prefiksy przeglądarek do CSS na podstawie danych Can I Use.

Język
JavaScript
Gwiazdki na GitHubie
22 209
3przyjęte zmiany
Od 15.09.2026 do 7.10.2026.
6. miejsce wśród 64 projektów na GitHubie z naszymi zmianami, według gwiazdek. Pierwszy jest Zed (91 587).

Zmiany przyjęte w Autoprefixer

Odstępy siatki ustawione właściwościami grid-row-gap i grid-column-gap nie giną przy dziedziczeniu, a prefiksy siatki mają poprawne źródło w mapach źródeł.

Jak sprawdziliśmy zmianę #1557

Do przypadków testowych grid-gap.css doszła para reguł .longhand-gap i .longhand-gap.modifier z odstępami ustawionymi przez właściwości składowe. Oczekiwany wynik to -ms-grid-columns: 1fr 50px 1fr i -ms-grid-rows: 100px 40px 100px w obu regułach.

TypeScript, React i Node

Nasze projekty w tej technologii, ich ekrany i to, kiedy ją wybieramy.

Błąd, poprawka i wniosek

Skrót naszego opisu z Nowinek technicznych: co nie działało, co zmieniliśmy i co z tego wynika dla naszej pracy.

Co nie działało

Dziedziczona siatka gubiła odstęp

Przy dziedziczeniu obszarów siatki Autoprefixer szukał odstępu tylko w skrócie grid-gap. Gdy kontener ustawiał grid-row-gap i grid-column-gap, reguła dostawała siatkę bez odstępu.

Co zmieniliśmy

Jedna reguła dla obu ścieżek

Wyrażenie, które rozpoznaje skrót i właściwości składowe, trafiło do wspólnej stałej, a dziedziczenie używa go tak samo jak getGridGap.

const GAP_PROPS = /^(grid-)?((row|column)-)?gap$/
// find gap values, set either by the shorthand or by the longhands
r.walkDecls(GAP_PROPS, d => (gridGap = getGridGap(d)))
Czego nas to nauczyło

Właściwości skrócone i pełne w CSS muszą dawać ten sam wynik po przetworzeniu.

Narzędzie, które zmienia CSS, ma zachować też mapę źródeł.

Inne projekty z naszymi zmianami: TypeScript, React i Node

5 projektów w tej technologii ma nasze przyjęte zmiany. Pasek to gwiazdki repozytorium, obok liczba naszych zmian. Każdy wiersz prowadzi do strony projektu.

Pytania o nasze zmiany w Autoprefixer

Skąd są te zmiany, kto je przyjął i czy poprawimy coś w Twojej bibliotece.

Używasz Autoprefixer w swoim projekcie?

Jeśli coś w nim nie działa, poprawimy to u źródła i zostawimy obejście do czasu wydania. Odpiszemy w godzinę.