amilajack / eslint-plugin-compat

Check the browser compatibility of your code
MIT License
3.07k stars 104 forks source link

perf: Use a memoized key lookup for rules #615

Open joshkel opened 5 months ago

joshkel commented 5 months ago

On my project, this makes ESLint as a whole roughly 8% faster, and it seems to result in consistently faster benchmarks.

Note a behavior change - member expressions used to find the first matching rule, while they now favor the more general rule if relevant. (I believe this change is an improvement: "Promise is not supported in IE 10" is a more helpful message than "Promise.reject() is not supported in IE 10".)

joshkel commented 4 months ago

@amilajack, could you rerun the workflow for this branch? I believe the earlier test failures were due to issues that had already been fixed in the main branch.