dojo / meta

:rocket: Dojo - meta information for the project.
Other
226 stars 50 forks source link

Actively de-support IE9 #40

Closed kitsonk closed 6 years ago

kitsonk commented 8 years ago

Originally, Dojo 2 planned to support IE9. There are several challenges though to continue to support it:

Therefore we should consider actively de-supporting it, meaning we stop testing against it and we try to remove code/feature tests we know are only working around IE9.

kfranqueiro commented 8 years ago

More on classList:

IIRC, we ultimately didn't rely on classList in dojo/dom in order to accommodate using addClass/etc. in SVG elements as well, but according to @jason0x43, IE is the only browser that doesn't seem to support that in that context. Unfortunately this extends even to IE11, and IE11 also doesn't support multi-parameter add and remove or sending a boolean to toggle, so there is still a case for dojo/dom to have addClass/etc. functions that do not rely on classList.

I suppose we could perhaps consider separating them to their own module for the benefit of people who don't need to target browsers that don't support it, but I dunno if the eventual tree-shaking build aspect makes that moot anyway.

FWIW but perhaps irrelevant, I had also thought I originally saw that TS's SVGElement type didn't include classList, but it seems as if now classList is part of Element, which SVGElement extends. (Ref: https://github.com/Microsoft/TypeScript/blob/v1.8.10/lib/lib.dom.d.ts#L2955-L2956)

Meanwhile, one of the first headaches I had with IE9 was the lack of Float32Array for a simple fround shim in core. The "else" part of the ternary in https://github.com/dojo/core/blob/c5f70a6/src/math.ts#L92-L110 exists solely for IE9, so we could remove some code in that area (and the accompanying has test, since this is all it's used for).

kitsonk commented 8 years ago

FWIW but perhaps irrelevant, I had also thought I originally saw that TS's SVGElement type didn't include classList, but it seems as if now classList is part of Element, which SVGElement extends. (Ref: https://github.com/Microsoft/TypeScript/blob/v1.8.10/lib/lib.dom.d.ts#L2955-L2956)

I think they have started adopting the "living standard" when requested for these things, which defines it on Element instead of relying on what came out of ChakraCore. That does mean there are still going to be large holes when dealing with some parts of the DOM across browsers (and ergo the need for a toolkit or library to plaster over the cracks!)

kitsonk commented 8 years ago

Ok, we have had this open long enough. Will resolve this. We will actively desupport IE9 for Dojo 2. I will try to get issues open for the things we need to remove.

kitsonk commented 6 years ago

It was brought up that we might want to re-consider supporting IE9.

dylans commented 6 years ago

Closing this again, we really don't want to add support for IE9/IE10 when other frameworks are actively removing their support for IE9/IE10 in newer releases.