Skip to content
This repository was archived by the owner on Jun 21, 2022. It is now read-only.

Display of partial implementations in compat data can be misleading #1384

Closed
gilmoreorless opened this issue May 30, 2020 · 0 comments
Closed
Labels

Comments

@gilmoreorless
Copy link

This has come from a conversation at mdn/browser-compat-data#6202 (comment), which in turn references a long discussion at mdn/browser-compat-data#5068

Some context on the problem

The Intl.* APIs in Node.js have a complicated situation. The APIs themselves have been supported for a long time (most since version 0.12). But until recently (version 13), Node.js only shipped the locale data for en-US by default. This meant that the APIs were technically fully implemented, but their results could be misleading.

How to represent this scenario in the compat data has been discussed in the issues linked above. Currently there are 2 versions listed for each API this applies to:

  1. The version that first added the API (e.g. 0.12), with a partial_implementation: true flag and a note describing the locale data issue.
  2. Version 13.0.0 with full support.

How this renders

Because the compat tables on MDN only display the first fully-compliant version, they can show a somewhat misleading picture. For example, on the page for Date (non-relevant rows removed for clarity):

image

The 13.0.0 sticks out there, because the locales option was fully supported in version 0.12 (like the timeZone option). It's just that you had to explicitly run Node.js with the extended ICU data set to make it work properly. It looks especially strange when Chrome lists its support as version 24 for all the options, and Node.js runs the same V8 engine.

I realise this is a tricky problem, but it's not unique to Intl in Node.js. As another example, the CSS.supports() API has been able to be used since Chrome 28 and Firefox 22. But because one specific bit of syntax wasn't available, the table lists Chrome 61 and Firefox 55. It's definitely not wrong, just a bit misleading:

image

I'm aware that the different versions and details can be seen after expanding the sub-section, but it's a bit of a pain to have to do that for each browser. Compare that to the caniuse display of the same feature:

image

Here I can see a glance that the feature has been supported in some form since Chrome 28 and Firefox 22.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

3 participants