about summary refs log tree commit diff
path: root/app/javascript/themes/glitch/util/load_polyfills.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/javascript/themes/glitch/util/load_polyfills.js')
-rw-r--r--app/javascript/themes/glitch/util/load_polyfills.js39
1 files changed, 0 insertions, 39 deletions
diff --git a/app/javascript/themes/glitch/util/load_polyfills.js b/app/javascript/themes/glitch/util/load_polyfills.js
deleted file mode 100644
index 8927b7358..000000000
--- a/app/javascript/themes/glitch/util/load_polyfills.js
+++ /dev/null
@@ -1,39 +0,0 @@
-// Convenience function to load polyfills and return a promise when it's done.
-// If there are no polyfills, then this is just Promise.resolve() which means
-// it will execute in the same tick of the event loop (i.e. near-instant).
-
-function importBasePolyfills() {
-  return import(/* webpackChunkName: "base_polyfills" */ './base_polyfills');
-}
-
-function importExtraPolyfills() {
-  return import(/* webpackChunkName: "extra_polyfills" */ './extra_polyfills');
-}
-
-function loadPolyfills() {
-  const needsBasePolyfills = !(
-    window.Intl &&
-    Object.assign &&
-    Number.isNaN &&
-    window.Symbol &&
-    Array.prototype.includes
-  );
-
-  // Latest version of Firefox and Safari do not have IntersectionObserver.
-  // Edge does not have requestIdleCallback and object-fit CSS property.
-  // This avoids shipping them all the polyfills.
-  const needsExtraPolyfills = !(
-    window.IntersectionObserver &&
-    window.IntersectionObserverEntry &&
-    'isIntersecting' in IntersectionObserverEntry.prototype &&
-    window.requestIdleCallback &&
-    'object-fit' in (new Image()).style
-  );
-
-  return Promise.all([
-    needsBasePolyfills && importBasePolyfills(),
-    needsExtraPolyfills && importExtraPolyfills(),
-  ]);
-}
-
-export default loadPolyfills;