A polyfill library enabling Blazor Server applications to run on Internet Explorer 11 and Edge Legacy browsers.
Blazor.Polyfill is a library that adds polyfills and runtime fixes to enable Blazor Server applications to function on Internet Explorer 11 and Edge Legacy browsers. It solves the compatibility gap by transpiling modern JavaScript to ES5 and patching unsupported browser APIs, allowing developers to support legacy enterprise environments seamlessly.
Blazor Server developers who need to deploy applications in organizations or environments where Internet Explorer 11 or Edge Legacy are still mandated, such as enterprise or government sectors.
Developers choose Blazor.Polyfill because it provides a straightforward, configurable solution to extend Blazor Server support to legacy browsers without requiring extensive code changes or abandoning modern development practices.
Blazor server-side Polyfills and fixes for Internet Explorer 11 & Edge Legacy
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Dynamically transpiles blazor.server.js to ES5 and applies polyfills, allowing Blazor Server apps to run on IE11 and Edge Legacy without rewriting code, as detailed in the polyfill list and on-the-fly alteration process.
Offers fine-tuning options like ForceES5Fallback and custom HTTP request validation, giving developers control over polyfill behavior based on specific browser or environment conditions.
Extends ES5 conversion to third-party Razor Class Libraries through ES5ConversionScope settings, ensuring compatibility with packaged components like Telerik or MatBlazor for comprehensive legacy support.
Transpiles the latest blazor.server.js on-the-fly using ReactJS.NET and Babel, so updates to Blazor don't break compatibility, avoiding manual patches for new versions.
Enabling JavaScript isolation requires installing BlazorPolyfill.Build, NPM, and configuring webpack, with limitations like case-sensitive paths and no built-in support for Razor Class Libraries, as admitted in the README.
Not all OS/CPU architectures are supported; for instance, ARM32v7 Linux environments need workarounds like using packaged libraries, adding deployment complexity and potential compatibility gaps.
Dynamic transpilation and polyfill loading increase initial load times and runtime overhead, which can impact app responsiveness, especially on slower networks or older hardware.