{"id":67,"url":"https://github.com/Richienb/awesome-ponyfills","last_synced_at":"2025-07-31T12:33:05.329Z","repository":{"id":66025099,"uuid":"230831665","full_name":"Richienb/awesome-ponyfills","owner":"Richienb","description":"A curated list of awesome ponyfills for writing cross-platform and cross-browser code.","archived":false,"fork":false,"pushed_at":"2020-10-21T19:20:01.000Z","size":122,"stargazers_count":53,"open_issues_count":0,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-05-19T18:58:28.576Z","etag":null,"topics":["awesome","awesome-list","ecmascript","javascript","node","nodejs","ponyfill","ponyfills"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Richienb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null},"funding":{"liberapay":"richienb"}},"created_at":"2019-12-30T02:16:23.000Z","updated_at":"2024-02-07T09:41:51.000Z","dependencies_parsed_at":"2023-02-20T20:30:15.399Z","dependency_job_id":null,"html_url":"https://github.com/Richienb/awesome-ponyfills","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richienb%2Fawesome-ponyfills","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richienb%2Fawesome-ponyfills/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richienb%2Fawesome-ponyfills/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Richienb%2Fawesome-ponyfills/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Richienb","download_url":"https://codeload.github.com/Richienb/awesome-ponyfills/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228248328,"owners_count":17891447,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["awesome","awesome-list","ecmascript","javascript","node","nodejs","ponyfill","ponyfills"],"created_at":"2024-01-05T20:12:45.403Z","updated_at":"2024-12-05T06:31:07.536Z","avatar_url":"https://github.com/Richienb.png","language":null,"funding_links":["https://liberapay.com/richienb"],"categories":["Programming Languages","Uncategorized","Others","Live Site:   [searchAwesome](https://search-awesome.vercel.app/)","Programming Language Lists","Themed Directories"],"sub_categories":["Uncategorized","JavaScript Lists","Updated more than a year ago"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"media/Title.svg\"/\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://awesome.re\"\u003e\n\t  \u003cimg src=\"https://awesome.re/badge-flat.svg\" alt=\"Awesome\"\u003e\n  \u003c/a\u003e\n    \u003cp\u003e\u003ca href=\"https://ponyfill.com\"\u003ePonyfills\u003c/a\u003e are like polyfills but without overriding native APIs. Polyfills patch a piece of functionality so that older environments can support newer features whilst Ponyfills, on the other hand, provide functionality as standalone modules.\u003c/p\u003e\n\u003c/div\u003e\n\n## Contents\n\n- [Articles](#articles)\n- [Main](#main)\n- [Uncategorised](#uncategorised)\n- [Numbers](#numbers)\n- [Strings](#strings)\n- [Objects](#objects)\n- [Arrays](#arrays)\n- [Browser Features](#browser-features)\n- [Node.js Features](#nodejs-features)\n\n## Articles\n\n- [Polyfills or Ponyfills?](https://ponyfoo.com/articles/polyfills-or-ponyfills)\n\n## Main\n\n- ⭐️ [core-js-pure](https://github.com/zloirock/core-js) - The entire standard library.\n\n## Uncategorised\n\n- [es6-promise](https://github.com/stefanpenner/es6-promise) - [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise)\n- [es6-map](https://github.com/medikoo/es6-map) - [`Map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map)\n- [es6-weak-map](https://github.com/medikoo/es6-weak-map) - [`WeakMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WeakMap)\n- [es6-set](https://github.com/medikoo/es6-set) - [`Set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set)\n- [es6-symbol](https://github.com/medikoo/es6-symbol) - [`Symbol`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol)\n- [named-regexp-groups](https://github.com/commenthol/named-regexp-groups) - [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp)\n- [globalthis](https://github.com/ljharb/System.global) - [`globalThis`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis)\n\n## Numbers\n\n- [bignumber.js](https://github.com/MikeMcl/bignumber.js) - [`BigInt`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt)\n- [number-is-nan](https://github.com/sindresorhus/number-is-nan) - [`Number.isNaN`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isNaN)\n- [is-finite](https://github.com/sindresorhus/is-finite) - [`Number.isFinite`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isFinite)\n- [is-integer](https://github.com/parshap/js-is-integer) - [`Number.isInteger`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/isInteger)\n\n## Strings\n\n- [indexof](https://github.com/component/indexof) - [`String.prototype.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf)\n- [string.prototype.trim](https://github.com/es-shims/String.prototype.trim) - [`String.prototype.trim`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/Trim)\n- [string.prototype.trimleft](https://github.com/es-shims/String.prototype.trimleft) - [`String.prototype.trimStart`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimStart)\n- [string.prototype.trimright](https://github.com/es-shims/String.prototype.trimright) - [`String.prototype.trimEnd`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/TrimEnd)\n- [string.prototype.replaceall](https://github.com/es-shims/String.prototype.replaceAll) - [`String.prototype.replaceAll`](https://github.com/tc39/proposal-string-replaceall)\n\n## Objects\n\n- [object.fromentries](https://github.com/es-shims/Object.fromEntries) - [`Object.fromEntries`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/fromEntries)\n- [object.entries](https://github.com/es-shims/Object.entries) - [`Object.entries`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/entries)\n- [object-keys](https://github.com/ljharb/object-keys) - [`Object.keys`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys)\n- [object.values](https://github.com/es-shims/Object.values) - [`Object.values`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values)\n- [object-assign](https://github.com/sindresorhus/object-assign) - [`Object.assign`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\n- [object-is](https://github.com/es-shims/object-is) - [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)\n- [json3](https://github.com/bestiejs/json3) - [`JSON`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON)\n\n## Arrays\n\n- [array-from](https://github.com/studio-b12/array-from) - [`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from)\n- [array.prototype.every](https://github.com/es-shims/Array.prototype.every) - [`Array.prototype.every`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/every)\n- [array.prototype.find](https://github.com/paulmillr/Array.prototype.find) - [`Array.prototype.find`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/find)\n- [array.prototype.some](https://github.com/es-shims/Array.prototype.some) - [`Array.prototype.some`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some)\n- [array.prototype.flatmap](https://github.com/es-shims/Array.prototype.flatMap) - [`Array.prototype.flatMap`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap)\n- [array-map](https://github.com/substack/array-map) - [`Array.prototype.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)\n- [array-foreach](https://github.com/twada/array-foreach) - [`Array.prototype.forEach`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach)\n- [array-includes](https://github.com/es-shims/array-includes) - [`Array.prototype.includes`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/includes)\n- [indexof](https://github.com/component/indexof) - [`Array.prototype.indexOf`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf).\n- [isarray](https://github.com/juliangruber/isarray) - [`Array.isArray`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray)\n\n## Browser Features\n\n- [cross-fetch](https://github.com/lquixada/cross-fetch) - [`fetch`](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API)\n- [cross-blob](https://github.com/Richienb/cross-blob) - [`Blob`](https://developer.mozilla.org/en-US/docs/Web/API/Blob)\n- [cross-formdata](https://github.com/Richienb/cross-formdata) - [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData)\n- [abortcontroller-polyfill](https://github.com/mo/abortcontroller-polyfill) - [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController)\n- [@fastly/performance-observer-polyfill](https://github.com/fastly/performance-observer-polyfill) - [`PerformanceObserver`](https://developer.mozilla.org/en-US/docs/Web/API/PerformanceObserver)\n- [performance-now](https://github.com/braveg1rl/performance-now) - [`performance.now`](https://developer.mozilla.org/en-US/docs/Web/API/Performance/now)\n- [console.table](https://github.com/bahmutov/console.table) - [`console.table`](https://developer.mozilla.org/en-US/docs/Web/API/Console/table)\n- [webbluetooth](https://github.com/thegecko/webbluetooth) - [`Bluetooth`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Bluetooth_API)\n- [resize-observer-polyfill](https://github.com/que-etc/resize-observer-polyfill) - [`ResizeObserver`](https://developer.mozilla.org/en-US/docs/Web/API/ResizeObserver)\n- [webcrypto-shim](https://github.com/vibornoff/webcrypto-shim) - [`crypto`](https://developer.mozilla.org/en-US/docs/Web/API/Web_Crypto_API)\n- [css-vars-ponyfill](https://github.com/jhildenbiddle/css-vars-ponyfill/) - [CSS variables/custom properties](https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties)\n- [raf](https://github.com/chrisdickinson/raf) - [`requestAnimationFrame`](https://developer.mozilla.org/en-US/docs/Web/API/window/requestAnimationFrame)\n- [xhr2](https://github.com/pwnall/node-xhr2) - [`XMLHttpRequest`](https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest)\n\n## Node.js Features\n\n- [events](https://github.com/Gozala/events) - [`EventEmitter`](https://nodejs.org/api/events.html#events_class_eventemitter)\n- [tickedoff](https://github.com/jamiebuilds/tickedoff) - [`setImmediate`](https://nodejs.org/api/timers.html#timers_setimmediate_callback_args)\n- [buffer-from](https://github.com/LinusU/buffer-from) - [`Buffer.from`](https://nodejs.org/api/buffer.html#buffer_class_method_buffer_from_array)\n- [cross-exit](https://github.com/Richienb/cross-exit) - [`process.exit`](https://nodejs.org/api/process.html#process_process_exit_code)\n- [next-tick](https://github.com/medikoo/next-tick) - [`process.nextTick`](https://nodejs.org/api/process.html#process_process_nexttick_callback_args)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRichienb%2Fawesome-ponyfills","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FRichienb%2Fawesome-ponyfills","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FRichienb%2Fawesome-ponyfills/lists"}