Package category
Polyfills and shims
Backfill missing language and platform features.
622 packages2 comparisons
Packages compared
622 packages
| Package | Weekly downloads | 12-month change | 52 weeks | Gzip | Last release | Module | Types | Categories |
|---|---|---|---|---|---|---|---|---|
| debug-log Node.js 0.12 util.debuglog() ponyfill | 246.6k | -32% | - | - 2.0.0 | - | None | Logging, Polyfills and shims | |
| @webcomponents/shadycss Polyfill for Scoped CSS | 243.5k | - | - | - | 3 years ago 1.11.2 | ESM + CommonJS | Bundled | Polyfills and shims |
| @webcomponents/webcomponentsjs Web Components Polyfills | 240.6k | - | - | - | 3 years ago 2.8.0 | CommonJS | Bundled | Polyfills and shims |
| fetch-ponyfill A ponyfill (doesn't overwrite the native fetch) for the Fetch specification https://fetch.spec.whatwg.org. | 236.3k | -0% | - | 5 years ago 7.1.0 | CommonJS | Bundled | Polyfills and shims, HTTP clients | |
| unicode-segmenter A lightweight implementation of the Unicode Text Segmentation (UAX #29) | 230.3k | +3468% | - | 1 month ago 0.17.3 | ESM + CommonJS | Bundled | Polyfills and shims | |
| resize-observer An implementation and polyfill of the Resize Observer draft. | 220.2k | +49% | - | 4 years ago 1.0.4 | CommonJS | Bundled | Polyfills and shims | |
| buffer-equals Node.js 0.12 buffer.equals() ponyfill | 208.7k | +28% | - | - 2.0.0 | - | None | Polyfills and shims | |
| react-native-fetch-api A fetch API polyfill for React Native with text streaming support. | 208.2k | +129% | - | 5 years ago 3.0.0 | CommonJS | None | HTTP clients, React | |
| @stdlib/math-base-special-trunc Round a double-precision floating-point number toward zero. | 205.9k | - | - | - | 7 months ago 0.2.3 | CommonJS | Bundled | Numbers and maths, Polyfills and shims |
| eventsource-polyfill A browser polyfill for W3C EventSource (http://www.w3.org/TR/eventsource/) | 201.2k | -26% | - | 11 years ago 0.9.6 | CommonJS | None | Polyfills and shims, WebSockets and realtime | |
| @thednp/dommatrix TypeScript shim for DOMMatrix | 182k | - | - | - | 23 days ago 3.1.2 | ESM + CommonJS | Bundled | Polyfills and shims, TypeScript tooling |
| css-vars-ponyfill Client-side support for CSS custom properties (aka "CSS variables") in legacy and modern browsers | 175.6k | +63% | - | 2 years ago 2.4.9 | ESM + CommonJS | Bundled | Polyfills and shims, CSS-in-JS and styling | |
| dialog-polyfill Polyfill for the dialog element | 173.7k | +1% | - | - 0.5.6 | ESM + CommonJS | None | Polyfills and shims, Accessibility | |
| es-map An ES-spec-compliant Map shim/polyfill/replacement that works as far down as ES3 | 154.9k | +743% | - | 1 year ago 2.0.1 | CommonJS | None | Polyfills and shims | |
| @oddbird/popover-polyfill Popover Attribute Polyfill | 154.7k | - | - | - | 1 month ago 0.7.2 | ESM + CommonJS | Bundled | Polyfills and shims, CSS-in-JS and styling |
| @endo/immutable-arraybuffer Immutable ArrayBuffer (the shim!) | 152.6k | - | - | - | 1 month ago 2.0.0 | ESM only | Bundled | Polyfills and shims, Security |
| element-closest Return the closest element matching a selector up the DOM tree | 152.4k | -15% | - | 6 years ago 3.0.2 | ESM + CommonJS | None | DOM and browser utilities, Polyfills and shims | |
| dialog-closedby-polyfill Polyfill for the HTMLDialogElement closedBy attribute | 151k | +17587% | - | 7 months ago 1.3.0 | ESM + CommonJS | Bundled | Polyfills and shims | |
| @toruslabs/broadcast-channel A BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers | 148.2k | - | - | - | 6 months ago 13.3.0 | ESM + CommonJS | Bundled | Polyfills and shims |
| interestfor A polyfill for the `interestfor` API | 147.4k | +146900% | - | 6 months ago 1.0.8 | CommonJS | None | Polyfills and shims | |
| smooth-scroll-into-view-if-needed Ponyfill for smooth scrolling elements into view (if needed!) | 145.4k | +72% | - | 3 years ago 2.0.2 | ESM + CommonJS | Bundled | Polyfills and shims | |
| set.prototype.difference An ESnext spec-compliant `Set.prototype.difference` shim/polyfill/replacement that works as far down as ES3 | 144.8k | +893% | - | 1 year ago 1.1.7 | CommonJS | None | Polyfills and shims | |
| set.prototype.intersection An ESnext spec-compliant `Set.prototype.intersection` shim/polyfill/replacement that works as far down as ES3 | 126k | +1747% | - | 8 months ago 1.1.8 | CommonJS | None | Polyfills and shims | |
| clipboard-polyfill A polyfill for the asynchronous clipboard API | 120.9k | -1% | - | 1 year ago 4.1.1 | ESM only | Bundled | Polyfills and shims, DOM and browser utilities | |
| animation-frame-polyfill Polyfill requestAnimationFrame and cancelAnimationFrame | 106k | +45% | - | 6 months ago 1.1.0 | ESM + CommonJS | None | Polyfills and shims, Animation | |
| corejs-upgrade-webpack-plugin a webpack plugin that transforms core-js v2 paths to core-js v3 paths | 105.9k | -25% | - | 6 years ago 4.0.1 | CommonJS | None | Polyfills and shims, Bundler plugins and loaders | |
| set.prototype.issubsetof An ESnext spec-compliant `Set.prototype.isSubsetOf` shim/polyfill/replacement that works as far down as ES3 | 103.4k | +16876% | - | 2 years ago 1.1.4 | CommonJS | None | Polyfills and shims | |
| set.prototype.isdisjointfrom An ESnext spec-compliant `Set.prototype.isDisjointFrom` shim/polyfill/replacement that works as far down as ES3 | 103.4k | +20317% | - | 2 years ago 1.1.5 | CommonJS | None | Polyfills and shims | |
| set.prototype.issupersetof An ESnext spec-compliant `Set.prototype.isSupersetOf` shim/polyfill/replacement that works as far down as ES3 | 103.2k | +14266% | - | 2 years ago 1.1.3 | CommonJS | None | Polyfills and shims | |
| @luma.gl/gltools WebGL2 API Polyfills for WebGL1 WebGLRenderingContext | 102.8k | - | - | - | 3 years ago 8.5.21 | ESM + CommonJS | Bundled | 3D, WebGL and game engines, Polyfills and shims |
| object-fit-images Polyfill object-fit and object-position on images on IE9, IE10, IE11, Edge, Safari, ... | 102k | -29% | - | 8 years ago 3.2.4 | CommonJS | None | Polyfills and shims, CSS-in-JS and styling | |
| construct-style-sheets-polyfill Constructible style sheets/adopted style sheets polyfill | 100.8k | +4% | - | 4 years ago 3.1.0 | ESM + CommonJS | Bundled | CSS-in-JS and styling, Polyfills and shims | |
| audio-recorder-polyfill MediaRecorder polyfill to record audio in Edge and Safari | 98k | +162% | - | 5 years ago 0.4.1 | ESM + CommonJS | None | Polyfills and shims, Video and audio | |
| object.getprototypeof An ES5 mostly-spec-compliant `Object.getPrototypeOf` sham/polyfill/replacement that works in as many engines as possible | 96.9k | +1% | - | 1 year ago 1.0.7 | CommonJS | None | Polyfills and shims | |
| ember-cli-typescript-blueprint-polyfill A polyfill for Ember CLI's TypeScript blueprint capabilities. | 96.3k | +49% | - | 4 years ago 0.1.0 | CommonJS | None | Polyfills and shims, TypeScript tooling | |
| promise.any ES 2021 spec-compliant shim for Promise.any | 91k | -11% | - | 3 years ago 2.0.6 | CommonJS | None | Polyfills and shims | |
| @mcp-b/webmcp-polyfill Strict WebMCP core runtime polyfill for document.modelContext (with deprecated navigator.modelContext alias) | 88.8k | - | - | - | 25 days ago 5.1.0 | ESM only | Bundled | Polyfills and shims |
| ts-replace-all This package includes the [core-js](https://github.com/zloirock/core-js) polyfill for `String#replaceAll`, along with TypeScript typings. | 88.2k | +42% | - | 6 years ago 1.0.0 | - | None | Polyfills and shims | |
| wicg-inert A polyfill for the proposed inert API | 87.6k | -13% | - | 2 years ago 3.1.3 | ESM + CommonJS | None | Polyfills and shims | |
| html-element A simple HTMLElement shim on the server. | 87k | +180% | - | 6 years ago 2.3.1 | CommonJS | None | Polyfills and shims | |
| node-inspect-extracted Node's util.inspect, extracted for use on the Web | 81.1k | +79% | - | 2 months ago 3.3.3 | ESM + CommonJS | Bundled | Polyfills and shims | |
| eme-encryption-scheme-polyfill A polyfill for the encryptionScheme field in EME | 78.9k | -23% | - | - 2.2.4 | CommonJS | None | Polyfills and shims | |
| @bloomberg/record-tuple-polyfill A polyfill for the Record and Tuple Stage 2 ECMAScript proposal. | 76.8k | - | - | - | 4 years ago 0.0.4 | ESM + CommonJS | None | Polyfills and shims |
| element-internals-polyfill A polyfill for the element internals specification | 76.3k | +31% | - | 1 year ago 3.0.2 | ESM only | Bundled | Polyfills and shims | |
| @lwc/aria-reflection ARIA element reflection polyfill for strings | 74.6k | - | - | - | 23 days ago 9.4.3 | ESM only | Bundled | Polyfills and shims |
| @ungap/with-resolvers Promise.witResolvers() polyfill | 72k | - | - | - | 3 years ago 0.1.0 | CommonJS | None | Polyfills and shims |
| es7-shim ECMAScript 7 compatibility shims for legacy JavaScript engines | 70.9k | +172% | - | 10 years ago 6.0.0 | CommonJS | None | Polyfills and shims | |
| seamless-scroll-polyfill Smooth Scroll behavior polyfill | 70.1k | +29% | - | 3 years ago 2.3.4 | ESM + CommonJS | Bundled | DOM and browser utilities, Polyfills and shims | |
| @ungap/url-search-params The URLSearchParams polyfill. | 67.5k | - | - | - | 6 years ago 0.2.2 | ESM only | None | Polyfills and shims |
| @stdlib/math-base-special-asin Compute the arcsine of a double-precision floating-point number. | 65.6k | - | - | - | 7 months ago 0.2.4 | CommonJS | Bundled | Numbers and maths, Polyfills and shims |
12-month change compares the average of the last 4 weeks of downloads with the first 4 weeks of the 52-week series. Gzip size is for the whole package, as measured by Bundlephobia. "-" means the value has not been fetched.
- debug-logNode.js 0.12 util.debuglog() ponyfill
- @webcomponents/shadycssPolyfill for Scoped CSS
- @webcomponents/webcomponentsjsWeb Components Polyfills
- fetch-ponyfillA ponyfill (doesn't overwrite the native fetch) for the Fetch specification https://fetch.spec.whatwg.org.
- unicode-segmenterA lightweight implementation of the Unicode Text Segmentation (UAX #29)
- resize-observerAn implementation and polyfill of the Resize Observer draft.
- buffer-equalsNode.js 0.12 buffer.equals() ponyfill
- react-native-fetch-apiA fetch API polyfill for React Native with text streaming support.
- @stdlib/math-base-special-truncRound a double-precision floating-point number toward zero.
- eventsource-polyfillA browser polyfill for W3C EventSource (http://www.w3.org/TR/eventsource/)
- @thednp/dommatrixTypeScript shim for DOMMatrix
- css-vars-ponyfillClient-side support for CSS custom properties (aka "CSS variables") in legacy and modern browsers
- dialog-polyfillPolyfill for the dialog element
- es-mapAn ES-spec-compliant Map shim/polyfill/replacement that works as far down as ES3
- @oddbird/popover-polyfillPopover Attribute Polyfill
- @endo/immutable-arraybufferImmutable ArrayBuffer (the shim!)
- element-closestReturn the closest element matching a selector up the DOM tree
- dialog-closedby-polyfillPolyfill for the HTMLDialogElement closedBy attribute
- @toruslabs/broadcast-channelA BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers
- interestforA polyfill for the `interestfor` API
- smooth-scroll-into-view-if-neededPonyfill for smooth scrolling elements into view (if needed!)
- set.prototype.differenceAn ESnext spec-compliant `Set.prototype.difference` shim/polyfill/replacement that works as far down as ES3
- set.prototype.intersectionAn ESnext spec-compliant `Set.prototype.intersection` shim/polyfill/replacement that works as far down as ES3
- clipboard-polyfillA polyfill for the asynchronous clipboard API
- animation-frame-polyfillPolyfill requestAnimationFrame and cancelAnimationFrame
- corejs-upgrade-webpack-plugina webpack plugin that transforms core-js v2 paths to core-js v3 paths
- set.prototype.issubsetofAn ESnext spec-compliant `Set.prototype.isSubsetOf` shim/polyfill/replacement that works as far down as ES3
- set.prototype.isdisjointfromAn ESnext spec-compliant `Set.prototype.isDisjointFrom` shim/polyfill/replacement that works as far down as ES3
- set.prototype.issupersetofAn ESnext spec-compliant `Set.prototype.isSupersetOf` shim/polyfill/replacement that works as far down as ES3
- @luma.gl/gltoolsWebGL2 API Polyfills for WebGL1 WebGLRenderingContext
- object-fit-imagesPolyfill object-fit and object-position on images on IE9, IE10, IE11, Edge, Safari, ...
- construct-style-sheets-polyfillConstructible style sheets/adopted style sheets polyfill
- audio-recorder-polyfillMediaRecorder polyfill to record audio in Edge and Safari
- object.getprototypeofAn ES5 mostly-spec-compliant `Object.getPrototypeOf` sham/polyfill/replacement that works in as many engines as possible
- ember-cli-typescript-blueprint-polyfillA polyfill for Ember CLI's TypeScript blueprint capabilities.
- promise.anyES 2021 spec-compliant shim for Promise.any
- @mcp-b/webmcp-polyfillStrict WebMCP core runtime polyfill for document.modelContext (with deprecated navigator.modelContext alias)
- ts-replace-allThis package includes the [core-js](https://github.com/zloirock/core-js) polyfill for `String#replaceAll`, along with TypeScript typings.
- wicg-inertA polyfill for the proposed inert API
- html-elementA simple HTMLElement shim on the server.
- node-inspect-extractedNode's util.inspect, extracted for use on the Web
- eme-encryption-scheme-polyfillA polyfill for the encryptionScheme field in EME
- @bloomberg/record-tuple-polyfillA polyfill for the Record and Tuple Stage 2 ECMAScript proposal.
- element-internals-polyfillA polyfill for the element internals specification
- @lwc/aria-reflectionARIA element reflection polyfill for strings
- @ungap/with-resolversPromise.witResolvers() polyfill
- es7-shimECMAScript 7 compatibility shims for legacy JavaScript engines
- seamless-scroll-polyfillSmooth Scroll behavior polyfill
- @ungap/url-search-paramsThe URLSearchParams polyfill.
- @stdlib/math-base-special-asinCompute the arcsine of a double-precision floating-point number.