Skip to content

Commit f1dd3ad

Browse files
committed
prepare partial & key list
1 parent b9b5ccd commit f1dd3ad

2 files changed

Lines changed: 29 additions & 4 deletions

File tree

_plugins/generated_features.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ def generate_baseline(site)
153153
doc.data['description'] = feature['description']
154154
doc.data['slug'] = feature['slug']
155155
doc.data['category'] = feature['category']
156-
doc.data['keywords'] = 'todo'
156+
doc.data['keywords'] = 'baseline'
157157
doc.data['last_test_date'] = feature['last_test_date']
158158
doc.data['notes'] = data_source
159159
doc.data['links'] = feature['links']

tools/baseline.ts

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { computeBaseline, coreBrowserSet } from "compute-baseline";
1+
import { computeBaseline, coreBrowserSet, getStatus } from "compute-baseline";
22
import { Compat } from 'compute-baseline/browser-compat-data';
33
import { features } from "web-features";
44
import { readFileSync } from 'fs';
@@ -89,8 +89,33 @@ fetch(`http://unpkg.com/@mdn/browser-compat-data@${bcdVersion}/data.json`)
8989
[support]: 'y'
9090
};
9191
} else {
92-
stats[platform][sub] = {
93-
'*': 'n'
92+
// The feature is not fully baseline but some keys might not apply to baseline
93+
// Therefore we check if any features are suported and then assume partial support
94+
// We then show the list on the site for further review
95+
96+
// Use getStatus to check every key
97+
let anySupported = false;
98+
const supportedKeys = [];
99+
const unsupportedKeys = [];
100+
for (const compatKey of feature.compat_features as [string, ...string[]]) {
101+
const status = getStatus(feature.name, compatKey, compat);
102+
if (status.support && status.support["webview_" + sub]) {
103+
anySupported = true;
104+
supportedKeys.push(compatKey);
105+
} else {
106+
unsupportedKeys.push(compatKey);
107+
}
108+
}
109+
if (anySupported) {
110+
stats[platform][sub] = {
111+
"partial": 'y',
112+
"supported_keys": supportedKeys,
113+
"unsupported_keys": unsupportedKeys
114+
};
115+
} else {
116+
stats[platform][sub] = {
117+
"u": 'n'
118+
};
94119
}
95120
}
96121
}

0 commit comments

Comments
 (0)