## Summary
Should MediaWiki and our shared UI component library continue to support IE11 (and ES5)?
## Considerations
#### Why does this matter?
Shared library code will live outside of MediaWiki, meaning it will be easier to use certain build tools to automatically transpile code back to ES5. We won't need to write shared component code in ES5. Regardless of transpilation tools, Vue 3 cannot support IE 11 due to its use of [[ https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy | Proxy objects ]]. Continuing to support IE 11 would require staying on Vue 2, and not upgrading t to Vue 3.
MediaWiki provides a version of Vue (currently 2.6.11) in the `vue` ResourceLoader module, which is used by (almost) all code that uses Vue in MediaWiki or its skins and extensions. If this version of Vue is upgraded to Vue 3, we will not be able to support IE 11 for any Vue features in MediaWiki, even if the migration build of Vue 3 is used and even if those features are written using Vue 2-compatible code. Continuing to support IE 11 would require the MediaWiki-provided version of Vue to stay on Vue 2, which would mean nothing in MediaWiki or its extensions/skins could upgrade to Vue 3.
#### Compatibility policy and IE statistics
The WMF has updated its [[ https://www.mediawiki.org/wiki/Compatibility/IE11 | compatibility policy ]] to state that new products don't need to support IE11. Any ResourceLoader modules with the `es6: true` property simply won't be delivered to legacy browsers at all.
IE11 support has significantly tapered off since early 2020 – as of July 2021 we're down to a [[ https://analytics.wikimedia.org/dashboards/browsers/#all-sites-by-browser/browser-family-timeseries | daily average of 0.7% across all sites ]] (desktop and mobile). For desktop traffic alone, the share is only slightly higher at 1.8%.
#### Existing projects
There are several existing Vue.js projects that already support IE11 (WMDE features, Commons MediaSearch, etc). What should happen to these features?
#### Relevant Links
- T285045 Consider dropping IE support in WiKit
---
## Decisions
#### 1. Will the new shared component library support IE 11, meaning it will need to be built with Vue 2?
**Design Systems Team proposal:** No. See T286948 for further discussion and our proposed path forward.
#### 2. Will MediaWiki support IE 11 for Vue code, meaning its Vue version would need to stay at Vue 2, and Vue 3 could not be used in MediaWiki?
**Design Systems Team proposal:** No. See T286948 for further discussion and our proposed path forward.
#### 3. What happens to existing projects that support IE 11?
**Design Systems Team proposal:** Provide a no-JS fallback experience for IE users. Some projects, e.g. MediaSearch, already include this for no-JS users, it would just need to be extended to users with no ES6 browser support.