Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove a whole bunch of polyfills #51

Merged
merged 2 commits into from
Jan 29, 2024

Conversation

keithamus
Copy link
Member

@keithamus keithamus commented Jan 29, 2024

BREAKING CHANGE: This removes a lot of polyfills, and pushes our minimum base support up.

It's been around 6 months since we last dropped some polyfills. Most of these have dropped below 0.3% explicitly unsupported with the exception being Array#findLast/Array#findLastIndex which is at 0.443%.

This also adds some more stuff to baseline, and drops a bunch of things that are very well supported in the browsers we see; as they're mostly redundant with the new checks in place. The newest feature in baseline in HTMLDialogElement (0.147% unsupported), replacing our old check for HTMLDetailsElement which is unsupported in 0.016%:

HTMLDialogElement

Browser Supported Since Latest Version % Supported % Unsupported
chrome 37 121 69.574 0.003
edge 79 120 9.811 0.003
firefox 98 122 12.716 0.046
firefox_android 98 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 24 105 1.627 0.000
safari 15.4 17.3 3.966 0.067
safari_ios 15.4 17.3 1.311 0.024
webview_android 37 121 0.004 0.002
Total: 99.343 0.147

abort() static method

Browser Supported Since Latest Version % Supported % Unsupported
chrome 93 121 69.446 0.131
edge 93 120 9.798 0.017
firefox 88 122 12.749 0.013
firefox_android 88 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 79 105 1.626 0.001
safari 15 17.3 3.998 0.034
safari_ios 15 17.3 1.320 0.014
webview_android 93 121 0.004 0.002
Total: 99.275 0.214

Array#findlast

Browser Supported Since Latest Version % Supported % Unsupported
chrome 97 121 69.380 0.197
edge 97 120 9.797 0.018
firefox 104 122 12.642 0.120
firefox_android 104 122 0.333 0.001
ie Not Supported 0.000 0.002
opera 83 105 1.616 0.011
safari 15.4 17.3 3.966 0.067
safari_ios 15.4 17.3 1.311 0.024
webview_android 97 121 0.004 0.002
Total: 99.049 0.442

Array#findLastIndex

Browser Supported Since Latest Version % Supported % Unsupported
chrome 97 121 69.380 0.197
edge 97 120 9.797 0.018
firefox 104 122 12.642 0.120
firefox_android 104 122 0.333 0.001
ie Not Supported 0.000 0.002
opera 83 105 1.616 0.011
safari 15.4 17.3 3.966 0.067
safari_ios 15.4 17.3 1.311 0.024
webview_android 97 121 0.004 0.002
Total: 99.049 0.442

Array#at

Browser Supported Since Latest Version % Supported % Unsupported
chrome 92 121 69.456 0.122
edge 92 120 9.809 0.006
firefox 90 122 12.742 0.020
firefox_android 90 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 78 105 1.626 0.000
safari 15.4 17.3 3.966 0.067
safari_ios 15.4 17.3 1.311 0.024
webview_android 92 121 0.004 0.002
Total: 99.248 0.243

String#at

Browser Supported Since Latest Version % Supported % Unsupported
chrome 92 121 69.456 0.122
edge 92 120 9.809 0.006
firefox 90 122 12.742 0.020
firefox_android 90 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 78 105 1.626 0.000
safari 15.4 17.3 3.966 0.067
safari_ios 15.4 17.3 1.311 0.024
webview_android 92 121 0.004 0.002
Total: 99.248 0.243

randomUUID()

Browser Supported Since Latest Version % Supported % Unsupported
chrome 92 121 69.456 0.122
edge 92 120 9.809 0.006
firefox 95 122 12.722 0.040
firefox_android 95 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 78 105 1.626 0.000
safari 15.4 17.3 3.966 0.067
safari_ios 15.4 17.3 1.311 0.024
webview_android 92 121 0.004 0.002
Total: 99.228 0.263

options.signal parameter

Browser Supported Since Latest Version % Supported % Unsupported
chrome 90 121 69.482 0.096
edge 90 120 9.810 0.005
firefox 86 122 12.750 0.012
firefox_android 86 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 76 105 1.626 0.000
safari 15 17.3 3.998 0.034
safari_ios 15 17.3 1.320 0.014
webview_android 90 121 0.004 0.002
Total: 99.324 0.165

requestSubmit()

Browser Supported Since Latest Version % Supported % Unsupported
chrome 76 121 69.561 0.017
edge 79 120 9.811 0.003
firefox 75 122 12.759 0.003
firefox_android 79 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 63 105 1.627 0.000
safari 16 17.3 3.843 0.190
safari_ios 16 17.3 1.255 0.080
webview_android 76 121 0.004 0.002
Total: 99.194 0.297

Object.hasOwn

Browser Supported Since Latest Version % Supported % Unsupported
chrome 93 121 69.446 0.131
edge 93 120 9.798 0.017
firefox 92 122 12.728 0.035
firefox_android 92 122 0.334 0.000
ie Not Supported 0.000 0.002
opera 79 105 1.626 0.001
safari 15.4 17.3 3.966 0.067
safari_ios 15.4 17.3 1.311 0.024
webview_android 93 121 0.004 0.002
Total: 99.213 0.279

@keithamus keithamus requested a review from a team as a code owner January 29, 2024 18:10
BREAKING CHANGE: This removes a lot of polyfills, and pushes our minimum base support up
@keithamus keithamus force-pushed the remove-a-whole-bunch-of-polyfills branch from acd3ed8 to ee56483 Compare January 29, 2024 18:21
Copy link
Member

@mattcosta7 mattcosta7 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

seems reasonable to drop these to me

@keithamus keithamus merged commit 78aeb4e into github:main Jan 29, 2024
1 check passed
@keithamus keithamus deleted the remove-a-whole-bunch-of-polyfills branch January 29, 2024 21:27
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