Skip to content

Remove polyfills natively supported across the browser support matrix - #127

Draft
mattcosta7 with Copilot wants to merge 2 commits into
mainfrom
copilot/remove-unneeded-polyfills
Draft

mattcosta7 with Copilot wants to merge 2 commits into
mainfrom
copilot/remove-unneeded-polyfills

Conversation

Copilot AI commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Every polyfill in this package except requestIdleCallback and the Invoker Commands API is now natively available in all browsers selected by our Browserslist policy (last 10 Chrome/Edge/Firefox versions, last 3 Safari major versions, Firefox ESR). This drops ~9 modules and one dependency from the shipped bundle.

src/index.ts

The registry retains only the two polyfills still doing work — Safari lacks requestIdleCallback, and Firefox ESR / older Safari majors lack command/commandfor:

import * as requestIdleCallback from './requestidlecallback.js'
import * as commandAndCommandFor from 'invokers-polyfill/fn'

export const polyfills = {
  requestIdleCallback,
  commandAndCommandFor,
}

baseSupport is intentionally unchanged: its checks are independent feature detection for the support floor, not mirrors of the polyfill registry.

Deleted sources and tests

clipboarditem, element-checkvisibility, navigator-clipboard, object-groupby, map-groupby, promise-try, promise-withResolvers, iterator-helpers, set-methods — plus their counterparts in test/.

Dependencies

@oddbird/popover-polyfill removed via npm uninstall (package.json + package-lock.json). invokers-polyfill stays.

Support matrix docs

docs/index.html resolves each row's data-polyfill key against the exported registry, so rows for now-absent keys would render as unsupported. Removed the rows for clipboardItem, elementCheckVisibility, navigatorClipboard, and both popover entries.

Note for reviewers

The beforetoggle on Dialog row references data-polyfill="dialogToggleEvents", which was already missing from the registry before this change. Left as-is to keep the diff scoped — worth a follow-up.

Co-authored-by: mattcosta7 <8616962+mattcosta7@users.noreply.github.com>
Copilot AI changed the title [WIP] Remove unnecessary browser polyfills based on Browserslist policy Remove polyfills natively supported across the browser support matrix Sep 14, 2026
Copilot AI requested a review from mattcosta7 September 14, 2026 20:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants