Skip to content
JS
Package category

Polyfills and shims

Backfill missing language and platform features.

622 packages2 comparisons

Packages compared

622 packages
PackageWeekly downloads12-month change52 weeksGzipLast releaseModuleTypesCategories
debug-log
Node.js 0.12 util.debuglog() ponyfill
246.6k-32%--
2.0.0
-NoneLogging, Polyfills and shims
@webcomponents/shadycss
Polyfill for Scoped CSS
243.5k---3 years ago
1.11.2
ESM + CommonJSBundledPolyfills and shims
@webcomponents/webcomponentsjs
Web Components Polyfills
240.6k---3 years ago
2.8.0
CommonJSBundledPolyfills 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
CommonJSBundledPolyfills 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 + CommonJSBundledPolyfills and shims
resize-observer
An implementation and polyfill of the Resize Observer draft.
220.2k+49%-4 years ago
1.0.4
CommonJSBundledPolyfills and shims
buffer-equals
Node.js 0.12 buffer.equals() ponyfill
208.7k+28%--
2.0.0
-NonePolyfills 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
CommonJSNoneHTTP clients, React
@stdlib/math-base-special-trunc
Round a double-precision floating-point number toward zero.
205.9k---7 months ago
0.2.3
CommonJSBundledNumbers 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
CommonJSNonePolyfills and shims, WebSockets and realtime
@thednp/dommatrix
TypeScript shim for DOMMatrix
182k---23 days ago
3.1.2
ESM + CommonJSBundledPolyfills 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 + CommonJSBundledPolyfills and shims, CSS-in-JS and styling
dialog-polyfill
Polyfill for the dialog element
173.7k+1%--
0.5.6
ESM + CommonJSNonePolyfills 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
CommonJSNonePolyfills and shims
@oddbird/popover-polyfill
Popover Attribute Polyfill
154.7k---1 month ago
0.7.2
ESM + CommonJSBundledPolyfills and shims, CSS-in-JS and styling
@endo/immutable-arraybuffer
Immutable ArrayBuffer (the shim!)
152.6k---1 month ago
2.0.0
ESM onlyBundledPolyfills 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 + CommonJSNoneDOM and browser utilities, Polyfills and shims
dialog-closedby-polyfill
Polyfill for the HTMLDialogElement closedBy attribute
151k+17587%-7 months ago
1.3.0
ESM + CommonJSBundledPolyfills and shims
@toruslabs/broadcast-channel
A BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers
148.2k---6 months ago
13.3.0
ESM + CommonJSBundledPolyfills and shims
interestfor
A polyfill for the `interestfor` API
147.4k+146900%-6 months ago
1.0.8
CommonJSNonePolyfills 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 + CommonJSBundledPolyfills 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
CommonJSNonePolyfills 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
CommonJSNonePolyfills and shims
clipboard-polyfill
A polyfill for the asynchronous clipboard API
120.9k-1%-1 year ago
4.1.1
ESM onlyBundledPolyfills and shims, DOM and browser utilities
animation-frame-polyfill
Polyfill requestAnimationFrame and cancelAnimationFrame
106k+45%-6 months ago
1.1.0
ESM + CommonJSNonePolyfills 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
CommonJSNonePolyfills 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
CommonJSNonePolyfills 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
CommonJSNonePolyfills 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
CommonJSNonePolyfills and shims
@luma.gl/gltools
WebGL2 API Polyfills for WebGL1 WebGLRenderingContext
102.8k---3 years ago
8.5.21
ESM + CommonJSBundled3D, 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
CommonJSNonePolyfills 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 + CommonJSBundledCSS-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 + CommonJSNonePolyfills 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
CommonJSNonePolyfills 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
CommonJSNonePolyfills and shims, TypeScript tooling
promise.any
ES 2021 spec-compliant shim for Promise.any
91k-11%-3 years ago
2.0.6
CommonJSNonePolyfills 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 onlyBundledPolyfills 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
-NonePolyfills and shims
wicg-inert
A polyfill for the proposed inert API
87.6k-13%-2 years ago
3.1.3
ESM + CommonJSNonePolyfills and shims
html-element
A simple HTMLElement shim on the server.
87k+180%-6 years ago
2.3.1
CommonJSNonePolyfills 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 + CommonJSBundledPolyfills and shims
eme-encryption-scheme-polyfill
A polyfill for the encryptionScheme field in EME
78.9k-23%--
2.2.4
CommonJSNonePolyfills 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 + CommonJSNonePolyfills and shims
element-internals-polyfill
A polyfill for the element internals specification
76.3k+31%-1 year ago
3.0.2
ESM onlyBundledPolyfills and shims
@lwc/aria-reflection
ARIA element reflection polyfill for strings
74.6k---23 days ago
9.4.3
ESM onlyBundledPolyfills and shims
@ungap/with-resolvers
Promise.witResolvers() polyfill
72k---3 years ago
0.1.0
CommonJSNonePolyfills and shims
es7-shim
ECMAScript 7 compatibility shims for legacy JavaScript engines
70.9k+172%-10 years ago
6.0.0
CommonJSNonePolyfills and shims
seamless-scroll-polyfill
Smooth Scroll behavior polyfill
70.1k+29%-3 years ago
2.3.4
ESM + CommonJSBundledDOM and browser utilities, Polyfills and shims
@ungap/url-search-params
The URLSearchParams polyfill.
67.5k---6 years ago
0.2.2
ESM onlyNonePolyfills 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
CommonJSBundledNumbers 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.