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 |
|---|---|---|---|---|---|---|---|---|
| promise.prototype.finally ES Proposal spec-compliant shim for Promise.prototype.finally | 745.7k | -39% | - | 2 years ago 3.1.8 | CommonJS | None | Polyfills and shims | |
| smoothscroll-polyfill Smooth Scroll behavior polyfill | 732.4k | +43% | - | 7 years ago 0.4.4 | CommonJS | None | Polyfills and shims | |
| @hypnosphi/create-react-context Polyfill for the proposed React context API | 717.8k | - | - | - | 5 years ago 0.3.1 | CommonJS | Bundled | Polyfills and shims, React |
| well-known-symbols An ESnext spec-compliant shim/polyfill/replacement for all Well-Known Symbols that works in any environment with Symbols. | 716.7k | +1% | - | 1 year ago 4.1.0 | CommonJS | None | Polyfills and shims | |
| imsc Renders IMSC documents to HTML5 fragments | 700.3k | +243% | - | 2 years ago 1.1.5 | CommonJS | None | Polyfills and shims | |
| @deno/shim-deno Deno namespace shim for Node.js | 659.7k | - | - | - | 2 years ago 0.19.2 | ESM + CommonJS | Bundled | Polyfills and shims |
| @deno/shim-deno-test Deno.test only shim. | 651.8k | - | - | - | 2 years ago 0.5.0 | CommonJS | Bundled | Polyfills and shims |
| minimal-polyfills An ultra light-weight, nonexhaustive, polyfills library | 642.4k | +609% | - | 3 years ago 2.2.3 | CommonJS | Bundled | Polyfills and shims | |
| is-integer ES2015 (ES6) Number.isInteger polyfill | 641.7k | +16% | - | 9 years ago 1.0.7 | CommonJS | None | Polyfills and shims | |
| fs-access Node.js 0.12 fs.access() & fs.accessSync() ponyfill | 641.6k | +1% | - | 7 years ago 2.0.0 | - | None | Polyfills and shims | |
| url-search-params-polyfill a simple polyfill for javascript URLSearchParams | 641.4k | +41% | - | 3 years ago 8.2.5 | CommonJS | None | Polyfills and shims | |
| null-check Ensure a path doesn't contain null bytes | 640.2k | -1% | - | 5 years ago 3.0.0 | ESM only | None | Polyfills and shims | |
| @formatjs/intl-pluralrules Polyfill for Intl.PluralRules | 638.1k | - | - | - | 13 days ago 6.3.15 | ESM only | Bundled | Internationalisation, Polyfills and shims |
| symbol.prototype.description Spec-compliant shim for Symbol.prototype.description proposal. | 599.4k | -43% | - | 9 months ago 2.0.0 | CommonJS | Bundled | Polyfills and shims | |
| airbnb-js-shims JS language shims used by Airbnb. | 598.6k | -39% | - | 6 years ago 2.2.1 | CommonJS | None | Polyfills and shims | |
| reflect.ownkeys ES2015 spec-compliant shim for Reflect.ownKeys | 596.1k | -35% | - | 8 months ago 1.1.6 | CommonJS | None | Polyfills and shims | |
| headers-utils A Headers class polyfill and transformation library. | 595.7k | +33% | - | 5 years ago 3.0.2 | CommonJS | Bundled | Polyfills and shims, HTTP clients | |
| url-polyfill Polyfill URL and URLSearchParams | 571.9k | +36% | - | 1 year ago 1.1.14 | CommonJS | None | Polyfills and shims, URLs and query strings | |
| dc-browser Browser polyfill for Node.js diagnostics_channel | 557.8k | - | - | 5 months ago 1.0.4 | ESM + CommonJS | Bundled | Polyfills and shims | |
| @stdlib/fs-exists Test whether a path exists on the filesystem. | 542k | - | - | - | 7 months ago 0.2.3 | CommonJS | Bundled | Files and file systems, Polyfills and shims |
| array-find ES6 Array.find ponyfill. Return the first array element which satisfies a testing function. | 538k | -37% | - | 11 years ago 1.0.0 | CommonJS | None | Polyfills and shims | |
| intl Polyfill the ECMA-402 Intl API (except collation) | 523.9k | -10% | - | 10 years ago 1.2.5 | CommonJS | None | Internationalisation, Polyfills and shims | |
| math-log2 ES2015 Math.log2() ponyfill | 517.7k | +77% | - | 5 years ago 2.0.0 | - | None | Polyfills and shims | |
| standardized-audio-context A cross-browser wrapper for the Web Audio API which aims to closely follow the standard. | 505.4k | +166% | - | 2 years ago 25.3.77 | ESM + CommonJS | Bundled | Video and audio, Polyfills and shims | |
| regexp.escape A robust ES3-compatible polyfill for the `RegExp.escape` proposal - see https://github.com/tc39/proposal-regex-escaping | 504k | +189% | - | 2 years ago 2.0.1 | CommonJS | None | Polyfills and shims | |
| number-is-integer ES2015 Number.isInteger() ponyfill | 494.9k | +78% | - | 5 years ago 2.0.0 | - | None | Polyfills and shims | |
| core-assert Node.js `assert` as a standalone module | 467.1k | +58% | - | 7 years ago 1.0.0 | - | None | Testing, Polyfills and shims | |
| buf-compare Node.js `Buffer.compare()` ponyfill | 464.1k | +67% | - | 8 years ago 2.0.0 | - | None | Polyfills and shims | |
| deep-strict-equal Test for deep equality - Node.js `assert.deepStrictEqual()` algorithm as a standalone module | 434.5k | +71% | - | 5 years ago 0.3.0 | - | None | Polyfills and shims | |
| custom-event-polyfill A polyfill for creating CustomEvents on IE9+ if the native implementation is missing. | 431.8k | +34% | - | 7 years ago 1.0.7 | CommonJS | None | Polyfills and shims | |
| dommatrix ES6+ shim for DOMMatrix | 424.1k | +3% | - | 4 years ago 1.0.3 | ESM + CommonJS | Bundled | Polyfills and shims | |
| url-extras Browser-compatible implementations of some of Node.js' URL utilities | 418.6k | - | - | 10 months ago 0.1.0 | ESM only | Bundled | URLs and query strings, Polyfills and shims | |
| @webcomponents/custom-elements HTML Custom Elements Polyfill | 411.4k | - | - | - | 3 years ago 1.6.0 | CommonJS | None | Polyfills and shims |
| canvas-roundrect-polyfill CanvasRenderingContext2D.roundRect() and Path2D.roundRect() polyfill | 408.7k | +1092% | - | 4 years ago 0.0.1 | CommonJS | None | Polyfills and shims | |
| @formatjs/intl-numberformat Ponyfill for ES2020 Intl.NumberFormat | 404.6k | - | - | - | 10 days ago 9.4.3 | ESM only | Bundled | Internationalisation, Polyfills and shims |
| fetch-jsonp Fetch JSONP like a boss using Fetch API | 404.1k | +464% | - | 6 months ago 1.4.0 | CommonJS | Bundled | HTTP clients, Polyfills and shims | |
| document.contains Polyfill/shim for `document.contains` | 403.4k | +16% | - | 6 years ago 1.0.2 | CommonJS | None | Polyfills and shims | |
| array.prototype.at An ES-spec-compliant (proposed) Array.prototype.at shim/polyfill/replacement that works as far down as ES3 | 382.7k | +577% | - | 16 days ago 1.2.0 | CommonJS | Bundled | Polyfills and shims | |
| esbuild-plugins-node-modules-polyfill Polyfills nodejs builtin modules and globals for the browser. | 372.7k | +51% | - | 1 month ago 1.8.3 | CommonJS | Bundled | Polyfills and shims, Bundler plugins and loaders | |
| array.prototype.every An ES5 spec-compliant `Array.prototype.every` shim/polyfill/replacement that works as far down as ES3. | 359.5k | +75% | - | 1 year ago 1.1.7 | CommonJS | None | Polyfills and shims | |
| node-status-codes Node.js `http.STATUS_CODES` ponyfill | 316.8k | +11% | - | 7 years ago 3.0.0 | - | None | Polyfills and shims | |
| mouse-event Cross browser mouse event property access | 313.8k | +25% | - | 11 years ago 1.0.5 | CommonJS | None | Polyfills and shims | |
| mouse-change Mouse state change listener | 313.8k | +19% | - | 9 years ago 1.4.0 | CommonJS | None | Polyfills and shims | |
| messageformat Intl.MessageFormat / Unicode MessageFormat 2 parser, runtime and polyfill | 309.9k | -6% | - | 9 months ago 4.0.0 | ESM only | Bundled | Internationalisation, Polyfills and shims | |
| monitor-event-loop-delay Polyfill for perf_hooks.monitorEventLoopDelay(...) | 305.4k | +10% | - | 7 years ago 1.0.0 | CommonJS | None | Polyfills and shims | |
| shallow-clone-shim Shallow clones an object while respecting the original property descriptors | 303.5k | -3% | - | 6 years ago 2.0.0 | CommonJS | None | Polyfills and shims | |
| classlist-polyfill Cross-browser JavaScript shim that fully implements element.classList (referenced on MDN) | 273k | -1% | - | 9 years ago 1.2.0 | CommonJS | None | Polyfills and shims | |
| blob-polyfill Blob.js implements the W3C Blob interface in browsers that do not natively support it. | 271.4k | +18% | - | 2 years ago 9.0.20240710 | CommonJS | None | Polyfills and shims | |
| es-set An ES-spec-compliant Set shim/polyfill/replacement that works as far down as ES3 | 264.6k | +1291% | - | 1 year ago 2.0.1 | CommonJS | None | Polyfills and shims | |
| @formatjs/intl-datetimeformat Intl.DateTimeFormat polyfill | 260.5k | - | - | - | 7 days ago 7.8.0 | ESM only | Bundled | Internationalisation, 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.
- promise.prototype.finallyES Proposal spec-compliant shim for Promise.prototype.finally
- smoothscroll-polyfillSmooth Scroll behavior polyfill
- @hypnosphi/create-react-contextPolyfill for the proposed React context API
- well-known-symbolsAn ESnext spec-compliant shim/polyfill/replacement for all Well-Known Symbols that works in any environment with Symbols.
- imscRenders IMSC documents to HTML5 fragments
- @deno/shim-denoDeno namespace shim for Node.js
- @deno/shim-deno-testDeno.test only shim.
- minimal-polyfillsAn ultra light-weight, nonexhaustive, polyfills library
- is-integerES2015 (ES6) Number.isInteger polyfill
- fs-accessNode.js 0.12 fs.access() & fs.accessSync() ponyfill
- url-search-params-polyfilla simple polyfill for javascript URLSearchParams
- null-checkEnsure a path doesn't contain null bytes
- @formatjs/intl-pluralrulesPolyfill for Intl.PluralRules
- symbol.prototype.descriptionSpec-compliant shim for Symbol.prototype.description proposal.
- airbnb-js-shimsJS language shims used by Airbnb.
- reflect.ownkeysES2015 spec-compliant shim for Reflect.ownKeys
- headers-utilsA Headers class polyfill and transformation library.
- url-polyfillPolyfill URL and URLSearchParams
- dc-browserBrowser polyfill for Node.js diagnostics_channel
- @stdlib/fs-existsTest whether a path exists on the filesystem.
- array-findES6 Array.find ponyfill. Return the first array element which satisfies a testing function.
- intlPolyfill the ECMA-402 Intl API (except collation)
- math-log2ES2015 Math.log2() ponyfill
- standardized-audio-contextA cross-browser wrapper for the Web Audio API which aims to closely follow the standard.
- regexp.escapeA robust ES3-compatible polyfill for the `RegExp.escape` proposal - see https://github.com/tc39/proposal-regex-escaping
- number-is-integerES2015 Number.isInteger() ponyfill
- core-assertNode.js `assert` as a standalone module
- buf-compareNode.js `Buffer.compare()` ponyfill
- deep-strict-equalTest for deep equality - Node.js `assert.deepStrictEqual()` algorithm as a standalone module
- custom-event-polyfillA polyfill for creating CustomEvents on IE9+ if the native implementation is missing.
- dommatrixES6+ shim for DOMMatrix
- url-extrasBrowser-compatible implementations of some of Node.js' URL utilities
- @webcomponents/custom-elementsHTML Custom Elements Polyfill
- canvas-roundrect-polyfillCanvasRenderingContext2D.roundRect() and Path2D.roundRect() polyfill
- @formatjs/intl-numberformatPonyfill for ES2020 Intl.NumberFormat
- fetch-jsonpFetch JSONP like a boss using Fetch API
- document.containsPolyfill/shim for `document.contains`
- array.prototype.atAn ES-spec-compliant (proposed) Array.prototype.at shim/polyfill/replacement that works as far down as ES3
- esbuild-plugins-node-modules-polyfillPolyfills nodejs builtin modules and globals for the browser.
- array.prototype.everyAn ES5 spec-compliant `Array.prototype.every` shim/polyfill/replacement that works as far down as ES3.
- node-status-codesNode.js `http.STATUS_CODES` ponyfill
- mouse-eventCross browser mouse event property access
- mouse-changeMouse state change listener
- messageformatIntl.MessageFormat / Unicode MessageFormat 2 parser, runtime and polyfill
- monitor-event-loop-delayPolyfill for perf_hooks.monitorEventLoopDelay(...)
- shallow-clone-shimShallow clones an object while respecting the original property descriptors
- classlist-polyfillCross-browser JavaScript shim that fully implements element.classList (referenced on MDN)
- blob-polyfillBlob.js implements the W3C Blob interface in browsers that do not natively support it.
- es-setAn ES-spec-compliant Set shim/polyfill/replacement that works as far down as ES3
- @formatjs/intl-datetimeformatIntl.DateTimeFormat polyfill