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.

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