From 902512ea31790e670e21cd8c25aa877239fb6bd5 Mon Sep 17 00:00:00 2001 From: tuanaiseo Date: Wed, 8 Apr 2026 06:25:17 +0700 Subject: [PATCH] refactor: locale-sensitive lowercasing can break module dete The rule checks `require()`/`import` source names using `pragma.toLocaleLowerCase()`. Locale-sensitive casing can produce incorrect results in some locales (for example Turkish casing), causing false negatives/positives when resolving React pragma imports. Affected files: isDestructuredFromPragmaImport.js Signed-off-by: tuanaiseo <221258316+tuanaiseo@users.noreply.github.com> --- lib/util/isDestructuredFromPragmaImport.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/util/isDestructuredFromPragmaImport.js b/lib/util/isDestructuredFromPragmaImport.js index 122fb545af..d87e3eca26 100644 --- a/lib/util/isDestructuredFromPragmaImport.js +++ b/lib/util/isDestructuredFromPragmaImport.js @@ -58,7 +58,7 @@ module.exports = function isDestructuredFromPragmaImport(context, node, variable && requireExpression.callee && requireExpression.callee.name === 'require' && requireExpression.arguments[0] - && requireExpression.arguments[0].value === pragma.toLocaleLowerCase() + && requireExpression.arguments[0].value === pragma.toLowerCase() ) { return true; } @@ -70,7 +70,7 @@ module.exports = function isDestructuredFromPragmaImport(context, node, variable if ( latestDef.parent && latestDef.parent.type === 'ImportDeclaration' - && latestDef.parent.source.value === pragma.toLocaleLowerCase() + && latestDef.parent.source.value === pragma.toLowerCase() ) { return true; }