Well, the exception is occurring in the
traverseFeatures() method in the macro, while it goes through gathering up cumulative compatibility based on all of a feature’s subfeatures.
Since it’s happening while looking at the value of
version_added of an object that’s
undefined, that implies that the error is either happening in line 480 (when looking at the feature whose subfeatures are currently being gathered to get its
version_added) or in line 481 (looking at the subfeature’s
That means that either the feature being iterated over has no
"support" property (which is impossible because we couldn’t have gotten here otherwise, since we used that property to get the list of browser names to iterate over) or the subfeature has no
"support" property with the same browser name as the feature.
That’s what I think is wrong here. There’s someplace in this file where one of the subfeatures is missing at least one entry for one of the browsers supported by its parent feature. Might be a typo, might be outright missing.
So, the JSON needs to be updated. But the macro should also be updated to cope better with this situation should it arise again.