# Polyfills और Core-js — बेबल और SWC

Source: https://www.geekswithgeeks.com/hi/babel-swc/bs-polyfills

> समझें कि कैसे polyfills उन gaps को भरते हैं जो transpilation cover नहीं कर सकता।

## Polyfill बनाम transpile distinction

Transpilation syntax को convert करता है। Polyfills लापता functions को जोड़ते हैं: `Promise`, `Array.prototype.includes()`, `Object.assign()`, आदि। Legacy browser support के लिए दोनों की जरूरत है।

## Core-js: मानक polyfill library

`core-js` सबसे complete polyfill library है। Babel केवल उन polyfills को inject कर सकता है जो आपके कोड को actually चाहिए `useBuiltIns` के साथ `@babel/preset-env` के through।

## Polyfill injection को कॉन्फ़िगर करना

स्वचालित रूप से केवल आवश्यक polyfills को inject करने के लिए `useBuiltIns: 'usage'` का उपयोग करें। Core-js को पूरी तरह शामिल करने की तुलना में bundle size को कम करता है।

```json
{
  "presets": [
    [
      "@babel/preset-env",
      {
        "useBuiltIns": "usage",
        "corejs": "3.32"
      }
    ]
  ]
}
```
