[Hint] Deprecated, removed and/or old versions of APIs #10
Comments
@digitarald think we should start with the CSS data. From what you say it should be fairly updated and we go from there. IMO it's better than having nothing and we can always flag it as "experimental" until we all feel confident. Does this seem reasonable to everyone? |
@molant agreed, we also got prior art from https://addons.mozilla.org/en-US/firefox/addon/compat-report/ to learn from. Would it make sense to extend this issue to general API support (old and new). Interop is probably more impacted by sites using new features vs dependencies on old features. Or is the detection meant to highlight an overlap of both scenarios by finding outdated prefixed spec use? |
The idea is to cover new and old APIs. Users can set |
We are starting with the CSS APIs for this hint, do you prefer to put all the APIs in the same hint and name it something like |
I personally would like to have a single hint to check for deprecated APIs. I think there's going to be quite a lot of duplicated code and the data source is probably going to be always the same. Maybe we can add some type of configuration overtime so the user can decide if they want hints for CSS, JS, etc.? |
Maybe we can use a "multi-hints" hint like |
That's a great idea. It will only have one for now but it allow us to expand. @antross, @alrra, @digitarald, what do you think? |
The multi-hint approach sounds good to me if we're organizing by programming language (CSS, JS, HTML). If we're going this route I'd also encourage a split between deprecated and not broadly supported APIs (some APIs may be both). Personally I tend to care more about getting notified of APIs that aren't supported everywhere (are broken today) than ones that work everywhere, but have been deprecated (may be broken tomorrow). I could easily see wanting errors for the former and warnings for the latter for instance. |
Also when we're running against the filesystem (e.g. with |
I'm working on this branch, https://github.com/CKGrafico/hint/tree/feature/hint-compat-api-css/packages/hint-compat-api if you want to doublecheck the structure before the PR could help me because is my first multihint structure purpose:
|
@CKGrafico the structure looks fine, it follows what we are doing in other multihint packages. Also, we aim to have near 100% coverage in the tests in case you want to add it to your list.
You probably want to take look at change-feedback-based-on-browser-support in the contributor guide first. Anything that isn't clear please open an issue with the Thanks! |
@molant If I'm not wrong we've talked that we will create a specific hint for Flex box, does that mean that we can ignore flexbox here? |
Not exactly. We want to detect when someone is doing something with flexbox that will render incorrectly in some browsers.
You should still detect for flexbox in this rule and we can decide later if we try to detect the quirks in here or a separate one. @antross i think we wanted it in the same hint but aren't 100% sure.
…________________________________
From: Quique Fdez Guerra <notifications@github.com>
Sent: Thursday, October 18, 2018 03:10
To: webhintio/rfcs
Cc: Antón Molleda; Mention
Subject: Re: [webhintio/rfcs] [Hint] Deprecated, removed and/or old versions of APIs (#10)
@molant<https://github.com/molant> If I'm not wrong we've talked that we will create a specific hint for Flex box, does that mean that we can ignore flexbox here?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub<#10 (comment)>, or mute the thread<https://github.com/notifications/unsubscribe-auth/AAlBgkLFDaacXMYwJSt2MNwMmcjXJOyHks5umFOUgaJpZM4WdzsT>.
|
Let’s focus this hint on API support for now and leave quirks for separate, dedicated hints. As @molant said, that still means we should test for flexbox support here, even if we create a separate hint for flexbox quirks. To my knowledge there’s no existing structured data source we can get quirks from in a way that can be generically tested, so we’re going to have to hand-roll these when we want them anyway. May as well keep the code separate since it won’t be related to the MDN data. |
Types like attr() should show up in declaration values. Not sure if that will be true for all of them until we look at more examples, though (some may be at-rule params). |
To do for CSS part of this task: Check this link: webhintio/hint#1443 Some information after investigating about this: From mdn we have this kind of information (mdn-browser-compat-data):
And from CSS Parser (using walk method from PostCSS):
Thats what we have by the moment (we will update this comment in the future). There are some things that we are still investigating and we don't know, some of them are in webhint docs but we are listing to search later:
Diagram of the flow (will be edited meanwhile we work on this) |
We had a problem today, inside some of the "terms" (background, color, clip-path) sometimes we can find more information, like this example: But this information seems "extra" I mean, we cannot dynamically understand it, and its different for each "term". For example: But this seems a lot of extra work and no 100% accurate results. A part of that there is a lot of non-understandable keys like "space_separated_funcional_notation", "floats_in_rgb_rba" that the only way to understand is to have all of them in our side. Purpose: PS: These other values are in the table of this page, easy for a human understand but difficult for us to test https://developer.mozilla.org/en-US/docs/Web/CSS/color#Browser_compatibility |
@CKGrafico Let's move forward ignoring these for now. After we get the rest of this working we can decide if we still want to dig deeper for this PR or if we want to track going deeper on these properties as a separate enhancement. That said, I wouldn't mind poking around these values a bit more myself. Is there an easy way for me to take a look? |
@antross yes! luckily all the values are in this npm package https://github.com/mdn/browser-compat-data if you install it you can find in:
or just in github code https://github.com/mdn/browser-compat-data/blob/master/css/properties/color.json |
@antross @molant compat-report talks about the problem of how to deal with sub-features (transform/translate transform/rotate). compat-report identifies the sub-features in the CSS block by hard-coding the features in and looking for them in the mdn-compat-data. Example.. The problem is that this is not dynamic and if the mdn data changes we won't have the updated data. Any ideas on what would be the preferred way to do this? |
I’m thinking we may want to try updating the MDN data itself here. That way we avoid creating our own hard-coded table on the side and potentially help other tools consume this data more easily in the future. Specifically I think adding a regular expression to the data for matching values which signal the use of a particular sub-feature would do the trick. I’m not sure who the right contact would be to start this conversation, but maybe @digitarald knows. |
Ref webhintio/rfcs#10. Use MDN APIs to report potential CSS compatibility issues in target browsers.
Ref webhintio/rfcs#10 Use MDN APIs to report potential HTML compatibility issues in target browsers.
Original reported by @alrra in webhintio/hint#30
@molant
@alrra
@dstorey
@dstorey
@alrra
@dstorey
@antross
@dstorey
@antross
@dstorey
@digitarald
@patrickkettner
@digitarald
The text was updated successfully, but these errors were encountered: