d368fa2fa4
The custom elements spec is not compatible with ES5 style classes. This means ES2015 code compiled to ES5 will not work with a native implementation of Custom Elements. To support browsers that natively support Custom Elements but not ES2015 modules, we load `@webcomponents/custom-elements/src/native-shim.js`, which minimally augments the native implementation to be compatible with ES5 code. (See [here][1] for more details.) Previously, the shim was included in `polyfills.ts`, which meant it was loaded in all browsers (even those supporting ES2015 modules and thus not needing the shim). This commit moves the shim from `polyfills.ts` to a `nomodule` script tag in `index.html`. This will ensure that it is only loaded in browsers that do not support ES2015 modules and thus do not needed the shim. NOTE: This commit also reduces size of the polyfills bundle by ~400B (52609B --> 52215B). [1]: https://www.npmjs.com/package/@webcomponents/custom-elements#es5-vs-es2015 PR Close #41162