Skip to content

Commit 7e38283

Browse files
committed
Update feature check config/tests for breaking features
1 parent 65bbe15 commit 7e38283

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

packages/react-scripts/layout/views/partials/featureDetection.ejs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
if (Modernizr) {
22
const unsupportedBrowserHeader = document.getElementById('unsupported-browser');
3+
4+
Modernizr.addTest('replaceAll', () => {
5+
return typeof String.prototype.replaceAll === 'function';
6+
});
7+
8+
Modernizr.addTest('privateFields', () => {
9+
try {
10+
class Test {
11+
#privateField = 42;
12+
getPrivateField() {
13+
return this.#privateField;
14+
}
15+
}
16+
17+
const instance = new Test();
18+
return instance.getPrivateField() === 42;
19+
} catch (e) {
20+
return false;
21+
}
22+
});
23+
24+
console.log(Modernizr);
25+
326
const outdatedFeatures = Object.keys(Modernizr).filter(feature => !Modernizr[feature]);
427

528
if (unsupportedBrowserHeader) {

packages/react-scripts/modernizr-config.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
{
22
"minify": true,
3+
"options": [
4+
"addTest"
5+
],
36
"feature-detects": [
47
"test/customevent",
58
"test/dom/intersection-observer",

0 commit comments

Comments
 (0)