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

Kako Baseline pomaže da isporučiš manje JavaScripta

Jad Joubran daje praktičan postupak za provjeru datoteke package.json: koje se biblioteke danas mogu izbaciti zato što pregledač isti posao obavlja izvorno. Tekst objašnjava tri stanja Baselinea, limited availability, newly available i widely available, i pokazuje kako se ona koriste kao mjerilo umjesto osjećaja. Razmak između tvrdnje da je za nešto potrebna biblioteka i činjenice da pregledač to već umije zatvara se brže nego što ga većina projekata prati.

Potpisuje Redakcija WebAiRadarObjavljeno 2 min čitanjanapisao model

Izvor

How Baseline Can Help You Ship Less JavaScript

Smashing Magazine · Original objavljen 7. avgust 2026

Jad Joubran je uzeo tipičnu datoteku package.json i prošao kroz nju s Baselineom u ruci. Ishod je između 60 i 90 kilobajta nakon sažimanja, koliko iz prosječne aplikacije srednje veličine može izaći bez gubitka funkcionalnosti. Tekst nije spisak želja, nego provjera s brojkama.

Višejezičnost, najlakših četrnaest kilobajta

Ovdje je dobitak najveći, a rizik najmanji, jer je gotovo sve u ovoj skupini već široko dostupno.

  • timeago.js, jedan kilobajt, zamjenjuje Intl.RelativeTimeFormat
  • pluralize, 2,3 kilobajta, zamjenjuje Intl.PluralRules
  • numeral, 3,9 kilobajta, zamjenjuje Intl.NumberFormat
  • humanize-duration, 6,6 kilobajta, zamjenjuje Intl.DurationFormat, koji je tek novo dostupan, a ne i široko
  • pomoćne funkcije za nabrajanje zamjenjuje Intl.ListFormat

Klijenti za HTTP, sedamnaest kilobajta

Biblioteka axios izlazi, a ulaze ugrađeni fetch i AbortController, oba široko dostupna.

Računaj ipak na razlike: fetch sam po sebi ne odbacuje HTTP greške, nema presretače, ponovne pokušaje ni prikaz napretka pri otpremanju. Ako ti bilo šta od toga treba, ostaje da napišeš tanak omotač, što je i dalje mnogo lakše od cijele biblioteke.

Elementi interfejsa, dvadeset četiri kilobajta

Ova skupina je najzahvalnija, jer element dialog i Popover API zajedno brišu tri do četiri paketa odjednom.

  • Biblioteke za modalne prozore zamjenjuje element dialog
  • tippy.js, četrnaest kilobajta, zamjenjuje Popover API uz CSS sidrenje
  • focus-trap, 6,6 kilobajta, nije potreban jer je zadržavanje fokusa ugrađeno u dialog
  • body-scroll-lock, 1,3 kilobajta, zamjenjuje jedno CSS pravilo koje sakriva prekoračenje dok je modal otvoren

Lodash, osam kilobajta i više

  • lodash.clonedeep zamjenjuje structuredClone
  • lodash.groupby zamjenjuje Object.groupBy
  • operacije nad skupovima zamjenjuju ugrađene metode poput union i intersection

Kad ne treba izbaciti: slučaj Temporal

Temporal je dostigao završni stepen i dio je standarda ES2026, pa je iskušenje da se odmah pređe. Ipak, njegova dopunska implementacija teži 44 kilobajta nakon sažimanja, dakle više od biblioteka koje bi zamijenila. Sačekaj stabilnu podršku u Safariju i ulazak u Baseline. Ovo je koristan podsjetnik na to da standardizovano i spremno za produkciju nisu isto.

Tri pitanja prije brisanja

  • Da li je zamjena bezbjedna po Baselineu za tvoju publiku, ne uopšteno, nego za stvarne posjetioce iz analitike?
  • Šta zamjena stvarno košta, računajući dopunske implementacije, provjere podrške i vrijeme za testiranje?
  • Da li ugrađena mogućnost pokriva tvoj stvarni slučaj upotrebe ili samo onaj iz primjera u dokumentaciji?

Alati za provjeru

  • npm ls --omit=dev --depth=0 daje spisak produkcijskih zavisnosti
  • Bundlephobia pokazuje veličinu pojedinačnog paketa
  • source-map-explorer ili vite-bundle-visualizer pokazuju stvarni udio u isporučenom paketu
  • webstatus.dev i MDN služe za provjeru stanja po Baselineu
  • paket web-features omogućava programsku provjeru, korisnu u neprekidnoj integraciji

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

Natpis Baseline uz znak s dvije kvačice, na blijedozelenoj podlozi.
Websrednji signal

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.

web.dev, npmprovjereno

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