<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf" -->

---
title: How Baseline Can Help You Ship Less JavaScript —...
description: A practical guide to auditing JavaScript dependencies and replacing them with native browser APIs using the Baseline framework. Covers five clusters:...
canonical: https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: How Baseline Can Help You Ship Less JavaScript — Smashing Magazine | daily.dev
og:description: A practical guide to auditing JavaScript dependencies and replacing them with native browser APIs using the Baseline framework. Covers five clusters:...
og:url: https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf
og:image: https://api.daily.dev/og/posts/kXud2fCsf.png
og:image:alt: How Baseline Can Help You Ship Less JavaScript — Smashing Magazine
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# How Baseline Can Help You Ship Less JavaScript — Smashing Magazine

**[Smashing Magazine](https://daily.dev/sources/smashing)** · 19 min read · 5 upvotes · 1 comments

## Summary

A practical guide to auditing JavaScript dependencies and replacing them with native browser APIs using the Baseline framework. Covers five clusters: Internationalization (Intl APIs replacing timeago.js, numeral, pluralize — ~14KB saved), HTTP clients (fetch replacing axios — ~17KB), UI primitives (dialog element and Popover API replacing tippy.js, focus-trap — ~24KB), Lodash utilities (structuredClone, Object.groupBy replacing lodash functions — ~8KB), and a case study on Temporal showing when NOT to drop a library yet (polyfill costs 44KB vs dayjs at 3KB). Includes a repeatable 5-step audit process using npm ls, Bundlephobia, webstatus.dev, and progressive enhancement patterns. Total potential savings: 60–90KB gzipped for a typical mid-sized app.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://smashingmagazine.com/2026/08/how-baseline-can-help-ship-less-javascript>

## Questions this post answers

### Can I replace axios with fetch to reduce my JavaScript bundle size?

Yes for basic GET/POST requests, saving about 17KB gzipped, since fetch plus AbortController covers most needs and both are Baseline Widely available. However fetch does not reject on HTTP error statuses like 404 or 500 (you must check res.ok manually), has no built-in interceptors, no automatic retries, and no first-class upload progress reporting, so apps relying on those axios features need a custom wrapper.

_Developers deciding between fetch and axios can track platform-replacement tradeoffs like these on daily.dev._

### Is JavaScript Temporal ready to replace the Date object and dayjs in production?

Not yet for broad audiences, because Temporal is still Baseline limited availability since Safari has not shipped it in a stable release (only in Safari Technology Preview, with stable support expected later in 2026). It reached TC39 Stage 4 in March 2026 as part of ES2026, and Firefox 139 and Chrome 144 already ship it, but polyfilling it costs 19-44KB gzipped, more than the 3KB dayjs it would replace, so the swap currently increases bundle size.

_Teams tracking when Temporal becomes safe to adopt can follow browser support changes on daily.dev._

### What native browser APIs can replace lodash.groupby and lodash.clonedeep?

Object.groupBy (or Map.groupBy for non-string keys) replaces lodash.groupby, and structuredClone replaces lodash.clonedeep. Object.groupBy and Map.groupBy became Baseline Newly available in March 2024 and are on track for Widely available in late 2026, while structuredClone is already Widely available. structuredClone correctly clones Date, Map, Set, ArrayBuffer, and circular references but cannot clone functions, DOM nodes, or class instance prototypes.

_Developers pruning lodash usage can keep up with which utilities the platform now covers via daily.dev._

## Community discussion

Top comments from developers on daily.dev.

**@rizzdev** · 0 upvotes

> The axios and lodash cuts have been free for years at this point, Temporal still losing to dayjs is just the part that keeps you pricing each swap

## Similar posts on daily.dev

- [Issue \#798: Shipping less JavaScript with Baseline — JavaScript Weekly](https://daily.dev/posts/issue-798-shipping-less-javascript-with-baseline-javascript-weekly-6k6z0uido) · JavaScript Weekly · 9 upvotes · 0 comments
- [November 2025 Baseline monthly digest](https://daily.dev/posts/november-2025-baseline-monthly-digest-cdhoab0cr) · web.dev · 0 upvotes · 0 comments
- [The Three Pillars of JavaScript Bloat](https://daily.dev/posts/the-three-pillars-of-javascript-bloat-bfslariur) · Hacker News · 19 upvotes · 0 comments
- [Browserslist & Baseline – Frontend Masters Blog](https://daily.dev/posts/browserslist-baseline-frontend-masters-blog-ua2hzyoom) · Frontend Masters · 0 upvotes · 0 comments
- [I Reduced Our React Bundle by 70% Without Removing a Single Feature](https://daily.dev/posts/i-reduced-our-react-bundle-by-70-without-removing-a-single-feature-szhhzvcpd) · Medium · 18 upvotes · 3 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#javascript](https://daily.dev/tags/javascript)

[View this post on daily.dev](https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"How Baseline Can Help You Ship Less JavaScript — Smashing Magazine","url":"https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf"},"datePublished":"2026-08-07T14:58:13.081Z","dateModified":"2026-09-14T07:16:28.933Z","description":"A practical guide to auditing JavaScript dependencies and replacing them with native browser APIs using the Baseline framework. Covers five clusters:...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/44a559a981f7b4eb1fd3ee3d9ddfd408?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/44a559a981f7b4eb1fd3ee3d9ddfd408?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Smashing Magazine","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Smashing Magazine","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/smashing","url":"https://daily.dev/sources/smashing"},"commentCount":1,"discussionUrl":"https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":5},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":1}],"keywords":"webdev,javascript","timeRequired":"PT19M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Smashing Magazine","item":"https://daily.dev/sources/smashing"},{"@type":"ListItem","position":3,"name":"How Baseline Can Help You Ship Less JavaScript — Smashing Magazine"}]}
{"@context":"https://schema.org","@type":"WebPage","@id":"https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf","comment":[{"@type":"Comment","text":"The axios and lodash cuts have been free for years at this point, Temporal still losing to dayjs is just the part that keeps you pricing each swap","datePublished":"2026-08-07T20:10:53.022Z","url":"https://daily.dev/posts/kXud2fCsf#c-wdx7QVTyR","author":{"@type":"Person","name":"Andrew","url":"https://daily.dev/rizzdev","image":"https://media.daily.dev/image/upload/s--35vRfXAA--/f_auto/v1785413727/avatars/avatar_fQ7ttCKtPuu6tDvcgQXv5?_a=BAMAMicg0"}}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/how-baseline-can-help-you-ship-less-javascript-smashing-magazine-kxud2fcsf#faq","mainEntity":[{"@type":"Question","name":"Can I replace axios with fetch to reduce my JavaScript bundle size?","acceptedAnswer":{"@type":"Answer","text":"Yes for basic GET/POST requests, saving about 17KB gzipped, since fetch plus AbortController covers most needs and both are Baseline Widely available. However fetch does not reject on HTTP error statuses like 404 or 500 (you must check res.ok manually), has no built-in interceptors, no automatic retries, and no first-class upload progress reporting, so apps relying on those axios features need a custom wrapper. Developers deciding between fetch and axios can track platform-replacement tradeoffs like these on daily.dev."}},{"@type":"Question","name":"Is JavaScript Temporal ready to replace the Date object and dayjs in production?","acceptedAnswer":{"@type":"Answer","text":"Not yet for broad audiences, because Temporal is still Baseline limited availability since Safari has not shipped it in a stable release (only in Safari Technology Preview, with stable support expected later in 2026). It reached TC39 Stage 4 in March 2026 as part of ES2026, and Firefox 139 and Chrome 144 already ship it, but polyfilling it costs 19-44KB gzipped, more than the 3KB dayjs it would replace, so the swap currently increases bundle size. Teams tracking when Temporal becomes safe to adopt can follow browser support changes on daily.dev."}},{"@type":"Question","name":"What native browser APIs can replace lodash.groupby and lodash.clonedeep?","acceptedAnswer":{"@type":"Answer","text":"Object.groupBy (or Map.groupBy for non-string keys) replaces lodash.groupby, and structuredClone replaces lodash.clonedeep. Object.groupBy and Map.groupBy became Baseline Newly available in March 2024 and are on track for Widely available in late 2026, while structuredClone is already Widely available. structuredClone correctly clones Date, Map, Set, ArrayBuffer, and circular references but cannot clone functions, DOM nodes, or class instance prototypes. Developers pruning lodash usage can keep up with which utilities the platform now covers via daily.dev."}}]}
```

