Reorganized polyfills

This commit is contained in:
Rainer Simon 2021-07-04 21:48:47 +02:00
parent ed436ec8ec
commit d1c6d0441b
3 changed files with 54 additions and 0 deletions

32
package-lock.json generated
View File

@ -9,6 +9,7 @@
"version": "1.3.1",
"license": "BSD-3-Clause",
"dependencies": {
"@babel/polyfill": "^7.10.4",
"downshift": "^6.1.3",
"fast-deep-equal": "^3.1.3",
"node-polyglot": "^2.4.0",
@ -1158,6 +1159,16 @@
"@babel/core": "^7.0.0-0"
}
},
"node_modules/@babel/polyfill": {
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
"integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
"deprecated": "🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.",
"dependencies": {
"core-js": "^2.6.5",
"regenerator-runtime": "^0.13.4"
}
},
"node_modules/@babel/preset-env": {
"version": "7.14.4",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.4.tgz",
@ -1759,6 +1770,13 @@
"safe-buffer": "~5.1.1"
}
},
"node_modules/core-js": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
"deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.",
"hasInstallScript": true
},
"node_modules/core-js-compat": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.14.0.tgz",
@ -4510,6 +4528,15 @@
"@babel/helper-plugin-utils": "^7.12.13"
}
},
"@babel/polyfill": {
"version": "7.12.1",
"resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz",
"integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==",
"requires": {
"core-js": "^2.6.5",
"regenerator-runtime": "^0.13.4"
}
},
"@babel/preset-env": {
"version": "7.14.4",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.4.tgz",
@ -5025,6 +5052,11 @@
"safe-buffer": "~5.1.1"
}
},
"core-js": {
"version": "2.6.12",
"resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz",
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
},
"core-js-compat": {
"version": "3.14.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.14.0.tgz",

View File

@ -28,6 +28,7 @@
"mocha": "^7.1.1"
},
"dependencies": {
"@babel/polyfill": "^7.10.4",
"downshift": "^6.1.3",
"fast-deep-equal": "^3.1.3",
"node-polyglot": "^2.4.0",

21
src/polyfills/index.js Normal file
View File

@ -0,0 +1,21 @@
import '@babel/polyfill';
/**
* Adds DOM polyfills that babel polyfill doesn't include
*/
if (!Element.prototype.matches) {
Element.prototype.matches = Element.prototype.msMatchesSelector ||
Element.prototype.webkitMatchesSelector;
}
if (!Element.prototype.closest) {
Element.prototype.closest = function(s) {
let el = this;
do {
if (Element.prototype.matches.call(el, s)) return el;
el = el.parentElement || el.parentNode;
} while (el !== null && el.nodeType === 1);
return null;
};
}