From 950ab4cba9cc05b5446aaf889568cfc270d2139c Mon Sep 17 00:00:00 2001 From: Martin Fischer Date: Fri, 10 Dec 2021 10:36:00 +0100 Subject: split lib from non-lib features --- build.py | 26 ++++++++++++++++- script.js | 97 +++++++++++++++++++++++++++++++++++++++------------------------ 2 files changed, 85 insertions(+), 38 deletions(-) diff --git a/build.py b/build.py index 16ba007..928f3b3 100755 --- a/build.py +++ b/build.py @@ -62,10 +62,26 @@ def get_features(dirname): features[key] = data - return dict( + features = dict( sorted(features.items(), key=lambda t: t[1]['title'].replace('`', '').lower()) ) + lib_features = {} + non_lib_features = {} + + for key, data in features.items(): + if ('flag' in data and data['flag'] in library_flags) or 'impl for' in data[ + 'title' + ]: + lib_features[key] = data + else: + non_lib_features[key] = data + + return dict(lib_features=lib_features, non_lib_features=non_lib_features) + + +with open('lib_feats.txt') as f: + library_flags = set([l.strip() for l in f]) with open('caniuse.rs/data/versions.toml') as f: versions = toml.load(f) @@ -91,6 +107,14 @@ with open('target/data.json', 'w') as f: def write_features(f, id, features): + if features['non_lib_features']: + write_feature_list(f, id + '-non-lib', features['non_lib_features']) + if features['lib_features']: + f.write('

library

'.format(id + '-lib')) + write_feature_list(f, id + '-lib', features['lib_features']) + + +def write_feature_list(f, id, features): f.write('