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 |
|---|---|---|---|---|---|---|---|---|
| es-aggregate-error ES Proposal spec-compliant shim for AggregateError | 2.8m | +45% | - | 1 year ago 1.0.14 | CommonJS | None | Polyfills and shims | |
| @zxing/text-encoding Polyfill for the Encoding Living Standard's API. | 2.7m | +43% | - | 6 years ago 0.9.0 | CommonJS | None | Polyfills and shims | |
| launchdarkly-eventsource Fork of eventsource package - W3C compliant EventSource client for Node.js and browser (polyfill) | 2.4m | +64% | - | 1 year ago 2.2.0 | CommonJS | None | Polyfills and shims | |
| node-polyfill-webpack-plugin Polyfill Node.js core modules in Webpack. | 2.3m | +38% | - | 1 year ago 4.1.0 | CommonJS | Bundled | Bundler plugins and loaders, Polyfills and shims | |
| native-promise-only Native Promise Only: A polyfill for native ES6 Promises **only**, nothing else. | 2.3m | +31% | - | 11 years ago 0.8.1 | CommonJS | None | Polyfills and shims | |
| abortcontroller-polyfill Polyfill/ponyfill for the AbortController DOM API + optional patching of fetch (stub that calls catch, doesn't actually abort request). | 2.3m | +66% | - | 1 year ago 1.7.8 | CommonJS | None | Polyfills and shims | |
| broadcast-channel A BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers, NodeJs, Deno and iframes | 2.2m | +12% | - | 1 month ago 7.4.0 | ESM + CommonJS | Bundled | Polyfills and shims | |
| capture-stack-trace Error.captureStackTrace ponyfill | 2.2m | -5% | - | 3 years ago 2.1.0 | ESM only | Bundled | Polyfills and shims | |
| isomorphic-unfetch Switches between unfetch & node-fetch for client & server. | 2.1m | +11% | - | 3 years ago 4.0.2 | ESM + CommonJS | Bundled | Polyfills and shims | |
| es6-set ECMAScript6 Set polyfill | 2.1m | -22% | - | 4 years ago 0.1.6 | - | None | Polyfills and shims | |
| path2d Path2D API for node. Can be used for server-side rendering with canvas | 2m | +61% | - | 1 month ago 0.3.4 | ESM + CommonJS | None | Polyfills and shims, Static site generators and meta-frameworks | |
| set-immediate-shim Simple setImmediate shim | 2m | -8% | - | 1 year ago 4.0.0 | ESM only | Bundled | Polyfills and shims | |
| text-encoding Polyfill for the Encoding Living Standard's API. | 1.9m | +115% | - | 7 years ago 0.7.0 | CommonJS | None | Polyfills and shims | |
| @petamoriken/float16 IEEE 754 half-precision floating-point for JavaScript | 1.9m | +137% | - | 11 months ago 3.9.3 | ESM + CommonJS | Bundled | Polyfills and shims | |
| react-native-get-random-values A small implementation of `crypto.getRandomValues` for React Native. This is useful to polyfill for libraries like [uuid](https://www.npmjs.com/package/uuid) that depend on it. | 1.9m | +65% | - | 11 months ago 2.0.0 | - | None | Cryptography and hashing, React | |
| any-observable Support any Observable library and polyfill | 1.9m | +15% | - | 7 months ago 0.6.0 | ESM only | None | Promises and async control flow, Polyfills and shims | |
| typedarray.prototype.slice ES spec-compliant shim for TypedArray.prototype.slice | 1.8m | +3% | - | 1 year ago 1.0.5 | CommonJS | None | Polyfills and shims | |
| array.prototype.map An ES5 spec-compliant `Array.prototype.map` shim/polyfill/replacement that works as far down as ES3. | 1.8m | +3% | - | 1 year ago 1.0.8 | CommonJS | None | Polyfills and shims | |
| fastestsmallesttextencoderdecoder The fastest smallest Javascript polyfill for the encode of TextEncoder and decode of TextDecoder for UTF-8 only. Made by AnonyCo with ❤️ from 🐕s. | 1.7m | +192% | - | 6 years ago 1.0.22 | ESM + CommonJS | None | Polyfills and shims | |
| promise.allsettled ES Proposal spec-compliant shim for Promise.allSettled | 1.7m | +6% | - | 3 years ago 1.0.7 | - | - | Polyfills and shims | |
| es6-object-assign ECMAScript 2015 (ES6) Object.assign polyfill and ponyfill | 1.7m | +0% | - | 9 years ago 1.1.0 | - | - | Polyfills and shims | |
| event-source-polyfill A polyfill for http://www.w3.org/TR/eventsource/ | 1.6m | +100% | - | 4 years ago 1.0.31 | - | - | Polyfills and shims, WebSockets and realtime | |
| es6-map ECMAScript6 Map polyfill | 1.4m | -22% | - | 9 years ago 0.1.5 | - | - | Polyfills and shims | |
| barcode-detector A Barcode Detection API polyfill that uses ZXing webassembly under the hood | 1.4m | +1180% | - | 1 month ago 3.2.2 | - | - | Polyfills and shims | |
| os-shim Native OS module API shim for older node.js versions | 1.4m | +34% | - | 11 years ago 0.1.3 | - | - | Polyfills and shims | |
| @formatjs/intl-displaynames Polyfill for: https://tc39.es/proposal-intl-displaynames | 1.4m | - | - | - | 13 days ago 7.3.15 | - | - | Internationalisation, Polyfills and shims |
| async-listener Polyfill exporting trevnorris's 0.11+ asyncListener API. | 1.3m | -18% | - | 7 years ago 0.6.10 | - | - | Polyfills and shims | |
| string.prototype.trimleft ES2019 spec-compliant String.prototype.trimLeft shim. | 1.2m | -21% | - | 5 years ago 2.1.3 | - | - | Polyfills and shims | |
| string.prototype.trimright ES2019 spec-compliant String.prototype.trimLeft shim. | 1.2m | -21% | - | 5 years ago 2.1.3 | - | - | Polyfills and shims | |
| array.prototype.find Array.prototype.find ES6 polyfill. | 1.2m | -18% | - | 2 years ago 2.2.3 | CommonJS | None | Polyfills and shims | |
| crypto-randomuuid Polyfill crypto.randomUUID | 1.1m | -58% | - | 5 years ago 1.0.0 | CommonJS | None | Cryptography and hashing, Polyfills and shims | |
| uglify-es JavaScript parser, mangler/compressor and beautifier toolkit for ES6+ | 1.1m | -2% | - | 8 years ago 3.3.9 | CommonJS | None | Compression and archives, Polyfills and shims | |
| @ungap/promise-all-settled A cross platform Promise.allSettled polyfill | 1.1m | - | - | - | 6 years ago 1.1.2 | ESM only | None | Polyfills and shims |
| array-from A ponyfill for the ES 2015 (ES6) `Array.from()`. | 1.1m | -15% | - | 10 years ago 2.1.1 | - | None | Polyfills and shims | |
| es6-shim ECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines | 1.1m | -26% | - | 3 years ago 0.35.8 | CommonJS | None | Polyfills and shims | |
| string.fromcodepoint A robust & optimized `String.fromCodePoint` polyfill, based on the ECMAScript 6 specification. | 1.1m | -2% | - | 2 years ago 1.0.3 | CommonJS | None | Polyfills and shims | |
| @sanity/eventsource EventSource polyfill for browser and node.js | 1.1m | - | - | - | 2 months ago 5.0.4 | ESM + CommonJS | Bundled | Polyfills and shims |
| vite-plugin-node-polyfills A Vite plugin to polyfill Node's Core Modules for browser environments. | 1.1m | +59% | - | 4 months ago 0.28.0 | ESM + CommonJS | Bundled | Bundler plugins and loaders, Polyfills and shims | |
| @nevware21/ts-utils Comprehensive TypeScript/JavaScript utility library with cross-environment support (Node.js, browser, web worker) providing helper functions, polyfills (ES5-ES2023), type checking utilities, and optimized implementations for better minification and code r | 1m | - | - | - | 2 months ago 0.16.0 | ESM + CommonJS | Bundled | Polyfills and shims, Utility libraries |
| es5-shim ECMAScript 5 compatibility shims for legacy JavaScript engines | 1m | -14% | - | 4 years ago 4.6.7 | CommonJS | None | Polyfills and shims | |
| composed-offset-position This provides a set of ponyfills to achieve the same behavior of `offsetParent`, `offsetLeft` and `offsetTop` before the `offsetParent` spec was changed. | 1m | +312% | - | 2 years ago 0.0.6 | ESM only | Bundled | Polyfills and shims | |
| weak-map A WeakMap shim for Node.js and browsers | 1m | +31% | - | 4 years ago 1.0.8 | CommonJS | None | Polyfills and shims | |
| weakmap-polyfill ECMAScript6 WeakMap polyfill | 1m | +93% | - | 5 years ago 2.0.4 | CommonJS | None | Polyfills and shims | |
| create-react-context Polyfill for the proposed React context API | 975.1k | -19% | - | 7 years ago 0.3.0 | CommonJS | Bundled | Polyfills and shims, React | |
| path2d-polyfill Polyfills Path2D api for canvas rendering | 949k | +37% | - | 1 month ago 3.2.3 | ESM only | None | Polyfills and shims | |
| array.prototype.filter An ES5 spec-compliant `Array.prototype.filter` shim/polyfill/replacement that works as far down as ES3. | 895.5k | -37% | - | 2 years ago 1.0.4 | CommonJS | None | Polyfills and shims | |
| find-index finds an item in an array matching a predicate function, and returns its index | 867.5k | -2% | - | 7 years ago 1.1.1 | CommonJS | None | Polyfills and shims | |
| audio-buffer AudioBuffer ponyfill with operations toolkit | 830k | +563% | - | 2 months ago 7.3.2 | ESM only | None | Video and audio, Polyfills and shims | |
| string.prototype.padstart ES2017 spec-compliant String.prototype.padStart shim. | 803.5k | -37% | - | 1 year ago 3.1.7 | CommonJS | None | Polyfills and shims | |
| array.prototype.toreversed An ESnext spec-compliant `Array.prototype.toReversed` shim/polyfill/replacement that works as far down as ES3. | 792k | -45% | - | 3 years ago 1.1.2 | CommonJS | None | 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.
- es-aggregate-errorES Proposal spec-compliant shim for AggregateError
- @zxing/text-encodingPolyfill for the Encoding Living Standard's API.
- launchdarkly-eventsourceFork of eventsource package - W3C compliant EventSource client for Node.js and browser (polyfill)
- node-polyfill-webpack-pluginPolyfill Node.js core modules in Webpack.
- native-promise-onlyNative Promise Only: A polyfill for native ES6 Promises **only**, nothing else.
- abortcontroller-polyfillPolyfill/ponyfill for the AbortController DOM API + optional patching of fetch (stub that calls catch, doesn't actually abort request).
- broadcast-channelA BroadcastChannel that works in New Browsers, Old Browsers, WebWorkers, NodeJs, Deno and iframes
- capture-stack-traceError.captureStackTrace ponyfill
- isomorphic-unfetchSwitches between unfetch & node-fetch for client & server.
- es6-setECMAScript6 Set polyfill
- path2dPath2D API for node. Can be used for server-side rendering with canvas
- set-immediate-shimSimple setImmediate shim
- text-encodingPolyfill for the Encoding Living Standard's API.
- @petamoriken/float16IEEE 754 half-precision floating-point for JavaScript
- react-native-get-random-valuesA small implementation of `crypto.getRandomValues` for React Native. This is useful to polyfill for libraries like [uuid](https://www.npmjs.com/package/uuid) that depend on it.
- any-observableSupport any Observable library and polyfill
- typedarray.prototype.sliceES spec-compliant shim for TypedArray.prototype.slice
- array.prototype.mapAn ES5 spec-compliant `Array.prototype.map` shim/polyfill/replacement that works as far down as ES3.
- fastestsmallesttextencoderdecoderThe fastest smallest Javascript polyfill for the encode of TextEncoder and decode of TextDecoder for UTF-8 only. Made by AnonyCo with ❤️ from 🐕s.
- promise.allsettledES Proposal spec-compliant shim for Promise.allSettled
- es6-object-assignECMAScript 2015 (ES6) Object.assign polyfill and ponyfill
- event-source-polyfillA polyfill for http://www.w3.org/TR/eventsource/
- es6-mapECMAScript6 Map polyfill
- barcode-detectorA Barcode Detection API polyfill that uses ZXing webassembly under the hood
- os-shimNative OS module API shim for older node.js versions
- @formatjs/intl-displaynamesPolyfill for: https://tc39.es/proposal-intl-displaynames
- async-listenerPolyfill exporting trevnorris's 0.11+ asyncListener API.
- string.prototype.trimleftES2019 spec-compliant String.prototype.trimLeft shim.
- string.prototype.trimrightES2019 spec-compliant String.prototype.trimLeft shim.
- array.prototype.findArray.prototype.find ES6 polyfill.
- crypto-randomuuidPolyfill crypto.randomUUID
- uglify-esJavaScript parser, mangler/compressor and beautifier toolkit for ES6+
- @ungap/promise-all-settledA cross platform Promise.allSettled polyfill
- array-fromA ponyfill for the ES 2015 (ES6) `Array.from()`.
- es6-shimECMAScript 6 (Harmony) compatibility shims for legacy JavaScript engines
- string.fromcodepointA robust & optimized `String.fromCodePoint` polyfill, based on the ECMAScript 6 specification.
- @sanity/eventsourceEventSource polyfill for browser and node.js
- vite-plugin-node-polyfillsA Vite plugin to polyfill Node's Core Modules for browser environments.
- @nevware21/ts-utilsComprehensive TypeScript/JavaScript utility library with cross-environment support (Node.js, browser, web worker) providing helper functions, polyfills (ES5-ES2023), type checking utilities, and optimized implementations for better minification and code r
- es5-shimECMAScript 5 compatibility shims for legacy JavaScript engines
- composed-offset-positionThis provides a set of ponyfills to achieve the same behavior of `offsetParent`, `offsetLeft` and `offsetTop` before the `offsetParent` spec was changed.
- weak-mapA WeakMap shim for Node.js and browsers
- weakmap-polyfillECMAScript6 WeakMap polyfill
- create-react-contextPolyfill for the proposed React context API
- path2d-polyfillPolyfills Path2D api for canvas rendering
- array.prototype.filterAn ES5 spec-compliant `Array.prototype.filter` shim/polyfill/replacement that works as far down as ES3.
- find-indexfinds an item in an array matching a predicate function, and returns its index
- audio-bufferAudioBuffer ponyfill with operations toolkit
- string.prototype.padstartES2017 spec-compliant String.prototype.padStart shim.
- array.prototype.toreversedAn ESnext spec-compliant `Array.prototype.toReversed` shim/polyfill/replacement that works as far down as ES3.