{
  "id": 3801292,
  "title": "Stop Installing Libraries: 13 Native APIs That Went Baseline in 2026",
  "url": "https://urgent.news/2026/08/27/stop-installing-libraries-13-native-apis-that-went-baseline-in-2026",
  "topic": "tech",
  "section": "Tech",
  "published": "2026-08-27T19:04:08.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/gos/stop-installing-libraries-13-native-apis-that-went-baseline-in-2026-1286"
  },
  "original_language": "en",
  "account": "The browser now supports 13 native APIs that previously required installing libraries like lodash, uuid, moment, and numeral. This update, which became baseline in 2026, means you can now delete these libraries and use the platform's built-in functions instead.\n\n1. structuredClone() replaced lodash.clonedeep (−5 KB) - The native structuredClone() function handles cloning of complex objects, preserving Dates, Maps, Sets, typed arrays, and circular references without the need for lodash.\n2. crypto.randomUUID() replaced uuid (−1 KB) - This provides a spec-compliant v4 UUID in a secure context, eliminating the need for the uuid library.\n3. Intl.RelativeTimeFormat + a 6-line helper replaced moment (−72 KB) - The native Intl.RelativeTimeFormat, combined with a small utility function, can format time differences just like moment, but without the large library dependency.\n4. Intl.NumberFormat replaced numeral.js (−3.6 KB) - The native Intl.NumberFormat can handle currency, units, and compact notation, preserving localization without the need for numeral.js.\n5. URLSearchParams replaced query-string (−4 KB) - The native URLSearchParams API allows you to work with URL query parameters directly, removing the need for a query-string library.",
  "summary": "TL;DR: The browser caught up while you weren't looking. As of 2026, all 13 of these APIs are Baseline — supported across every major browser — so you can finally delete moment , lodash , axios , uuid , numeral , clipboard.js and more. Running tally at the bottom: ~115 KB gzipped, gone. Copy-paste code for each. You keep reaching for a package out of muscle memory. But \"Baseline\" now means these…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}