Skip to content

Commit 367fc02

Browse files
authored
fix: case-insensitive match for lowercase browser globals (#649) (#681)
- lowercase globals like "crypto" match MDN interface name like "Crypto" - added e2e test for crypto.randomUUID() on Chrome 52 and Safari 14
1 parent dc68830 commit 367fc02

2 files changed

Lines changed: 11 additions & 1 deletion

File tree

src/helpers.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ export function lintMemberExpression(
202202
const propertyName = node.property.name;
203203
const failingRule = rules.find(
204204
(rule) =>
205-
rule.object === objectName &&
205+
rule.object.toLowerCase() === objectName.toLowerCase() &&
206206
(rule.property == null || rule.property === propertyName)
207207
);
208208
if (failingRule)

test/e2e.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -720,5 +720,15 @@ ruleTester.run("compat", rule, {
720720
},
721721
],
722722
},
723+
{
724+
code: "crypto.randomUUID()",
725+
settings: { browsers: ["chrome 52", "safari 14"] },
726+
errors: [
727+
{
728+
message: "Crypto.randomUUID() is not supported in Safari 14, Chrome 52",
729+
type: "MemberExpression",
730+
},
731+
],
732+
},
723733
],
724734
});

0 commit comments

Comments
 (0)