-
-
Notifications
You must be signed in to change notification settings - Fork 158
Respect older versions in invert equals map #180
Conversation
Did a quick check, plugins look 👍. Didn't do an exhaustive check on built-ins but they generally look correct as well. |
debug output tests fail, just need to modify |
Some are wrong because of compat-table/compat-table#1039 |
"node": 7, | ||
"opera": 41 | ||
}, | ||
"es7.object.get-own-property-descriptors": { | ||
"chrome": 54, | ||
"edge": 15, | ||
"firefox": 50, | ||
"safari": 10, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is because of this matches both tests in compat-table and only one is true in sf10.
This happens because of this logic: https://github.com/babel/babel-preset-env/blob/master/scripts/build-data.js#L89
I think this is okay, as in sf10 it seems to be not implemented completely, but not sure what the intention was here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm if it's a top level thing it's supposed to match on both
like in "es6.array.iterator"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That what it is doing (now)? and only on of the features is available on sf10
Ok I fixed the node4 issue locally to generate the correct data. And also checked all additions and changes, and they all seem correct. I also tried #86 but it did not give the same results, not even for the case described in the initial description of this ticket, so I didn't look further into it. But this will fix #45 and fix #68 |
Okay I fixed the last issues, now also correctly handles ios8. I feel confident I'm done now. :) |
This is what the reversemap looks like now: { safari3: [ 'phantom', 'ios6', 'ios7', 'ios8', 'ios9', 'ios10' ],
safari4: [ 'phantom', 'ios6', 'ios7', 'ios8', 'ios9', 'ios10' ],
safari5: [ 'phantom', 'ios6', 'ios7', 'ios8', 'ios9', 'ios10' ],
safari6: [ 'phantom', 'ios7', 'ios8', 'ios9', 'ios10' ],
chrome1: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome2: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome3: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome4: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome5: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome6: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome7: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome8: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome9: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome10: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome11: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome12: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome13: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome14: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome15: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome16: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome17: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome18: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome19: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome20: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome21: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome22: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome23: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome24: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome25: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome26: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome27: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome28: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome29: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome30: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android44', 'android50', 'android51' ],
chrome31: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android50', 'android51' ],
chrome32: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android50', 'android51' ],
chrome33: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android50', 'android51' ],
chrome34: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android50', 'android51' ],
chrome35: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android50', 'android51' ],
chrome36: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android50', 'android51' ],
chrome37: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android50', 'android51' ],
chrome38: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android51' ],
chrome39: [ 'node4', 'node6', 'node65', 'node7', 'node76', 'android51' ],
chrome40: [ 'node4', 'node6', 'node65', 'node7', 'node76' ],
chrome41: [ 'node4', 'node6', 'node65', 'node7', 'node76' ],
chrome42: [ 'node4', 'node6', 'node65', 'node7', 'node76' ],
chrome43: [ 'node4', 'node6', 'node65', 'node7', 'node76' ],
chrome44: [ 'node4', 'node6', 'node65', 'node7', 'node76' ],
chrome45: [ 'node4', 'node6', 'node65', 'node7', 'node76' ],
chrome46: [ 'node6', 'node65', 'node7', 'node76' ],
chrome47: [ 'node6', 'node65', 'node7', 'node76' ],
chrome48: [ 'node6', 'node65', 'node7', 'node76' ],
chrome49: [ 'node6', 'node65', 'node7', 'node76' ],
chrome50: [ 'node6', 'node65', 'node7', 'node76' ],
chrome51: [ 'node65', 'node7', 'node76' ],
chrome52: [ 'node7', 'node76' ],
chrome53: [ 'node7', 'node76' ],
chrome54: [ 'node7', 'node76' ],
chrome55: [ 'node76' ],
safari7: [ 'ios7', 'ios8', 'ios9', 'ios10' ],
safari8: [ 'ios8', 'ios9', 'ios10' ],
safari9: [ 'ios9', 'ios10' ],
safari10: [ 'ios10' ] } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yesss
This fixes issues, that some data from compat-table was not correctly imported.
The main issue is that compat-table sets an equals for
node7
node7 equals chrome54
because node7 uses v8 5.4but the features might be already available since an earlier version of v8
For example exponentiation operator is available since v8 5.2 (in compat-table
chrome52
)Though without this patch we don't have an entry in the inverse-equals-map, we only have chrom54->node7.
This corrects the behaviour and adds all older versions of an env also to the map.
Fixes #45
Fixes #86