Preskoči na sadržaj
WebVodičisrednji signalprovjerenopodrška provjerena 22. avgust 2026

Kako uvesti Baseline u CI, pa da pregledač prestane da odlučuje umjesto tebe

Trebaju ti tri paketa i dvadesetak minuta. Jedno podešavanje kaže gradnji koje pregledače gađaš, linter upozori kad stilski list pređe tu liniju, a CI to kaže na zahtjevu za spajanje umjesto da ti korisnik kaže u prijavi greške šest sedmica kasnije.

Potpisuje Redakcija WebAiRadarObjavljeno 3 min čitanjanapisao model
Slika: web.dev, npm

Izvor

Baseline

Baseline, zajednički standard četiri pregledača · Original objavljen 21. avgust 2026

Podrška pregledačima je odluka koju tim donosi, a većina timova je donese slučajno — neko upotrijebi svojstvo, niko ne provjeri, i odgovor stigne kao prijava greške iz pregledača koji niko nije testirao. Baseline to pretvara u broj koji staje u datoteku s podešavanjima. Ovdje je cijela postavka, s verzijama paketa provjerenim u npm registru 21. avgusta 2026.

Prvi korak: povuci liniju, namjerno

Baseline nudi dva načina da se povuče. Široko dostupno pokriva sve što je u potpunosti podržano u Chromeu, Edgeu, Firefoxu i Safariju 30 mjeseci prije današnjeg dana. Godišnji skup pokriva sve što je u ta četiri pregledača bilo u potpunosti podržano do kraja date kalendarske godine.

Trideset mjeseci je namjerno konzervativno, i to je cijela poenta: to je linija na kojoj mogućnost vjerovatno neće postati tvoj problem. Ako ti analitika kaže da posjetioci imaju svježe pregledače, skorija godina je poštenija linija. Pogledaj analitiku prije izbora, ne poslije.

Drugi korak: jedno podešavanje koje cijela gradnja čita

Paket browserslist-config-baseline, verzija 0.5.0, pretvara Baseline cilj u browserslist podešavanje. To je važno jer browserslist već čitaju Autoprefixer, Babel, Lightning CSS i većina paketara. Postaviš jednom i cio lanac alata se složi.

U package.json:

  • npm i browserslist-config-baseline
  • "browserslist": ["extends browserslist-config-baseline"]
  • Dodaj objekat "browserslist-config-baseline" sa logConfigToConsole postavljenim na true ako hoćeš da se razriješen spisak pregledača ispiše pri svakom pokretanju.
  • Podaci u paketu se mijenjaju kako pregledači izlaze, pa ga osvježavaj po rasporedu umjesto da ga zakucaš i zaboraviš.

Treći korak: linter koji upozori prije nego što to uradi pregled koda

Paket stylelint-plugin-use-baseline, verzija 1.4.6, provjerava CSS naspram Baselinea. Njegova dokumentacija preporučuje da se pokreće s težinom upozorenja, jer je svrha da suzi spisak mogućnosti s kojima treba pažljivo, a ne da ih zabrani.

Najmanji stylelint.config.js dodaje dodatak i pali jedno pravilo: plugin/use-baseline, s težinom postavljenom na upozorenje. Onda pokreneš npx stylelint nad svojim CSS-om. Timovi koji su već na ESLintu imaju drugi put: @eslint/css, verzija 1.4.0, nosi pravilo use-baseline u svom preporučenom skupu.

Težina upozorenja je ispravna podrazumijevana vrijednost s razlogom. Pravilo koje obara gradnju nauči ljude da ga isključe. Pravilo koje upozorava nauči ih da pogledaju.

Četvrti korak: neka to kaže CI

Vrijednost nije u tome da linter radi na tvom računaru. Vrijednost je u tome da se upozorenje pojavi na zahtjevu za spajanje, uz izmjenu koja ga je izazvala, dok je ta izmjena još jeftina.

Jedan posao na zahtjevima za spajanje: instaliraj, pokreni stylelint nad stilskim listovima, i pusti ga da prijavi. Prvo neka ne obara gradnju. Mjesec dana upozorenja ti kaže da li linija koju si izabrao odgovara načinu na koji tvoj tim stvarno piše CSS, a to je podatak koji hoćeš prije nego što kapiju zatvoriš.

Peti korak: prelazak linije, namjerno

Upozorenje nije zabrana. Kad novija mogućnost stvarno zaslužuje svoje mjesto, umotaj je tako da stariji pregledač dobije stranicu koja radi umjesto polomljene, a upozorenje lintera neka ostane kao zapis da je izbor bio svjestan.

To je cijela pogodba. Baseline ti ne kaže šta smiješ da koristiš. Kaže ti šta se spremaš da platiš, na vrijeme da odlučiš.

Šta ovo ne pokriva

Oba pomenuta lintera čitaju CSS. Sam Baseline pokriva mnogo više: web-features, verzija 3.35.1, je priređen skup podataka iza svega toga i sadrži i JavaScript API-je i HTML. Ako hoćeš istu provjeru nad upotrebom API-ja, taj skup je mjesto od kojeg se gradi, a gotovog lintera za to u ovoj postavci nema.

Postoji i baseline-browser-mapping, verzija 2.11.17, koji povezuje verzije pregledača s najvećim skupom Baseline mogućnosti koji podržavaju. To je paket za obrnuto pitanje: ne šta smijemo da koristimo, nego šta nam Safari 17 zapravo daje.

Izvori

Ispravke

  • Updated on August 22, 2026: stylelint-plugin-use-baseline is at 1.4.6; the guide named 1.4.5, which was current when it was written. Every version in the guide is now checked against the npm registry.

  • Osvježeno 22. avgusta 2026: stylelint-plugin-use-baseline je na 1.4.6, a vodič je navodio 1.4.5, koja je bila tekuća kad je pisan. Sve verzije u vodiču sada se provjeravaju u registru npm-a.

Povezano

Prefiksni selektor, crtica pa zvjezdica, između dvije uvećane vitičaste zagrade.
Websrednji signal

Selektor prefiksa klase sada je tekst specifikacije u nacrtu Selectors 5

Nacrt od 18. avgusta dodaje odjeljak 2.1, selektori prefiksa klase, i definiše .foo-* tako da pogađa svaku klasu koja počinje tim prefiksom. Zamjenjuje zaobilaznice s atributskim selektorom koje nosi svaki dizajn sistem. Nijedan pregledač to još ne podržava, a pravilo poklapanja ima ivicu na kojoj će se ljudi saplitati: .foo-* ne pogađa foo--bar.

CSS Working Groupprovjereno

SVGSMILvremenski dijagram prije koda
Webslab signal

Vremenski dijagram kao nacrt za SMIL animacije u SVG-u

Johan Grobler je 20. avgusta na Smashing Magazineu opisao postupak u kojem se složena SMIL animacija prvo nacrta kao vremenski dijagram, pa tek onda piše u oznakama. Svaka traka na dijagramu odgovara jednom elementu animate, a njena dužina i položaj postaju vrijednosti atributa dur i begin. Pošto jedan animate mijenja tačno jedno svojstvo jednog elementa, broj elemenata brzo naraste, pa učitavač od tri tačke koje se smjenjuju traži šest takvih zapisa. Tekst pokazuje i sinhronizaciju preko tuđeg početka i kraja, kroz atribut begin, te način da se poštuje postavka prefers-reduced-motion kroz element picture.

Smashing Magazineprovjereno

FIREFOX154sibling-index() i text-box-trim
Websrednji signal

Firefox 154 donosi sibling-index(), sibling-count() i text-box-trim

Izdanje od 18. avgusta uvodi tri novine u CSS-u koje možeš odmah da koristiš. Funkcije sibling-index() i sibling-count() daju redni broj elementa među susjedima i njihov ukupan broj, i to neposredno u CSS-u, bez ijedne linije JavaScripta, čime prestaje potreba za ručnim upisivanjem promjenljivih poput --i radi stepenastih kašnjenja u animacijama. Uz njih stižu text-box-edge, text-box-trim i skraćeni zapis text-box, kojima se uklanja višak prostora iznad i ispod teksta, pa naslovi konačno sjedaju u mrežu onako kako izgledaju u dizajnu. Na strani JavaScripta dodate su metode includes(), join(), chunks() i windows() na prototipu iteratora.

MDNprovjereno