docs/legacy-webview-analysis.md
<110 via a UA check in src/index.html. That avoids runtime crashes but is brittle because UA formats change and the guard hides the app even when the missing capability is just a polyfillable API.Promise, Intl, module support) loaded before Angular boots would let borderline engines attempt to start while still presenting an upgrade banner when an essential feature is absent.target: "ES2022" and module: "preserve" at the workspace level, which means new builds assume modern syntax by default.1<script type="module"> output we ship today.3Promise.allSettled, Intl, Clipboard). Maintenance costs and bundle size would increase for all users.This path keeps the mainline app focused on the officially supported Baseline browsers while still offering reasonable options to users with stuck WebViews.
Angular CLI workspace template sets target: "ES2022" and module: "preserve" by default, underscoring the modern baseline. Source: angular/angular-cli, packages/schematics/angular/workspace/files/tsconfig.json.template. ↩
Angular CLI changelog entry: “Differential loading support has been removed … there are now no browsers officially supported by Angular that require ES5 code.” Source: angular/angular-cli, CHANGELOG.md. ↩
MDN browser-compat data lists Chrome/Chrome Android 61 as the first releases supporting <script type="module">. Source: mdn/browser-compat-data, html/elements/script.json. ↩
Android 5.0 release notes introduced a Google Play–updatable WebView layer. Source: Android Developers—Android 5.0 behavior changes. ↩