Replies: 9 comments 4 replies
-
Looks like the page indeed needs updating! Thanks for pointing that out. The current maintainers are still in the habit of transpiling their projects and the browser support page was created on user request, so this wasn‘t (isn‘t) very high on our list of priorities. I can imagine it‘s also not easy to figure out reliably in the first place. Would you care to submit a PR to the docs repo with what you found about Safari support? |
Beta Was this translation helpful? Give feedback.
-
Thanks. I wasn't sure if it was my error. I only discovered the issue whilst testing on an old MacBook with Safari 12.1.2 Happy to help if I can, however I've never submitted a PR before. I'll first need to read the GitHub docs for PR's. |
Beta Was this translation helpful? Give feedback.
-
This is interesting. Looks like I'm halfway down the rabbit hole 🤠 There seem to be two very useful eslint plugins for measuring browser compatibility as well as syntax compatibility. Regarding browser APIs, the updated list seems to be:
Syntax compatibility is a bit harder to measure, currently working on a way of linting the dist folder... |
Beta Was this translation helpful? Give feedback.
-
Turns out this can be automated! I've created a separate ESLint config that scans the
|
Beta Was this translation helpful? Give feedback.
-
That's very impressive! I would never have been able to do anything even close to this. The Browser support page already advises that polyfills can be used to improve support, so the only thing I would add is to mention that bundling swup with tools like Parcel can also improve support for earlier browsers. I will read up on how PR's work, but I think you've already done the hard work on this one. Many thanks. |
Beta Was this translation helpful? Give feedback.
-
@Joolyan We've updated the Browser Support page of the docs, if you're curious :) Thanks for suggesting the overdue update! |
Beta Was this translation helpful? Give feedback.
-
Wow! That's what I call great support. Thanks. The advice "plugins may differ in the list of supported browsers" could be a little concerning for some users. Moving forward it would be great if all core plugins (excluding third-party plugins) offered the same browser support as swup itself, unless advised otherwise. My own site uses the body-class-plugin, debug-plugin, preload-plugin and the scroll-plugin, so testing each plugin may add unnecessary concerns for some users. I haven't found any issues myself and was hoping these core plugins provided the same browser support as swup itself. My own user experience of swup has been great. The only other issue relates to the slide-theme and deprecated dependencies #34. |
Beta Was this translation helpful? Give feedback.
-
Reading the issue 'Create ESLint config for checking browser compatibility #872' you created, provides a good starting point. I may not know what I'm talking about, but the process could be simplified as you already have a "compatibility table" for swup itself. If the plugin passes, it's labelled as a "core plugin" so you can state that swup and all core plugins have the same browser compatibility. It would overcomplicate the issue to provide difference compatibility tables for each plugin. Just a thought? |
Beta Was this translation helpful? Give feedback.
-
"tweak the list of browsers until everything passes" - wouldn't this reduce swup's browser support to the requirements of the worst supported plugin, even if the plugin has relatively few users? As you said, most should have the same browser support in terms of syntax as the core. Only the plugins that fail the I agree this is not a priority. You have already significantly improved the swup documentation. Thanks again. |
Beta Was this translation helpful? Give feedback.
-
Does the browser support page require updating for swup 4?
The current page advises of "full support" for Safari 9+, however Safari 12.1 doesn't support JavaScript operators 'Optional chaining' (?.) or 'Nullish coalescing' (??) which I believe is used by the latest version of swup.
Issue #822 was fixed is swup 4.4.3 to provide support for Safari <= 13.1. May be this works when swup is installed via npm and the JavaScript is transpiled to provide support for Safari 12.1 and not installed via https://unpkg.com/swup@4
Beta Was this translation helpful? Give feedback.
All reactions